From d3ebe1509d838adc991c9bd25ffd72857c474e88 Mon Sep 17 00:00:00 2001 From: Robert Helewka Date: Wed, 13 May 2026 06:05:05 -0400 Subject: [PATCH] log: add MCP registry discovery to health access filter Update _HealthAccessFilter to suppress successful GET requests to /.well-known/mcp/server.json used for registry discovery polls, ensuring these don't appear in health access logs. --- pallas/log.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pallas/log.py b/pallas/log.py index 25ed3eb..8a8f8f0 100644 --- a/pallas/log.py +++ b/pallas/log.py @@ -141,6 +141,7 @@ class _HealthAccessFilter(logging.Filter): (Ouranos Red Panda standard). Suppresses: * Successful probes to ``/live``, ``/ready``, ``/metrics`` + * Successful ``GET /.well-known/mcp/server.json`` — registry discovery polls * Successful ``POST /mcp`` calls — the MCP endpoint is single-route, every Daedalus health poll and tool call lands there. Pallas already emits its own structured ``mcp_request_start`` / ``mcp_request_complete`` logs @@ -150,7 +151,7 @@ class _HealthAccessFilter(logging.Filter): ``/mcp`` is a real signal. """ - _HEALTH_PATH_RE = re.compile(r'"GET /(?:live|ready|metrics)(?:/|\?|\s|")') + _HEALTH_PATH_RE = re.compile(r'"GET /(?:live|ready|metrics|\.well-known/mcp/server\.json)(?:/|\?|\s|")') _MCP_RE = re.compile(r'"POST /mcp(?:/|\?|\s|")') _SUCCESS_STATUS_RE = re.compile(r'" (?:1\d\d|2\d\d|3\d\d)(?:\s|$)')