Connecting Your MCP Server
MCPRadar supports all three MCP transport types. This guide walks you through connecting each one.
MCPRadar v1 · Last updated March 2026
Understanding MCP Transports
MCP servers communicate with clients using one of three transport mechanisms. The transport determines how data flows between MCPRadar and your server.
Choosing the wrong transport is the most common reason connections fail — so identifying yours correctly is the first step.
stdio
Local onlyYour server runs as a local process. Communication happens via standard input/output pipes.
// Your server code ends with: const transport = new StdioServerTransport() await server.connect(transport)
SSE
HTTP · LegacyServer-Sent Events. Your server runs an HTTP server that streams events to clients. This was the original MCP HTTP transport — now superseded by Streamable HTTP but still widely used.
// Your server code ends with: const transport = new SSEServerTransport( '/sse', response ) await server.connect(transport)
Streamable HTTP
RecommendedThe modern MCP transport. A single HTTP endpoint handles all communication. Supports sessions via the mcp-session-id header. This is the recommended transport for all new MCP servers.
// Your server listens on an HTTP port:
app.post('/mcp', handleMcpRequest)
app.listen(3001)Streamable HTTP
The recommended transport for modern MCP servers
Start your server
Run your MCP server locally or deploy it to a hosting provider. Your server should be listening on an HTTP port.
# Start your server node server.js # → MCP server running on http://localhost:3001
Get your server URL
Your MCP endpoint URL is the base URL of your server plus the path where MCP requests are handled. This is usually /mcp.
# Local development: http://localhost:3001/mcp # Production: https://your-server.railway.app/mcp
Connect in MCPRadar
In MCPRadar's connection panel:
- Paste your server URL
- Select HTTP transport (or leave on AUTO)
- Click Connect
Verify connection
If connected successfully:
- Tool list appears in the left panel
- Status shows ● Online
- Security scan runs automatically
If connection fails — see Troubleshooting below.
⚠️ Important: If your server uses sessions, make sure it returns the mcp-session-id header on all responses. MCPRadar's security scanner will flag this if it's missing. See the P3 check in our scoring docs.
SSE (Server-Sent Events)
Legacy transport — still widely supported
Start your server
# Start your SSE server node server.js # → SSE server running on http://localhost:3001
Identify your SSE endpoint
SSE servers typically expose two endpoints:
GET /sse— the event stream endpointPOST /messages— where clients send requests
Your connection URL should be the base URL, not the /sse path directly.
# Connect using base URL: http://localhost:3001 # NOT: http://localhost:3001/sse ← don't do this
Connect in MCPRadar
In MCPRadar's connection panel:
- Paste your base server URL
- Select SSE transport explicitly (AUTO may not detect SSE correctly on all servers)
- Click Connect
⚠️ Common mistake: SSE servers are often confused with Streamable HTTP because both use HTTP. The key difference: SSE uses GET for the event stream, Streamable HTTP uses POST for everything. If AUTO mode fails, try selecting SSE explicitly.
stdio
For locally running servers and Claude Desktop configurations
Find your server command
stdio servers are launched with a shell command. This is the same command you'd put in your Claude Desktop config.
# Examples of stdio server commands: # Node.js server: node /path/to/your/server.js # npm package: npx @modelcontextprotocol/server-filesystem # Python server: python /path/to/server.py # With uv: uvx mcp-server-git
Connect in MCPRadar
In MCPRadar's connection panel:
- Select stdio transport
- Enter the full command to run your server
- Add any environment variables your server needs (API keys etc.)
- Click Connect
The connection will launch your server locally and communicate via stdin/stdout.
Environment variables
Most stdio servers need API keys or config via environment variables. Add them in the ENV section of the connection panel.
# Example env vars for common servers: # GitHub MCP server: GITHUB_TOKEN=ghp_xxxxxxxxxxxx # Filesystem server: # No env vars needed — pass paths as args # Custom server: DATABASE_URL=postgresql://... API_KEY=sk-...
🔒 Security note: Environment variables you enter in MCPRadar are only used for that session and are never stored or sent anywhere outside your local machine. For production use, set env vars in your deployment environment directly.
Troubleshooting Connection Issues
Still stuck?
MCP Discord
The official MCP community Discord has 11,000+ members. Search for your error or ask in #help.
Join Discord →Open a GitHub Issue
Found a bug in MCPRadar or something that should work but doesn't? Open an issue and we'll look into it.
Open Issue →MCP Official Docs
The official Model Context Protocol documentation covers the full spec, SDK references, and architecture.
Read Docs →