symfony-agent-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SYMFONY_MCP_STDIO | No | Set to false to disable stdio transport (useful when running HTTP-only). | true |
| SYMFONY_MCP_HTTP_PORT | No | Port for HTTP/SSE transport. When set, starts an HTTP server in addition to stdio. | off |
| SYMFONY_MCP_RATE_BURST | No | Max burst requests in 1 second. | 10 |
| SYMFONY_MCP_RATE_LIMIT | No | Max requests per window. Set to 0 to disable. | 60 |
| SYMFONY_MCP_TOKEN_BUDGET | No | Maximum estimated tokens that can be activated per session. Activation is blocked when this limit would be exceeded; pass force=true in activate_category to override. | 40000 |
| SYMFONY_MCP_ALLOWED_PATHS | No | Colon-separated list of absolute app paths the server may inspect. Example: /var/www/app1:/var/www/app2 | * |
| SYMFONY_MCP_ALLOWED_TOOLS | No | Comma-separated allowlist of tool names. Only listed tools are callable. | all |
| SYMFONY_MCP_BLOCKED_TOOLS | No | Comma-separated denylist. Takes precedence over the allowlist. | none |
| SYMFONY_MCP_DYNAMIC_TOOLS | No | Enable dynamic tool discovery. When true, tools/list returns only 5 meta-tools instead of all 1,677. Set to false to restore the legacy behaviour (all tools always visible). | true |
| SYMFONY_MCP_SESSION_TOKEN | No | Token to validate on incoming requests. | off |
| SYMFONY_MCP_RATE_WINDOW_MS | No | Rate limit window in milliseconds (1 minute). | 60000 |
| SYMFONY_MCP_SESSION_SECRET | No | Secret for session token generation. | off |
| SYMFONY_MCP_SESSION_STRICT | No | Set to true to reject requests without a valid session token. | false |
| SYMFONY_MCP_SESSION_WINDOW | No | Session token validity window in seconds. | 300 |
| SYMFONY_MCP_SIGNING_SECRET | No | 32+ character secret for request signing. Enables per-request authentication. | off |
| SYMFONY_MCP_REQUIRE_SYMFONY | No | Set to false to skip Symfony project validation (useful for testing). | true |
| SYMFONY_MCP_TOOL_TIMEOUT_MS | No | Per-tool execution timeout in milliseconds. | 30000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_tool_categoriesA | List all available tool categories with descriptions, tool counts, and estimated token cost. Use this first to understand what groups of tools exist before activating them. Only the categories you activate will be shown in subsequent tools/list calls. |
| search_toolsA | Search for specific tools by describing what you want to do. Returns the top matching tool definitions (name + description + input schema) ready to call immediately — no activation needed for one-off use. For repeated use of a group, call activate_category instead. |
| activate_categoryA | Activate all tools in a category for this session. After activation the MCP client will receive the full tool definitions on the next tools/list refresh. Use list_tool_categories to see available categories and their token costs. Pass force=true to override the token budget guard. |
| get_active_toolsA | Show which tool categories are currently active in this session, how many tools are exposed, and the estimated token cost. Use this to understand your current context budget. |
| deactivate_categoryA | Remove a previously activated category from this session to free up context budget. Useful when switching between different areas of the codebase. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: listing categories, searching tools, activating a category, viewing active categories, and deactivating. There is no overlap or ambiguity in their functions.
All tool names follow a consistent verb_noun snake_case pattern (list_tool_categories, search_tools, activate_category, get_active_tools, deactivate_category), making prediction and selection straightforward.
With 5 tools, the set is tightly scoped to the server's purpose of managing tool categories and sessions. Each tool serves a necessary role in the lifecycle without redundancy or bloat.
The surface covers the full lifecycle of tool category management: discovery (list/search), activation, status inquiry, and deactivation. No obvious gaps exist for the stated domain.