使用说明
MCP(模型上下文协议)——PHP
PHP 8.1+上的标准MCP服务器实现:JSON-RPC协议+传输 标准 和 可流式传输的HTTP.
与Cursor、Claude Code、Codex和其他MCP客户端兼容。
机会
- 生命周期:
initialize/notifications/initialized/ping - 工具:
tools/list,tools/call - 资源:
resources/list,resources/read - JSON Schema参数验证
- Stdio(换行符分隔的JSON)
- Streamable HTTP(单一端点)
/mcp) - PSR登录到文件(不是stdout)
- 错误输入稳定性(JSON-RPC error)
isError(没有摔倒)
要求
- PHP 8.1+
- 作曲家
安装
composer install
mkdir -p logs config data
STDIO(代理)
php bin/mcp_server.php
Конфиг光标/克劳德桌面:
{
"mcpServers": {
"quanzo-mcp": {
"command": "php",
"args": ["/var/www/mcp/bin/mcp_server.php"]
}
}
}
可流式传输的HTTP
# По умолчанию 127.0.0.1:8080
php bin/http_server.php
# Amp-вариант
php bin/http_server_amp.php 127.0.0.1 8080
端点: http://127.0.0.1:8080/mcp
可选:
MCP_HTTP_BEARER=token php bin/http_server.php -b token
代理配置(HTTP):
{
"mcpServers": {
"quanzo-mcp-http": {
"url": "http://127.0.0.1:8080/mcp"
}
}
}
快速检查
php bin/test_client.php
结构
bin/
├── mcp_server.php # stdio MCP
├── http_server.php # Streamable HTTP (php -S)
├── http_server_amp.php # Streamable HTTP (Amp)
└── test_client.php
src/classes/
├── McpServer.php # протокольное ядро
├── McpServerFactory.php
├── transport/
│ ├── StdioTransport.php
│ ├── StreamableHttpTransport.php
│ └── ...
├── commands/ # tools
├── resources/
├── client/MCPClient.php
└── dto/mcp/ # DTO ответов MCP
docs/
├── overview.md
├── quickstart.md
├── mcp-protocol.md
├── streamable-http.md
├── commands.md
├── resources.md
└── ...
文档
- 概述:
docs/overview.md - 快速启动:
docs/quickstart.md - 协议:
docs/mcp-protocol.md - HTTP:
docs/streamable-http.md - 细微差别/错误:
docs/mcp-nuances.md - 命令/资源:
docs/commands.md,docs/resources.md - 开发:
docs/development.md