Thomas Payet 3b18cddf57 fix: implement proper MCP SSE transport and JSON-RPC compliance
- Fixed SSE handler to send proper 'endpoint' event as per MCP spec
- Added CORS headers for browser-based MCP clients
- Fixed camelCase serialization for JSON-RPC compatibility
- Added session management support with Mcp-Session-Id header
- Improved connection handling with proper keepalive messages
- Added OPTIONS handler for CORS preflight requests

The MCP server now properly implements the SSE transport specification
and is compatible with standard MCP clients like mcpinspector.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-27 14:34:00 +02:00

34 lines
1.2 KiB
TOML

[package]
name = "meilisearch-mcp"
version = "1.13.0"
authors = ["Clément Renault <clement@meilisearch.com>"]
description = "MCP (Model Context Protocol) server for Meilisearch"
homepage = "https://www.meilisearch.com"
readme = "README.md"
edition = "2021"
license = "MIT"
[dependencies]
actix-web = { version = "4.8.0", default-features = false }
anyhow = "1.0.86"
async-stream = "0.3.5"
async-trait = "0.1.81"
futures = "0.3.30"
# Removed meilisearch dependency to avoid cyclic dependency
meilisearch-auth = { path = "../meilisearch-auth" }
meilisearch-types = { path = "../meilisearch-types" }
serde = { version = "1.0.204", features = ["derive"] }
serde_json = { version = "1.0.120", features = ["preserve_order"] }
thiserror = "1.0.61"
tokio = { version = "1.38.0", features = ["full"] }
tracing = "0.1.40"
utoipa = { version = "5.3.1", features = ["actix_extras", "time"] }
uuid = { version = "1.10.0", features = ["serde", "v4"] }
regex = "1.10.2"
reqwest = { version = "0.12.5", features = ["json"] }
[dev-dependencies]
insta = "1.39.0"
tokio = { version = "1.38.0", features = ["test-util"] }
actix-web = { version = "4.8.0", features = ["macros"] }
actix-rt = "2.10.0"