-
Notifications
You must be signed in to change notification settings - Fork 19
Description
📝 Description
We’re trying to connect AnythingLLM (latest version using MCP v2025‑03‑26) with the Laravel MCP server, but encountering two major roadblocks:
- Protocol version mismatch
• Client initiates handshake with:
protocolVersion": "2025-03-26"
but the server only supports 2024-11-05.
Logs report: Client requested unsupported protocol version: 2025‑03‑26 {"supportedVersions":["2024‑11‑05"]}
• Result:
• Server rejects initialization.
• AnythingLLM either loops back to older spec or fails altogether.
- notifications/cancelled not implemented
• Config has:
'capabilities' => [
'notifications' => [
'initialized' => true,
'cancelled' => true,
'initializedOk' => true,
],
…
]
and server is restarted accordingly.
Still, log shows: MCP Processor caught McpServerException {"method":"notifications/cancelled","code":-32601,"message":"Method not found: MCP capability 'notifications' is not enabled on this server."}
• Reason:
• AnythingLLM receives a ping timeout and dispatches notifications/cancelled.
• Server rejects it, causing client disconnection.
⸻
✅ Steps already taken
1. Successful MCP handshake up to initialize + notifications/initialized + resources/list via cURL.
2. Upgraded package to latest version v2.1.0 with Streamable HTTP.
3. Fully configured config/mcp.php for notifications.
4. Cleared config/routes caches and restarted server.
5. Observed persistent logs for protocol and “notifications” errors.
⸻
🚀 Expected behavior
• Server supports 2025‑03‑26 protocol version (and optionally 2024‑11‑05 for legacy clients).
• Fully implements notifications/cancelled, along with other MCP notification methods.
• Allows AnythingLLM handshake to complete, keeping SSE connection alive and avoiding client drop.
⸻
Happy to provide more logs, config files, or curl traces if needed. Thanks for your support! 😊
Log:
[2025-06-14 15:14:40] local.DEBUG: Received request {"method":"GET","path":"/mcp/sse"}
[2025-06-14 15:14:40] local.INFO: New SSE connection {"clientId":"sse_12800888fd13a8728e0a8d93373ebf15"}
[2025-06-14 15:14:40] local.DEBUG: Sending SSE event {"event":"endpoint","frame":"event: endpoint
id: init-sse_12800888fd13a8728e0a8d93373ebf15
data: /mcp/message?clientId=sse_12800888fd13a8728e0a8d93373ebf15
"}
[2025-06-14 15:14:40] local.INFO: Client connected {"clientId":"sse_12800888fd13a8728e0a8d93373ebf15"}
[2025-06-14 15:14:40] local.DEBUG: Received request {"method":"POST","path":"/mcp/message"}
[2025-06-14 15:14:40] local.DEBUG: Received message {"clientId":"sse_12800888fd13a8728e0a8d93373ebf15","frame":"{\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-03-26\",\"capabilities\":{},\"clientInfo\":{\"name\":\"laravel-mcp\",\"version\":\"1.0.0\"}},\"jsonrpc\":\"2.0\",\"id\":0}"}
[2025-06-14 15:14:40] local.WARNING: Client requested unsupported protocol version: 2025-03-26 {"supportedVersions":["2024-11-05"]}
[2025-06-14 15:14:40] local.DEBUG: Sending SSE event {"event":"message","frame":"event: message
data: {\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"serverInfo\":{\"name\":\"Laravel MCP\",\"version\":\"1.0.0\"},\"protocolVersion\":\"2024-11-05\",\"capabilities\":{\"tools\":{\"listChanged\":true},\"resources\":{\"subscribe\":true,\"listChanged\":true},\"prompts\":{\"listChanged\":true},\"logging\":{}}}}
"}
[2025-06-14 15:14:40] local.DEBUG: Sent response {"clientId":"sse_12800888fd13a8728e0a8d93373ebf15","frame":"{\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"serverInfo\":{\"name\":\"Laravel MCP\",\"version\":\"1.0.0\"},\"protocolVersion\":\"2024-11-05\",\"capabilities\":{\"tools\":{\"listChanged\":true},\"resources\":{\"subscribe\":true,\"listChanged\":true},\"prompts\":{\"listChanged\":true},\"logging\":{}}}}
"}
[2025-06-14 15:14:40] local.DEBUG: Received request {"method":"POST","path":"/mcp/message"}
[2025-06-14 15:14:40] local.DEBUG: Received message {"clientId":"sse_12800888fd13a8728e0a8d93373ebf15","frame":"{\"method\":\"notifications/initialized\",\"jsonrpc\":\"2.0\"}"}
[2025-06-14 15:14:40] local.DEBUG: Received request {"method":"POST","path":"/mcp/message"}
[2025-06-14 15:14:40] local.DEBUG: Received message {"clientId":"sse_12800888fd13a8728e0a8d93373ebf15","frame":"{\"method\":\"ping\",\"jsonrpc\":\"2.0\",\"id\":1}"}
[2025-06-14 15:14:40] local.DEBUG: Sending SSE event {"event":"message","frame":"event: message
data: {\"jsonrpc\":\"2.0\",\"id\":1,\"result\":[]}
"}
[2025-06-14 15:14:40] local.DEBUG: Sent response {"clientId":"sse_12800888fd13a8728e0a8d93373ebf15","frame":"{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":[]}
"}
[2025-06-14 15:15:40] local.DEBUG: Received request {"method":"POST","path":"/mcp/message"}
[2025-06-14 15:15:40] local.DEBUG: Received message {"clientId":"sse_12800888fd13a8728e0a8d93373ebf15","frame":"{\"jsonrpc\":\"2.0\",\"method\":\"notifications/cancelled\",\"params\":{\"requestId\":1,\"reason\":\"McpError: MCP error -32001: Request timed out\"}}"}
[2025-06-14 15:15:40] local.DEBUG: MCP Processor caught McpServerException {"method":"notifications/cancelled","code":-32601,"message":"Method not found: MCP capability 'notifications' is not enabled on this server.","data":null}