MCP服务器集成开发工具

一个Symfony项目,用于演示MCP服务器集成,提供PHP开发环境检查和自定义工具扩展功能。

  • by wachterjohannes
  • PHP
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 wachterjohannes/debug-mcp-symfony-example

使用说明

symfony/ai-mate示例项目

Symfony 8.0项目示例,演示用于PHP开发的MCP服务器集成

这是什么?

演示 symfony/ai-mate MCP服务器集成:

  • 5工具: php-version, operating-system, operating-system-family, php-extensions, test_tool
  • 2静态资源: test://info/about, test://info/help
  • 自动发现:来自的自定义工具和资源 mate/ 目录
  • 配置:通过以下方式集成服务容器 .mate/services.php

快速开始

git clone https://github.com/wachterjohannes/debug-mcp-symfony-example.git
cd debug-mcp-symfony-example
composer install

设置

克劳德代码(推荐)

cd /path/to/debug-mcp-symfony-example
claude mcp add mate $(pwd)/vendor/bin/mate --scope local
claude mcp list  # Verify: mate - ✓ Connected

克劳德桌面版

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "mate": {
      "command": "/absolute/path/to/debug-mcp-symfony-example/vendor/bin/mate"
    }
  }
}

重新启动克劳德桌面。

测试MCP服务器

工具

测试可用的MCP工具:

  • “运行的是哪个PHP版本?” → php-version 工具
  • “我们使用的是什么操作系统?” → operating-system 工具
  • “加载了哪些PHP扩展?” → php-extensions 工具
  • “运行测试工具” → test_tool 工具

资源

测试可用资源:

  • “显示测试信息” → test://info/about 资源
  • “显示MCP服务器的帮助” → test://info/help 资源

用例

  • 在开发过程中检查PHP版本和环境信息
  • 在不离开编辑器的情况下列出加载的PHP扩展
  • 验证系统配置以进行调试
  • 在中使用自定义工具进行扩展 mate/ 目录
  • 通过以下方式配置服务 .mate/services.php 用于DI容器集成

添加您自己的工具

创建 mate/MyTool.php:

<?php
namespace App\Mate;

use Symfony\Component\AiMate\Attribute\Tool;

class MyTool {
    #[Tool(name: 'my_tool', description: 'Does something useful')]
    public function execute(string $input): array {
        return ['result' => "Processed: $input"];
    }
}

工具在 mate/ 在下次请求时自动发现。

配置

服务配置

编辑 .mate/services.php 配置MCP服务器并添加自定义服务:

<?php
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;

return static function (ContainerConfigurator $container): void {
    $container->parameters()
        ->set('mate.cache_dir', sys_get_temp_dir().'/mate')
        ->set('mate.env_file', ['.env'])
    ;

    $container->services()
        // Add your custom services here
    ;
};

扩展管理

扩展在中管理 .mate/extensions.php (自动生成 mate discover):

return [
    'symfony/ai-mate' => ['enabled' => true],
];

跑 mate discover 扫描并注册新的扩展名。

需求

PHP 8.4+,编辑器

许可证

麻省理工学院