# POST handler: for sending requests
async def post_handler(scope, receive, send):
    await sse.handle_post_message(scope, receive, send)

starlette_app = Starlette(routes=[
    Route("/sse", sse_handler),
    Route("/messages", post_handler, methods=["POST"])
])
```

Here is the equivalent server using Streamable HTTP:

```python
from mcp.server import Server
from mcp.server.streamable_http_manager import StreamableHTTPSessionManager
from starlette.applications import Starlette
from starlette.routing import Mount
from starlette.types import Scope, Receive, Send

app = Server("bank-transfer")
session_manager = StreamableHTTPSessionManager(app=app)

@app.tool("initiateTransfer", args={"amount": int, "recipient": str})
async def initiate_transfer(amount: int, recipient: str, context):
    return {
        "status": "transferred",
        "recipient": recipient,
        "amount": amount
    }