Skip to content

Add opt-in MCP server infrastructure with diagnostic log tools - #105

Merged
scaree merged 8 commits into
mainfrom
85893_mcp_server
Aug 5, 2026
Merged

Add opt-in MCP server infrastructure with diagnostic log tools#105
scaree merged 8 commits into
mainfrom
85893_mcp_server

Conversation

@scaree

@scaree scaree commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Opt-in "mcp" config section (disabled by default) built on symfony/mcp-bundle: streamable HTTP controller with DNS-rebinding protection and per-user rate limiting, strict tool-arguments handler, tool executor with configurable tool error exceptions and mongo call logging into a capped mcpLogs collection, and three diagnostic tools (search_app_logs, search_audit_logs, get_logs_by_context) reading the bundle-owned log collections. Log search queries live on the Journal/Audit log repositories via a new AbstractLogRepository. McpCompilerPass overrides the McpBundle controller and session cache after extension merge. The mcpLogs mongo connection defaults to the journal log connection.

scaree added 8 commits July 22, 2026 11:39
Opt-in "mcp" config section (disabled by default) built on symfony/mcp-bundle:
streamable HTTP controller with DNS-rebinding protection and per-user rate
limiting, strict tool-arguments handler, tool executor with configurable
tool error exceptions and mongo call logging into a capped mcpLogs collection,
and three diagnostic tools (search_app_logs, search_audit_logs,
get_logs_by_context) reading the bundle-owned log collections. Log search
queries live on the Journal/Audit log repositories via a new
AbstractLogRepository. McpCompilerPass overrides the McpBundle controller
and session cache after extension merge. The mcpLogs mongo connection
defaults to the journal log connection.
…s available

The merge pass calls load() with a temporary container that only knows the
extension being loaded, so hasExtension('mcp') is always false there.
Guard the session cache pool parameter type and add psr/simple-cache to
require-dev so psalm can resolve the Psr16Cache dependency.
…ntime

TooManyRequestsHttpException overwrites the Retry-After header with its first
argument, so pass the delta there instead of the epoch timestamp. The compile
time allowed_hosts guard cannot see resolved env values, so the controller
rejects an effectively empty list explicitly instead of silently returning 403
for every request.
@scaree
scaree merged commit 5044b64 into main Aug 5, 2026
2 checks passed
@scaree
scaree deleted the 85893_mcp_server branch August 5, 2026 10:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant