curl --request GET \
--url https://api.example.com/sse \
--header 'Authorization: Bearer <token>'Connect to MCP server via Server-Sent Events
curl --request GET \
--url https://api.example.com/sse \
--header 'Authorization: Bearer <token>'GET /sse
| Header | Value | Required |
|---|---|---|
Accept | text/event-stream | Yes |
event: message
data: {"jsonrpc": "2.0", "method": "initialized", "params": {}}
event: message
data: {"jsonrpc": "2.0", "result": {"tools": [...]}, "id": 1}
event: message
data: <JSON-RPC 2.0 message>
curl -N http://localhost:8080/sse \
-H "Accept: text/event-stream"
import requests
response = requests.get(
"http://localhost:8080/sse",
headers={"Accept": "text/event-stream"},
stream=True
)
for line in response.iter_lines():
if line:
print(line.decode())
const eventSource = new EventSource("http://localhost:8080/sse");
eventSource.onmessage = (event) => {
const data = JSON.parse(event.data);
console.log("Received:", data);
};
eventSource.onerror = (error) => {
console.error("SSE Error:", error);
};
from praisonaiagents.mcp import ToolsMCPServer
def search(query: str) -> str:
"""Search for information."""
return f"Results for: {query}"
server = ToolsMCPServer(name="my-tools")
server.register_tool(search)
server.run_sse(host="0.0.0.0", port=8080)