@modelcontextprotocol/sdk to provide MCP client communication. This ensures full protocol compliance and works with all MCP clients including VS Code, Claude, and MCP Inspector.
Transport Overview
| Protocol | Endpoint | Method | Use Case | Implementation |
|---|---|---|---|---|
| Streamable HTTP | /mcp | POST | Standard JSON-RPC communication | Official MCP SDK |
| SSE Streaming | /mcp | GET | Server-sent events for real-time updates | Official MCP SDK |
| Session Management | /mcp | DELETE | Session termination | Official MCP SDK |
MCP SDK Implementation
Satellite leverages the official MCP TypeScript SDK for all transport operations:Session Management
The SDK provides automatic session management with:- Session ID: Cryptographically secure identifiers
- Timeout: Configurable session timeouts
- Activity Tracking: Automatic session activity updates
- Cleanup: Built-in session cleanup and resource management
Streamable HTTP Transport
GET Endpoint
Endpoint:GET /mcp
Headers:
Accept: text/event-stream(required for SSE stream)Mcp-Session-Id: {sessionId}(optional)
POST Endpoint
Endpoint:POST /mcp
Headers:
Content-Type: application/json(required)Accept: application/json(default) ortext/event-stream(streaming)Mcp-Session-Id: {sessionId}(optional)
- Standard JSON: Direct JSON-RPC response
- SSE Streaming: Response sent via Server-Sent Events
Supported MCP Methods
Core Protocol
initialize- Initialize MCP sessionnotifications/initialized- Client initialization complete
Tools
tools/list- List available tools from remote MCP serverstools/call- Execute tools on remote MCP servers
Resources
resources/list- List available resources (returns empty array)resources/templates/list- List resource templates (returns empty array)
Prompts
prompts/list- List available prompts (returns empty array)
OAuth Token Injection for HTTP/SSE Transports
When MCP servers require OAuth authentication (Notion, Box, Linear), the satellite automatically injects user OAuth tokens into HTTP requests.How It Works
- Configuration indicates OAuth: Server config includes
requires_oauth: true - Token retrieval: Satellite requests user’s tokens from backend
- Header injection: Tokens added to
Authorizationheader - Request forwarding: Full request sent to MCP server with credentials
Header Merging Priority
When building HTTP requests to OAuth MCP servers, headers are merged in this order:- Base headers (Content-Type, User-Agent, MCP-Protocol-Version)
- Server configuration headers (from
config.headers) - OAuth Authorization header (from backend token retrieval)
Example Header Merge
Team configuration:Error Handling
JSON-RPC Errors
HTTP Errors
Common Error Codes
-32600- Invalid Request-32601- Method not found-32603- Internal error-32001- Session not found (custom)
Client Integration
MCP Client Configuration
Standard Configuration:Development Setup
Local Testing
-
Start Satellite:
-
Test MCP Connection:
Protocol Features
The official MCP SDK provides:- Automatic Session Management: Sessions created and managed transparently
- Standard Protocol Compliance: Full MCP specification 2025-03-26 support
- Flexible Transport Options: JSON and SSE streaming responses
- Built-in Error Handling: Standard JSON-RPC error responses
Security Considerations
- No Authentication: Current implementation has no security layer
- Session Isolation: Sessions are isolated by cryptographic session IDs
- Resource Limits: 30-minute session timeout prevents resource exhaustion
- CORS Support: Cross-origin requests supported via preflight handling
Logging and Monitoring
All transport protocols generate structured logs with:- Operation tracking
- Session management events
- Error conditions
- Performance metrics

