Skip to main content
Glama

MCP Memory Service

claude-code-compatibility.md3.81 kB
# Claude Code Compatibility Guide ## Overview The MCP Memory Service FastAPI server v4.0.0-alpha.1 implements the official MCP protocol but has specific compatibility considerations with Claude Code's SSE client implementation. ## Current Status ### ✅ Working MCP Clients - **Standard MCP Libraries**: Python `mcp` package, JavaScript MCP SDK - **Claude Desktop**: Works with proper MCP configuration - **Custom MCP Clients**: Any client implementing standard MCP protocol - **HTTP API**: Full REST API access via port 8080 ### ❌ Claude Code SSE Client Issue **Problem**: Claude Code's SSE client has specific header and protocol requirements that don't match the FastMCP server implementation. **Technical Details**: - FastMCP server requires `Accept: application/json, text/event-stream` headers - Claude Code's SSE client doesn't send the required header combination - Server correctly rejects invalid SSE connections with proper error messages **Error Symptoms**: ```bash claude mcp list # Output: memory: http://10.0.1.30:8000/mcp (SSE) - ✗ Failed to connect ``` ## Workarounds for Claude Code Users ### Option 1: Use HTTP Dashboard ```bash # Access memory service via web interface open http://memory.local:8080/ # Use API endpoints directly curl -X POST http://memory.local:8080/api/memories \ -H "Content-Type: application/json" \ -d '{"content": "My memory", "tags": ["important"]}' ``` ### Option 2: Use Claude Commands (Recommended) ```bash # Install Claude Code commands (bypass MCP entirely) python install.py --install-claude-commands # Use conversational memory commands claude /memory-store "Important information" claude /memory-recall "what did we discuss?" claude /memory-search --tags "project,architecture" ``` ### Option 3: Use Alternative MCP Client ```python # Python example with standard MCP client import asyncio from mcp import ClientSession from mcp.client.stdio import stdio_client async def test_memory(): # This works with standard MCP protocol # Implementation details for your specific needs pass ``` ## Technical Investigation Results ### Server Verification ✅ ```bash # Server correctly implements MCP protocol curl -H "Accept: text/event-stream, application/json" \ -H "Content-Type: application/json" \ -X POST http://memory.local:8000/mcp \ -d '{"jsonrpc":"2.0","id":"test","method":"tools/list","params":{}}' # Result: 200 OK, SSE stream established ``` ### Claude Code Client Issue ❌ ```bash # Claude Code client fails header negotiation # Missing required Accept header combination # Connection rejected with 406 Not Acceptable ``` ## Development Roadmap ### Short Term (Next Release) - [ ] Investigate Claude Code's exact SSE client requirements - [ ] Consider server-side compatibility layer - [ ] Expand client compatibility testing ### Medium Term - [ ] Custom SSE implementation for Claude Code compatibility - [ ] Alternative transport protocols (WebSocket, HTTP long-polling) - [ ] Client library development ### Long Term - [ ] Collaborate with Claude Code team on SSE standardization - [ ] MCP protocol enhancement proposals - [ ] Universal client compatibility layer ## Conclusion The FastAPI MCP migration successfully achieved its primary goals: - ✅ SSL connectivity issues resolved - ✅ Standard MCP protocol compliance - ✅ Production-ready architecture The Claude Code compatibility issue is a client-specific limitation that doesn't impact the core migration success. Users have multiple viable workarounds available. ## Support - **HTTP Dashboard**: http://memory.local:8080/ - **Documentation**: See `DUAL_SERVICE_DEPLOYMENT.md` - **Issues**: Report at https://github.com/doobidoo/mcp-memory-service/issues - **Claude Commands**: See `docs/guides/claude-code-quickstart.md`

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/doobidoo/mcp-memory-service'

If you have feedback or need assistance with the MCP directory API, please join our Discord server