
Symfony Agent MCP
io.github.shakaran由 GitHub 帳號 shakaran 發布v1.0.2更新於 Oct 24, 2026
Read-only Symfony introspection: routes, services, entities, Doctrine, security, Twig and more.
概覽
一個在本機執行的唯讀 MCP 伺服器,讓 AI 助理檢視 Symfony 應用程式的路由、服務、實體、安全性、Twig 等內容。
- 可以做什麼
- 檢視 Symfony 核心結構:路由、控制器、服務、依賴注入容器、事件、指令和 bundle,以及設定與環境設定。查看 Doctrine 實體、關聯、遷移、索引和資料庫結構。審查安全性設定:voter、防火牆、驗證器、JWT、OAuth、CSRF 和存取控制。查看前端資源、Twig 範本、翻譯和 Symfony UX,並檢查測試與靜態分析設定。檢查訊息佇列、API Platform、快取、工作階段、佇列和雲端整合設定。產生程式碼品質與錯誤摘要,包括日誌片段和相依性檢查。
- 適用情境
- 適合需要助理回答現有 Symfony 程式碼庫問題的情境,例如有哪些路由、服務如何組裝、實體之間如何關聯、哪些控制器缺少安全性屬性。適用於本機 Symfony 專案的程式碼審查、上手和除錯。
- 執行需求
- 透過 stdio 在本機執行,通常使用 npx 或全域 npm 安裝;需要 Node.js 22 或更新版本。每次工具呼叫需提供指向 Symfony 專案根目錄的 app_path。選用環境變數可控制允許路徑、工具允許/封鎖清單、速率限制、token 預算和工作階段驗證。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Symfony Agent MCP,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
symfony-agent-mcp
[npm version] [License: MIT] [Node.js] [MCP] [PRs Welcome] [GitHub issues] [GitHub stars] [Build Status] [Coverage] [OpenSSF Scorecard] [Glama score] [smithery badge] [OpenSSF Baseline]
Features • Quick Start • Integration • Usage • Documentation • Contributing • License
A production-ready Model Context Protocol (MCP) server for Symfony applications. Gives AI assistants deep, read-only introspection into your entire Symfony codebase — routes, controllers, services, entities, database schema, migrations, events, forms, security, Doctrine, Messenger, Twig, API Platform, and much more.
Features
1,677 Tools across 16 Categories
Security-first design
- Read-only — never writes, modifies, or executes anything
- Auto-redaction — passwords, tokens, API keys, and database credentials are replaced with
[REDACTED]before any data reaches the AI - DLP pipeline — multi-layer Data Loss Prevention scanner (regex patterns + structural detection for credit cards, JWTs, SSH keys, cloud credentials, etc.)
- Path validation — directory traversal attacks are blocked at the input layer
- No code execution — PHP files are parsed statically (no
eval, no PHP runtime) - No network calls — all data comes from local files only
- Prompt injection filter — tool output is scanned for injection patterns before being forwarded to the AI
Quick Start
Option A: npx (no install required)
Option B: Install globally
Option C: From source
See GETTING_STARTED.md for a step-by-step guide including Node.js setup, troubleshooting, and first-use verification.
Integration
One-click Install
Claude Code
Run once to register the server:
To make it available globally across all projects, add the --scope user flag:
Claude Desktop
Add to your Claude Desktop configuration file (claude_desktop_config.json):
Cursor
Add to .cursor/mcp.json:
VS Code Copilot
Add to .vscode/mcp.json:
Usage
Every tool accepts an app_path parameter pointing to the root of your Symfony application:
Example prompts you can use with Claude:
- "Show me all routes with POST methods and their controllers"
- "Which services are tagged with
doctrine.event_listener?" - "List the last 50 lines of the production log"
- "Are there any circular dependencies in the service container?"
- "What Doctrine entities have relationships with User?"
- "Show me the migration history and any destructive migrations"
- "Which controllers have no security attributes?"
Configuration
All configuration is done via environment variables passed to the MCP server process.
Tool Discovery
Security & Access
Rate Limiting
Transport
Example: Claude Code with dynamic tools disabled
Example: token budget increased to 80 000 tokens
Local Install (from source)
Use this when you want to run the server from a local clone (no npm publish needed).
Then configure your MCP client to point at the built file:
Claude Code (run once):
Claude Desktop (claude_desktop_config.json):
VS Code (.vscode/mcp.json):
Tip: After rebuilding (
pnpm build), restart your MCP client to pick up the changes.
What It Reads
The server reads files directly from your Symfony app — no database connection, no PHP runtime needed:
config/routes.yaml,config/routes/*.yaml— YAML routes- PHP 8
#[Route]attributes on controllers insrc/Controller/ config/services.yaml— DI container servicesconfig/packages/*.yaml— Framework, security, doctrine, messenger, mailer configsrc/Entity/*.php— Doctrine entity files (PHP 8 attributes + annotations)var/log/*.log— Application logsmigrations/,src/Migrations/— Doctrine migration filescomposer.json,composer.lock— Package info.env,.env.local,.env.*.local— Environment variables (sensitive values auto-redacted)
Symfony Compatibility
Requirements
- Node.js ≥ 22.0.0
- pnpm ≥ 11.0.0 (or npm/yarn for development)
Development
See DEVELOPMENT.md for the full development guide: architecture overview, adding new tools, testing strategy, and contribution guidelines.
Documentation
Contributing
Issues and pull requests are welcome at github.com/shakaran/symfony-agent-mcp.
Please read DEVELOPMENT.md before submitting a PR, and SECURITY.md for the responsible disclosure policy.
Project standards
See SECURITY.md for the threat model, the assurance case and the remediation thresholds, and ROADMAP.md for what is planned.
License
MIT © Ángel Guzmán Maeso
來源:README.md,提交 6af2551
工具
0版本歷史
1- v1.0.2最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分