Token导航 LogoToken导航

MCP Server · AI代理

Laravel MCP Server (Bramato)

一个用于构建Model Context Protocol (MCP)服务器的Laravel基础包,支持多种传输协议(Stdio、HTTP、WebSocket)并实现JSON-RPC 2.0请求解析和响应格式化。

HTTP官方级别未说明来源级核验工具 1
PHP服务器开发WebSocket

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
bramato
提供方
bramato

工具数量

1

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

2 个

MCP World

选型结论

Laravel MCP Server (Bramato) 属于AI代理类 MCP Server,公开资料标注 1 个工具,通过HTTP 远程服务接入,客户端适配情况以官方文档为准,没有现成的安装命令;接入前要先准备 访问 Token。

分类

AI代理

传输方式

HTTP

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

远程服务不用写启动命令,在客户端 MCP 配置里填服务地址即可,具体字段按官方文档填写。

上手步骤

  1. 1

    确认访问方式

    这是HTTP 远程服务,本地不用装依赖;先确认服务地址、账号归属和额度,再决定接哪个客户端。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填服务地址;需要授权的先完成登录,再回到客户端刷新。

  4. 4

    验证是否可用

    连接成功后客户端会列出 1 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

Laravel MCP服务器(bramato/Laravel MCP服务器)

用于构建的Laravel基础包 模型上下文协议(MCP) 服务器。

此包提供了处理不同传输方式(Stdio、HTTP、通过Reverb的WebSocket)上的MCP请求的基本基础设施。它使用优秀的 sajya/服务器 库内部用于强大的JSON-RPC 2.0请求解析和响应格式化。

你需要实施你自己的 ResourceInterface 和 ToolInterface 类(使用 Bramato\\LaravelMcpServer\\Mcp\\Interfaces 命名空间)并在配置文件中注册它们,以根据MCP规范公开应用程序的数据和功能。

安装

您可以通过composer安装该软件包:

composer require bramato/laravel-mcp-server

接下来,您应该使用 vendor:publish Artisan命令:

php artisan vendor:publish --provider="Bramato\LaravelMcpServer\Providers\McpServiceProvider" --tag="config"

这将创建一个 config/mcp.php 应用程序配置目录中的文件,您可以在其中自定义服务器的行为。

配置

这 config/mcp.php 文件允许您配置:

  • enabled_transports:选择运输方式(stdio, http, websocket)活跃。
  • transports:为每个传输配置详细信息(例如,中的HTTP路径 transports.http.path).
  • authentication:基本身份验证设置(支持 none 或 token 通过 authentication.driver).对于令牌身份验证,请在中指定标头名称 authentication.options.header.
  • resources: 注册您的MCP资源。 提供一组完全限定的类名,以实现 Bramato\\LaravelMcpServer\\Mcp\\Interfaces\\ResourceInterface.
  • tools: 注册您的MCP工具。 提供一组完全限定的类名,以实现 Bramato\\LaravelMcpServer\\Mcp\\Interfaces\\ToolInterface。这相当于可执行工具的白名单。
  • logging:为特定于包的日志配置日志记录通道和级别。

创建资源和工具

此包提供了接口,但您需要实现实际的逻辑。

示例:创建资源

  1. 创建资源类(例如,在 app/Mcp/Resources/UserProfileResource.php):
   namespace App\Mcp\Resources;

   use Bramato\LaravelMcpServer\Mcp\Interfaces\ResourceInterface;
   use Illuminate\Support\Facades\Auth;

   class UserProfileResource implements ResourceInterface
   {
       public function getUri(): string { return 'user://profile'; } // Unique URI for this resource
       public function getName(): string { return 'User Profile'; }
       public function getDescription(): string { return 'Provides information about the authenticated user.'; }
       public function getMimeType(): string { return 'application/json'; }

       public function getContents(): mixed
       {
           $user = Auth::user(); // Example: Get authenticated user
           if (!$user) {
               return null; // Or throw an exception mapped to an error
           }
           return [
               'id' => $user->id,
               'name' => $user->name,
               'email' => $user->email,
           ];
       }
   }
  1. 在中注册 config/mcp.php:
   // config/mcp.php
   return [
       // ... other config
       'resources' => [
           \App\Mcp\Resources\UserProfileResource::class,
       ],
       // ...
   ];

示例:创建工具

  1. 创建你的工具类(例如,在 app/Mcp/Tools/SendNotificationTool.php):
   namespace App\Mcp\Tools;

   use Bramato\LaravelMcpServer\Mcp\Interfaces\ToolInterface;
   // use App\Jobs\ProcessNotificationJob; // Example Job
   use Illuminate\Support\Facades\Log;

   class SendNotificationTool implements ToolInterface
   {
       public function getName(): string { return 'sendNotification'; }
       public function getDescription(): string { return 'Sends a notification to a user.'; }

       public function getInputSchema(): array
       {
           // Define expected parameters using JSON Schema format
           return [
               'type' => 'object',
               'properties' => [
                   'user_id' => ['type' => 'integer', 'description' => 'ID of the target user'],
                   'message' => ['type' => 'string', 'description' => 'The notification message content'],
               ],
               'required' => ['user_id', 'message'],
           ];
       }

       public function execute(array $arguments): mixed
       {
           Log::info('Executing sendNotification tool', $arguments);
           // ** Add your logic here **
           // Example: Validate input, find user, dispatch a Job
           // ProcessNotificationJob::dispatch($arguments['user_id'], $arguments['message']);
           return ['status' => 'queued', 'user_id' => $arguments['user_id']];
       }
   }
  1. 在中注册 config/mcp.php:
   // config/mcp.php
   return [
       // ... other config
       'tools' => [
           \App\Mcp\Tools\SendNotificationTool::class,
       ],
   ];

用法

如何运行服务器取决于启用的传输:

  • 标准输入输出:运行Artisan命令: php artisan mcp:server --transport=stdio.
  • 超文本传输协议:确保您的网络服务器(例如。, php artisan serve 或Nginx/Apache)正在运行。将JSON-RPC POST请求发送到中配置的路径 mcp.transports.http.path (默认值: /mcp-rpc).
  • WebSocket(反向):

1. 在主应用程序中安装并配置Laravel Reverb: php artisan reverb:install. 1. 确保 websocket 运输列在 enabled_transports 在……里面 config/mcp.php. 1. 启动Reverb服务器: php artisan reverb:start. 1. 将MCP WebSocket客户端连接到Reverb服务器端点(检查Reverb配置)。

测试

该软件包包括一个使用PHPUnit和Orchestra Testbench的基本测试套件。

# From the package directory (packages/bramato/laravel-mcp-server)
../../vendor/bin/phpunit

# Or from the project root
./vendor/bin/phpunit packages/bramato/laravel-mcp-server/tests

安全考虑

MCP规范没有定义客户端和服务器之间的身份验证或授权机制。此套餐提供:

  • 工具白名单:仅在 tools 数组in config/mcp.php 可以执行。
  • 基本令牌身份验证:您可以通过启用基于令牌的身份验证 authentication 配置部分。

重要确实如此 你的责任 在您的系统中实现细粒度的授权逻辑 ToolInterface::execute 和 ResourceInterface::getContents 方法。使用Laravel的盖茨和策略或其他授权机制来确保请求客户端具有访问特定资源或执行特定工具的必要权限。

贡献

请看 CONTRIBUTING.md 详情(如有)。

许可证

MIT许可证(MIT)。请查看 许可证.md 文件以获取更多信息。

工具与能力

工具数量

1

资源数量

0

提示词数量

0

能力标签

PHP本地部署Laravel扩展MCP协议JSON-RPC服务器开发WebSocket

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 1 个工具,职责集中,接入后不容易误操作。
  • 走远程地址,接入方不用在本地装运行环境。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到访问 Token的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Laravel MCP Server (Bramato)

MCP World · 本页

1HTTP未标注2 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Laravel MCP Server (Bramato) 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Laravel MCP Server (Bramato) 怎么在 Claude Desktop、Cursor 里配置?

它是HTTP 远程服务,在客户端的 MCP 配置里填服务地址即可,不用本地装依赖;需要授权或 API Key 的,先在官方页面拿到凭据再填。

Laravel MCP Server (Bramato) 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Laravel MCP Server (Bramato) 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Laravel MCP Server (Bramato) 支持哪些客户端?

公开资料没有标注具体客户端;支持远程 MCP 地址的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP