This guide covers all changes required when upgrading Memorizer from version 1.6.x to 1.7.1.
The MCP endpoint has changed from /sse to the root path / to use modern Streamable HTTP transport (MCP spec 2025-03-26+).
Old Configuration (1.6.x):
{
"mcpServers": {
"memorizer": {
"url": "http://localhost:5000/sse"
}
}
}New Configuration (1.7.1):
{
"mcpServers": {
"memorizer": {
"url": "http://localhost:5000"
}
}
}Note: The /sse endpoint still works for backward compatibility but is no longer recommended and may be removed in future versions.
Version 1.7.1 uses stateless mode, which means:
- No session tracking - Each request is independent
- No session IDs - Clients should not send
Mcp-Session-Idheaders - Server restarts don't break connections - No session state to lose
- Multiple server instances work seamlessly - No session affinity required
Impact on Clients:
- If you see "The Mcp-Session-Id header is not supported in stateless mode" errors, remove and re-add the MCP server configuration to force a fresh connection
- Session persistence is no longer available - if you were relying on server-side session state, you'll need to manage state client-side
In stateless mode, McpServer.ClientInfo is always null, meaning:
- Server does not track client name/version across requests
- This should not impact most users, but custom server extensions that relied on
ClientInfowill need updates
You can now configure CORS settings if running Memorizer with custom origins:
{
"Cors": {
"AllowedOrigins": ["https://yourdomain.com"],
"AllowedMethods": ["GET", "POST"],
"AllowedHeaders": ["Content-Type"],
"AllowCredentials": true
}
}Default behavior allows all origins (*) if not configured.
- Locate your MCP client configuration (e.g., Claude Code settings, custom MCP client config)
- Change the URL from
http://localhost:5000/ssetohttp://localhost:5000 - Save the configuration
- Disconnect from the Memorizer MCP server (if currently connected)
- Remove the server from your MCP client configuration
- Re-add the server with the new URL
- Connect - this ensures a fresh stateless connection
Verify the migration worked by running a simple search:
// Using MCP client
await mcpClient.search({
query: "test",
limit: 5
})Expected: Search results return successfully without session errors.
Cause: Old MCP client trying to use session IDs with stateless server
Solution:
- Update to the new endpoint URL (
/instead of/sse) - Remove and re-add the MCP server configuration
- Restart your MCP client to clear any cached session state
Cause: MCP client sending session headers to stateless server
Solution:
- Disconnect from Memorizer
- Remove server configuration completely
- Re-add with new URL
- Reconnect - this forces fresh connection without session headers
Solution: This is now fixed in 1.7.1! Stateless mode eliminates this issue entirely. Just retry the request.
If using Memorizer with Claude Code:
- Open Claude Code Settings (
.claude/config.jsonor Settings UI) - Remove existing Memorizer server:
{ "mcpServers": { // Remove the old memorizer entry } } - Add new Memorizer configuration:
{ "mcpServers": { "memorizer": { "url": "http://localhost:5000" } } } - Restart Claude Code or reload the MCP connection
- Test with a search query in your conversation
If you need to rollback to 1.6.x:
- Downgrade the Memorizer server to version 1.6.x
- Update MCP client URL back to
http://localhost:5000/sse - Restart connections
Note: Data is forward compatible - no database changes needed for rollback.
✅ Improved reliability - No more session expiration issues ✅ Better scalability - Run multiple Memorizer instances without sticky sessions ✅ Cleaner protocol - Modern Streamable HTTP transport (MCP spec 2025-03-26+) ✅ Bug fixes - Resolves server notification issues from SDK v0.4.0-preview.2
- Documentation: https://github.com/petabridge/memorizer-v1
- Issues: https://github.com/petabridge/memorizer-v1/issues
- Release Notes: https://github.com/petabridge/memorizer-v1/releases/tag/1.7.1