Summary
I'm trying to connect Claude's MCP (Model Context Protocol) client to Xano's MCP server, but the connection fails immediately after starting. The logs show that the SSE endpoint is returning HTML content instead of the expected Server-Sent Events stream.
Configuration
I've configured Claude's claude_desktop_config.json with the Xano MCP server:
{
"mcpServers": {
"xano": {
"command": "/path/to/mcp-remote",
"args": [
"https://xr0a-7rd9-w938.n7d.xano.io/x2/mcp/meta/mcp/sse",
"--header",
"Authorization: Bearer ${AUTH_TOKEN}"
],
"env": {
"AUTH_TOKEN": "[my-auth-token]"
}
}
}
}What I've Tried
Installed mcp-remote globally:
npm install -g mcp-remoteUpdated configuration to use direct path to mcp-remote binary
Verified the endpoint is accessible using curl - it returns HTTP 200 OK
Checked Claude logs which revealed the root cause
The Problem
When testing the SSE endpoint directly:
curl -D - "https://xr0a-7rd9-w938.n7d.xano.io/x2/mcp/meta/mcp/sse" \
-H "Authorization: Bearer [token]"The response headers show:
HTTP/2 200
content-type: text/htmlHowever, for Server-Sent Events (SSE) to work properly, the endpoint should return:
content-type: text/event-streamError Messages from Claude Logs
- "SSE error: Invalid content type, expected 'text/event-stream'"
- "Error POSTing to endpoint (HTTP 405): 405 Not Allowed"
- "Server transport closed unexpectedly"
- "MCP error -32001: Request timed out"The MCP client expects an SSE stream but receives an HTML page instead, causing the connection to fail.
Questions
Is the
/x2/mcp/meta/mcp/sseendpoint the correct URL for MCP connections?Should this endpoint be returning
content-type: text/event-streamfor SSE connections?Are there additional headers or authentication requirements needed for the MCP server?
Is the Xano MCP server implementation fully deployed and ready for use?
Thanks for the help Xano team 🫶
My Environment Details
Claude Desktop with MCP support
mcp-remote version: 0.1.16
Node.js: v22.16.0
OS: macOS