项目简介
Symfony MCP Bundle是官方MCP SDK的Symfony集成包,允许应用程序作为MCP服务器或客户端运行。它提供了完整的MCP协议实现,支持资源托管、工具注册和提示模板功能,能够与各种LLM客户端进行标准化通信。
主要功能
- 多平台AI支持:集成OpenAI、Anthropic、Azure、Gemini、VertexAI等主流AI平台
- 工具执行能力:注册和执行外部功能,允许LLM调用应用程序中的各种服务
- 资源管理:托管和管理各类数据资源,为LLM提供上下文信息
- 提示模板系统:定义和渲染可定制的LLM交互模式
- 多种传输协议:支持Stdio、SSE、WebSocket等多种通信方式
- 会话管理:支持多用户会话和状态维护
- 配置驱动:通过YAML配置文件轻松定制服务器行为
安装步骤
- 通过Composer安装依赖:
composer require symfony/ai
- 在Symfony应用中启用MCP Bundle:
// config/bundles.php return [ Symfony\AI\McpBundle\McpBundle::class => ['all' => true]
- 配置MCP服务器参数(在config/packages/ai.yaml中):
mcp: # 应用标识和版本信息 app: "my-symfony-app" version: "1.0.0" # 客户端传输配置 client_transports: stdio: true # 启用标准输入输出传输 http: true # 启用HTTP传输 # HTTP特定配置 http: path: "/_mcp" # MCP端点路径 session: store: "file" # 会话存储方式:文件或内存 directory: "%kernel.cache_dir%/mcp-sessions" ttl: 3600 # 会话生存时间(秒)
服务器配置
在与MCP客户端建立连接时,需要配置以下参数:
- 服务器名称:'symfony-mcp-server'
- 启动命令:'php'
- 启动参数:'bin/console mcp:server --transport=http"
关键配置项说明:
- 'app':标识服务器应用名称
- 'version':服务器版本号
- 'path':HTTP端点访问路径
- 支持同时启用多种传输协议
基本使用方法
- 启动MCP服务器:
php bin/console mcp:server --transport=http
- 客户端连接配置示例(JSON格式):
{ "mcpServers": { "symfony-mcp-server": { "command": "php", "args": ["bin/console", "mcp:server", "--transport=stdio"]
- 通过配置文件定义工具、资源和提示模板,服务器启动后自动向客户端声明能力
信息
分类
AI与计算