
Laravel MCP Server (bramato/laravel-mcp-server)

2025.04.15
0
PHPMCP 服务器Laravel 包JSON-RPC 2.0开发效率
Laravel MCP Server 是一个基于 Laravel 的包,用于构建符合 Model Context Protocol (MCP) 规范的服务器。它提供了处理 MCP 请求的基础设施,支持多种传输方式(Stdio、HTTP、WebSocket),并使用 JSON-RPC 2.0 进行请求解析和响应格式化。用户需要实现自己的 ResourceInterface 和 ToolInterface 类,并通过配置文件注册,以暴露应用程序的数据和功能。
View on GitHub
Overview
基本能力
产品定位
Laravel MCP Server 是一个用于构建 MCP 服务器的 Laravel 包,旨在提供处理 MCP 请求的基础设施,支持多种传输方式。
核心功能
- 多传输支持:支持 Stdio、HTTP 和 WebSocket(通过 Reverb)三种传输方式。
- JSON-RPC 2.0:使用 sajya/server 库进行请求解析和响应格式化。
- 资源与工具管理:用户可以通过实现 ResourceInterface 和 ToolInterface 类来暴露应用程序的数据和功能。
- 配置灵活:通过配置文件可以自定义传输方式、认证机制、资源和工具的注册等。
- 安全性:提供工具白名单和基本的令牌认证机制。
适用场景
- 构建 MCP 服务器:适用于需要实现 MCP 规范的 Laravel 项目。
- 多传输需求:适用于需要在不同传输方式(如 Stdio、HTTP、WebSocket)下提供服务的场景。
- 资源与工具暴露:适用于需要将应用程序的数据和功能通过 MCP 协议暴露给客户端的场景。
工具列表
- ResourceInterface:用于定义资源的接口,包括获取资源 URI、名称、描述、MIME 类型和内容的方法。
- ToolInterface:用于定义工具的接口,包括获取工具名称、描述、输入模式和执行方法。
常见问题解答
- 如何注册资源和工具?:通过实现 ResourceInterface 和 ToolInterface 类,并在配置文件中注册。
- 如何启用不同的传输方式?:在配置文件的
enabled_transports
中设置。 - 如何实现认证?:通过配置文件的
authentication
部分设置认证驱动和选项。
使用教程
使用依赖
- 确保已安装 Laravel 框架。
- 确保已安装 Composer。
安装教程
- 通过 Composer 安装包:
bash composer require bramato/laravel-mcp-server
- 发布配置文件:
bash php artisan vendor:publish --provider="Bramato\LaravelMcpServer\Providers\McpServiceProvider" --tag="config"
调试方式
- Stdio 传输:运行以下命令:
bash php artisan mcp:server --transport=stdio
- HTTP 传输:确保 Web 服务器运行,并发送 JSON-RPC POST 请求到配置的路径。
- WebSocket 传输:
- 安装并配置 Laravel Reverb:
bash php artisan reverb:install
- 启动 Reverb 服务器:
bash php artisan reverb:start
- 连接 MCP WebSocket 客户端到 Reverb 服务器端点。
测试
运行以下命令进行测试:
# 从包目录运行
../../vendor/bin/phpunit
# 或从项目根目录运行
./vendor/bin/phpunit packages/bramato/laravel-mcp-server/tests