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

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

site icon
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 请求的基础设施,支持多种传输方式。

核心功能

  1. 多传输支持:支持 Stdio、HTTP 和 WebSocket(通过 Reverb)三种传输方式。
  2. JSON-RPC 2.0:使用 sajya/server 库进行请求解析和响应格式化。
  3. 资源与工具管理:用户可以通过实现 ResourceInterface 和 ToolInterface 类来暴露应用程序的数据和功能。
  4. 配置灵活:通过配置文件可以自定义传输方式、认证机制、资源和工具的注册等。
  5. 安全性:提供工具白名单和基本的令牌认证机制。

适用场景

  1. 构建 MCP 服务器:适用于需要实现 MCP 规范的 Laravel 项目。
  2. 多传输需求:适用于需要在不同传输方式(如 Stdio、HTTP、WebSocket)下提供服务的场景。
  3. 资源与工具暴露:适用于需要将应用程序的数据和功能通过 MCP 协议暴露给客户端的场景。

工具列表

  1. ResourceInterface:用于定义资源的接口,包括获取资源 URI、名称、描述、MIME 类型和内容的方法。
  2. ToolInterface:用于定义工具的接口,包括获取工具名称、描述、输入模式和执行方法。

常见问题解答

  1. 如何注册资源和工具?:通过实现 ResourceInterface 和 ToolInterface 类,并在配置文件中注册。
  2. 如何启用不同的传输方式?:在配置文件的 enabled_transports 中设置。
  3. 如何实现认证?:通过配置文件的 authentication 部分设置认证驱动和选项。

使用教程

使用依赖

  1. 确保已安装 Laravel 框架。
  2. 确保已安装 Composer。

安装教程

  1. 通过 Composer 安装包: bash composer require bramato/laravel-mcp-server
  2. 发布配置文件: bash php artisan vendor:publish --provider="Bramato\LaravelMcpServer\Providers\McpServiceProvider" --tag="config"

调试方式

  1. Stdio 传输:运行以下命令: bash php artisan mcp:server --transport=stdio
  2. HTTP 传输:确保 Web 服务器运行,并发送 JSON-RPC POST 请求到配置的路径。
  3. WebSocket 传输
  4. 安装并配置 Laravel Reverb: bash php artisan reverb:install
  5. 启动 Reverb 服务器: bash php artisan reverb:start
  6. 连接 MCP WebSocket 客户端到 Reverb 服务器端点。

测试

运行以下命令进行测试:

# 从包目录运行
../../vendor/bin/phpunit

# 或从项目根目录运行
./vendor/bin/phpunit packages/bramato/laravel-mcp-server/tests

许可证

该项目遵循 Other 开源许可条款,请参阅 Other 了解完整条款。