使用 PHP-MCP 框架打造专属 MCP 服务:接入腾讯地图并联动 Cursor 客户端
前言
在 AI 开发快速演进的今天,模型与工具之间的互联能力逐渐成为构建智能体应用的核心。Model Context Protocol(MCP)应运而生,成为连接大模型与外部工具的新一代标准协议。本文将以 PHP-MCP 为基础,带你从零开发一个 MCP Server,并将其接入 Cursor 客户端,实现与腾讯地图 API 的联动。
什么是 MCP?
MCP(Model Context Protocol)是由 Anthropic 提出的模型上下文协议,目标是通过统一的数据交互规范,实现大模型与各种工具的无缝集成。MCP 的架构由两部分组成:
- MCP 客户端:如 Cursor、Langchain 等,负责发起调用请求
- MCP 服务端:如 PHP-MCP,负责提供工具、资源等能力
其通信方式支持标准输入输出(Stdio)、HTTP、SSE(Server-Sent Events)等协议,具备高度扩展性。
使用 Cursor 快速接入 MCP 服务
Cursor 是一个深度集成 AI 能力的开发工具,支持通过配置 mcp.json
文件接入任意 MCP 服务。
以腾讯地图为例
腾讯位置服务提供标准化的 WebService API,可以通过 HTTPS 请求获取地理位置、路线规划、地点搜索等功能。
步骤一:创建 API Key
- 访问 腾讯位置服务控制台
- 创建新应用,启用 WebService API
- 获取 Key,后续接入会使用到
步骤二:配置 Cursor 客户端
创建文件 mcp.json
:
{
"mcpServers": {
"TencentAISearch": {
"url": "https://mcp.map.qq.com/sse?key=<你的Key>"
}
}
}
加载成功后,在 Cursor 中点击输入框下方的 @Add context 按钮,即可绑定该 MCP 服务。
基于 PHP-MCP 搭建 MCP Server
PHP-MCP 提供了一整套 MCP 服务端开发框架,支持 SSE 模式,适用于远程客户端高频调用。
安装依赖
composer require php-mcp/server
实现工具类
创建 SampleMcpElements.php
文件:
use PhpMcp\Server\Attributes\McpTool;
class SampleMcpElements
{
#[McpTool(name: 'greet_user', description: '生成用户问候语')]
public function simpleTool(string $name, int $count = 1): string
{
return implode(' ', array_fill(0, $count, "Hello, {$name}!"));
}
}
你还可以通过 #[McpPrompt]
、#[McpResource]
等注解扩展能力。
启动 MCP 服务端
创建 reactphp_http.server.php
:
use React\Http\HttpServer;
use React\Socket\SocketServer;
use PhpMcp\Server\Server;
use PhpMcp\Server\Transports\ReactPhpHttpTransportHandler;
$server = Server::make()
->withBasePath(__DIR__)
->discover();
$transportHandler = new ReactPhpHttpTransportHandler($server);
$http = new HttpServer(function ($request) use ($transportHandler) {
// 判断路径并处理 SSE 或 POST
});
$socket = new SocketServer('0.0.0.0:8201');
$http->listen($socket);
运行服务
php reactphp_http.server.php
服务启动后,可以在浏览器中通过:
http://127.0.0.1:8201/mcp/sse
连接 MCP 客户端。
在 Cursor 中验证服务
修改 mcp.json
:
{
"mcpServers": {
"mcp-php-server-http": {
"url": "http://127.0.0.1:8201/mcp/sse"
}
}
}
在对话框中输入 @greet_user(name: "Alice", count: 2)
,Cursor 即可通过 MCP 与 PHP 服务联动,返回:“Hello, Alice! Hello, Alice!”
小结
借助 PHP-MCP 框架,PHP 开发者无需依赖 Node.js、Python 等生态,就可以轻松搭建自己的 MCP 服务。配合 Cursor 等 AI 工具,即可快速打造智能化、交互式的开发辅助系统。
未来,MCP 生态将纳入越来越多的数据源与工具链,为 AI 普惠化提供坚实的底座。赶紧动手,把你的业务逻辑发布成一个 MCP 服务,让 AI 为你所用吧!