server
PHP 开发者专用的 MCP 协议 SDK,一行 Composer 安装即可将业务函数暴露为 AI
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
PHP 开发者专用的 MCP 协议 SDK,一行 Composer 安装即可将业务函数暴露为 AI
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
在 AI 编程工具日益普及的今天,如何让 Claude、Cursor、ChatGPT 等 AI 助手与真实业务系统建立稳定、可信、可控的连接,一直是开发者面临的核心挑战。php-mcp/server 正是为此而生——它是 Model Context Protocol(MCP)的官方 PHP 语言实现,为 PHP 开发者提供了一条通往 AI 生态的高速公路。
MCP(Model Context Protocol)是 Anthropic 于 2024 年底提出的开放协议标准,旨在解决 AI 助手与外部工具、数据源之间的"接口混乱"问题。在 MCP 出现之前,每个 AI 工具都要为不同的外部系统编写专用的集成代码——为 Claude 写的工具无法直接给 Cursor 用,反之亦然。MCP 通过定义一套统一的通信规范,让任何支持 MCP 的 AI 客户端都能无缝调用任何实现了 MCP 协议的服务端。
php-mcp/server 的作者 Kyrian Obikwelu 敏锐地捕捉到了 PHP 生态在 AI 集成领域的空白。PHP 仍然是全球最广泛使用的 Web 后端语言之一(WordPress、Drupal、Laravel 等均基于 PHP),但此前缺乏一个功能完整、社区活跃的 MCP Server SDK。php-mcp/server 填补了这一空白,让 PHP 开发者无需切换语言栈即可接入 AI 能力。
php-mcp/server 的设计哲学是零配置 + 最大灵活性。开发者只需要两行代码就能启动一个可用的 MCP Server:
$server = Server::make()
->withServerInfo('My Server', '1.0.0')
->build();
$server->discover(basePath: __DIR__, scanDirs: ['src']);
$transport = new StdioServerTransport();
$server->listen($transport);
Attribute 驱动的元素定义是 SDK 最具 PHP 特色的功能。在 PHP 8.1+ 的加持下,开发者只需在方法上添加 #[McpTool] 注解,即可将任意 PHP 函数暴露为 AI 可调用的工具:
#[McpTool(name: 'add_numbers')]
public function add(int $a, int $b): int
{
return $a + $b;
}
SDK 自动从方法签名生成完整的 JSON Schema 参数定义,无需手工编写规范文档。#[Schema] 属性还支持细粒度的数值范围限制(如 @param int $exponent [0-10])。
三种传输协议支持体现了架构的完整性:
会话与缓存管理是生产级部署的关键。SDK 内置了多种 Session Handler(内存、文件、Redis 等),配合 PSR-16 SimpleCache 接口,支持请求级别的缓存复用,显著降低 AI 客户端的往返开销。
从 composer.json 可以看出,php-mcp/server 选用了高质量的现代 PHP 依赖:
源码结构遵循清晰的职责分离:
| 目录/文件 | 职责 |
|---|---|
Attributes/ | PHP 8 Attribute 注解定义(McpTool、Schema、CompletionProvider 等) |
Transports/ | 三种传输层实现(Stdio、Http、StreamableHttp) |
Session/ | 会话管理器,支持内存/Redis/文件等多种后端 |
ServerBuilder.php | 建造者模式,链式配置 API |
Dispatcher.php | JSON-RPC 请求分发与处理核心逻辑 |
Registry.php | MCP 元素(Tool/Resource/Prompt)注册表 |
Protocol.php | MCP 协议状态机与生命周期管理 |
测试方面,项目使用 Pest PHP(现代 PHP 测试框架)构建了完整测试套件,包含所有传输层的集成测试。CI 由 GitHub Actions 驱动,代码风格检查使用 php-cs-fixer。
门槛极低:只需 PHP 8.1 + Composer,无需 Docker,无需配置任何外部服务。一个 composer require php-mcp/server 即可开始。
Laravel 用户友好:作者还维护了 php-mcp/laravel 包,提供 Laravel 专属的 Service Provider、Artisan 命令和环境变量配置,对于 Laravel 开发者来说集成体验更加自然。
文档质量高:README 包含从"Hello World"到"复杂 Schema"的全链路示例,每个示例均可独立运行并验证。作者还提供了 8 个渐进式示例项目(从基础发现模式到手动注册、流式 HTTP 等高级用法),学习曲线平滑。
局限性需要正视:这不是一个有 Web UI 的产品,而是纯粹的 SDK。部署方式完全取决于使用它的 PHP 应用本身——开发者需要自行处理进程管理、错误监控和日志记录。对于没有 PHP 开发经验的用户,存在一定的上手门槛。
php-mcp/server 的出现标志着 MCP 生态向多语言扩展迈出了重要一步。在此之前,MCP Server 的主流实现集中于 Python 和 TypeScript,PHP 社区一直处于观望状态。随着 php-mcp/server 的成熟,PHP 开发者终于可以在不引入 Python 微服务的前提下,让 WordPress 插件、Laravel 应用或 Symfony 项目直接暴露 AI 工具接口。
从增长数据看,该项目 Star 数达到 846、Forks 66,对于一个相对垂直的 SDK 库而言已属可观。最近一次代码推送(2025-08-09)表明作者仍在活跃维护。
php-mcp/server 是一个定位精准、架构精良、社区活跃的 PHP MCP Server SDK。它用 PHP 生态最熟悉的方式(Composer + Attribute + Builder 模式)为开发者打开了 AI 集成的大门。如果你正在使用 PHP 构建应用,希望让 Claude 或其他 AI 助手直接调用你的业务逻辑,这个项目值得深入研究。