官方mcp php sdk可以把php方法注册为智能体可调用的工具。它提供与框架无关的服务端接口,本地入门可先使用stdio,由mcp客户端启动php子进程,并通过标准输入输出交换协议消息。
安装SDK和发现组件
确认命令行PHP为8.1或更高版本,并启用fileinfo扩展,在独立测试项目中安装依赖:
composer require mcp/sdk symfony/finder
SDK当前仍在实验阶段,应记录实际安装版本,再评估与现有网站的兼容性。命令行PHP与PHP-FPM运行环境要分别核对。

官方SDK安装与服务端示例入口
声明工具并配置发现目录
创建server.php,加载vendor/autoload.php。工具类方法使用McpTool属性声明,并标明参数与返回类型。通过Server::builder设置服务信息和发现目录,构建后交给Mcp\Server\Transport\StdioTransport运行。
自动发现需要symfony/finder,并应排除vendor目录,避免把全部依赖扫描为业务工具。可先依照官方Calculator示例建立最小服务,再替换为自己的业务方法。
下面是可放入server.php的最小加法工具示例:
<?php require __DIR__ . '/vendor/autoload.php';
use Mcp\Capability\Attribute\McpTool;
use Mcp\Server;
use Mcp\Server\Transport\StdioTransport;
class SumTools
{
#[McpTool]
public function add(int $a, int $b): int
{
return $a + $b;
}
}
exit(Server::builder()
->setServerInfo('LocalSum', '1.0.0')
->setDiscovery(__DIR__, ['.'], excludeDirs: ['vendor'])
->build()
->run(new StdioTransport()));
启动后由客户端验证
php server.php
等待输入属于正常状态,由MCP Inspector或其他客户端发起连接与调用。STDOUT承载协议消息,不要用echo、print_r或var_dump输出调试内容;日志应走STDERR或SDK日志接口。网页服务需采用官方HTTP传输配置,不能直接把STDIO脚本当作HTTP接口。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











