Skip to content

Commit 2e45c91

Browse files
committed
add browser client support
1 parent 7f9bec4 commit 2e45c91

File tree

1 file changed

+27
-12
lines changed

1 file changed

+27
-12
lines changed

src/temporal_awareness_mcp/server.py

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -172,28 +172,43 @@ async def run_sse(self, host: str = "localhost", port: int = 8000):
172172
sse = SseServerTransport("/messages/")
173173

174174
async def handle_sse(request):
175-
async with sse.connect_sse(
176-
request.scope, request.receive, request._send
177-
) as streams:
178-
await self.server.run(
179-
streams[0], streams[1],
180-
InitializationOptions(
181-
server_name="temporal-awareness-mcp",
182-
server_version="0.1.0",
183-
capabilities=ServerCapabilities(
184-
tools=ToolsCapability()
175+
try:
176+
async with sse.connect_sse(
177+
request.scope, request.receive, request._send
178+
) as streams:
179+
await self.server.run(
180+
streams[0], streams[1],
181+
InitializationOptions(
182+
server_name="temporal-awareness-mcp",
183+
server_version="0.1.0",
184+
capabilities=ServerCapabilities(
185+
tools=ToolsCapability()
186+
),
185187
),
186-
),
187-
)
188+
)
189+
except Exception as e:
190+
import sys
191+
print(f"Error in handle_sse: {e}", file=sys.stderr)
192+
raise
188193
return Response()
189194

195+
from starlette.middleware.cors import CORSMiddleware
196+
190197
app = Starlette(
191198
routes=[
192199
Route("/sse", endpoint=handle_sse, methods=["GET"]),
193200
Mount("/messages/", app=sse.handle_post_message),
194201
],
195202
)
196203

204+
app.add_middleware(
205+
CORSMiddleware,
206+
allow_origins=["*"],
207+
allow_credentials=True,
208+
allow_methods=["*"],
209+
allow_headers=["*"],
210+
)
211+
197212
config = uvicorn.Config(app, host=host, port=port)
198213
server = uvicorn.Server(config)
199214
await server.serve()

0 commit comments

Comments
 (0)