luoyue / webman-mcp
Webman plugin luoyue/webman-mcp
Installs: 17
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/luoyue/webman-mcp
Requires
- php: >=8.1
- mcp/sdk: dev-main
- nyholm/psr7: ^1.8
- webman/cache: ^2.1
- webman/console: ^2.1
Requires (Dev)
- monolog/monolog: ^3.9
- workerman/webman-framework: ^2.1
This package is auto-updated.
Last update: 2025-10-25 16:32:47 UTC
README
这是一个Webman框架与官方MCP PHP SDK深度集成的插件,并在SDK基础上进行了扩展,可快速创建MCP服务器。
Important
此插件依赖于官方的MCP PHP SDK,并且在官方SDK发布第一个正式版本之前,此插件将始终标记为实验版本。
特性
- 一键启动,安装后即可启动,同时支持配置复杂的功能。
- 一个项目支持多个MCP服务器,并按服务器名称隔离配置。
- 与Webman框架深度集成,HTTP支持路由模式和自定义进程模式。
- 自动注册MCP服务到主流IDE(VSCode、Cursor、通义灵码等)
- 支持 STDIO、HTTP 传输
- 适配官方SDK的所有功能
- STDIO模式下支持非阻塞IO,并支持workerman进程环境下的特定功能
- 内置MCP开发工具
安装
composer require luoyue/webman-mcp
启动方式
# 启动 MCP STDIO 服务器, mcp为服务器名称,配置文件中定义 php webman mcp:server mcp # 启动 MCP HTTP 服务器(分为两种,一种是嵌入到路由中,另一种是自定义进程) php webman start
快速开始
1. 创建一个具有 MCP 功能的类
<?php namespace App\mcp; use Mcp\Capability\Attribute\McpTool; use Mcp\Capability\Attribute\McpResource; class CalculatorElements { /** * 将两个数字相加。 * * @param int $a 第一个数字 * @param int $b 第二个数字 * @return int 两个数字的和 */ #[McpTool] public function add(int $a, int $b): int { return $a + $b; } /** * 执行基本算术运算。 */ #[McpTool(name: 'calculate')] public function calculate(float $a, float $b, string $operation): float|string { return match($operation) { 'add' => $a + $b, 'subtract' => $a - $b, 'multiply' => $a * $b, 'divide' => $b != 0 ? $a / $b : '错误:除零', default => '错误:未知操作' }; } #[McpResource( uri: 'config://calculator/settings', name: 'calculator_config', mimeType: 'application/json' )] public function getSettings(): array { return ['precision' => 2, 'allow_negative' => true]; } }
2. 手动配置 MCP 客户端
自动配置可直接跳过此步骤。
{
"mcpServers": {
"php-calculator": {
"command": "php",
"args": ["webman", "mcp:server", "mcp"]
}
}
}
3. 测试您的服务器
# 使用 MCP Inspector 测试 npx @modelcontextprotocol/inspector php webman mcp:server mcp # 您的 AI 助手现在可以调用: # - add: 将两个整数相加 # - calculate: 执行算术运算 # - 读取 config://calculator/settings 资源
参考文档
学习资料:
外部资源:
许可证
本项目采用 MIT 许可证 - 详情请见 LICENSE 文件。