From 154e8a78eccd012a82d14e80e813c6faccde188c Mon Sep 17 00:00:00 2001 From: grtninja Date: Sat, 11 Apr 2026 19:16:37 -0400 Subject: [PATCH] fix: implement MCP ping health checks (#600) --- mempalace/mcp_server.py | 2 ++ tests/test_mcp_server.py | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/mempalace/mcp_server.py b/mempalace/mcp_server.py index 09203b6..fce6f35 100644 --- a/mempalace/mcp_server.py +++ b/mempalace/mcp_server.py @@ -951,6 +951,8 @@ def handle_request(request): "serverInfo": {"name": "mempalace", "version": __version__}, }, } + elif method == "ping": + return {"jsonrpc": "2.0", "id": req_id, "result": {}} elif method == "notifications/initialized": return None elif method == "tools/list": diff --git a/tests/test_mcp_server.py b/tests/test_mcp_server.py index 96fe80c..2c73f06 100644 --- a/tests/test_mcp_server.py +++ b/tests/test_mcp_server.py @@ -92,6 +92,13 @@ class TestHandleRequest: resp = handle_request({"method": "notifications/initialized", "id": None, "params": {}}) assert resp is None + def test_ping_returns_empty_result(self): + from mempalace.mcp_server import handle_request + + resp = handle_request({"method": "ping", "id": 11, "params": {}}) + assert resp["id"] == 11 + assert resp["result"] == {} + def test_tools_list(self): from mempalace.mcp_server import handle_request