github doobidoo/mcp-memory-service v8.38.1
v8.38.1 - HTTP MCP JSON-RPC 2.0 Compliance Hotfix

latest releases: v10.40.1, v10.40.0, v10.39.1...
4 months ago

🔧 Critical Hotfix

Fixed HTTP MCP transport JSON-RPC 2.0 specification violation that prevented Claude Code/Desktop from communicating via HTTP MCP protocol.

🐛 Bug Fix

HTTP MCP Transport: JSON-RPC 2.0 Compliance (PR #249, fixes #236)

Problem

FastAPI ignored Pydantic's ConfigDict(exclude_none=True) when directly returning models, causing responses to include null fields:

  • Success responses: "error": null
  • Error responses: "result": null

This violated JSON-RPC 2.0 spec and caused Claude Code/Desktop to reject all HTTP MCP communications.

Solution

Wrapped all MCPResponse returns in JSONResponse with explicit .model_dump(exclude_none=True) serialization.

Verification

✅ Success responses now contain ONLY: jsonrpc, id, result
✅ Error responses now contain ONLY: jsonrpc, id, error

Testing

Validated with curl commands against all 5 MCP endpoint response paths on live server.

👏 Credits

@timkjr (Tim Knauff) for identifying the root cause and implementing the proper fix.

📦 Installation

# PyPI (recommended)
pip install --upgrade mcp-memory-service

# Docker
docker pull ghcr.io/doobidoo/mcp-memory-service:8.38.1
docker pull ghcr.io/doobidoo/mcp-memory-service:latest

# uvx (one-liner)
uvx mcp-memory-service

🔗 Related Issues


Full Changelog: v8.38.0...v8.38.1

Don't miss a new mcp-memory-service release

NewReleases is sending notifications on new releases.