Back to MCP directory
publicPublicdnsLocal runtime

laravel-mcp-sdk

Laravel MCP是一个用于在Laravel应用中实现模型上下文协议(MCP)的包,提供AI模型与Laravel应用之间的标准化通信接口,支持多种传输方式和丰富的功能特性。

article

README

🚀 Laravel MCP 框架指南

Laravel MCP 是一个基于 Laravel 的任务处理框架,提供分布式计算能力,支持多种任务分发策略,内置完善的日志系统,还有实时监控界面,采用插件式架构设计,扩展性强。

🚀 快速开始

按照以下步骤快速开启 Laravel MCP 框架的使用之旅:

安装

通过 Composer 进行安装:

composer require mohamed-laravel/mcp

添加 MCP 服务提供者到 config/app.php

'Mohamed\LaravelMCP\MCPServiceProvider',

发布 MCP 资源:

php artisan vendor:publish --provider "Mohamed\LaravelMCP\MCPServiceProvider" --tag mcp

配置

config/mcp.php 中进行配置:

'key' => env('MCP_KEY'),
'master_key' => env('MCP_MASTER_KEY'),
'domain' => 'yourdomain.com',

运行迁移:

php artisan mcp:migrate

✨ 主要特性

  • 任务分发:支持多种任务分发策略。
  • 日志记录:内置完善的日志系统。
  • 监控控制台:提供实时监控界面。
  • 扩展性:插件式架构设计。

📦 安装指南

安装 MCP 包

使用 Composer 安装 MCP 包:

composer require mohamed-laravel/mcp

注册服务提供者

将 MCP 服务提供者添加到 config/app.php 中:

'Mohamed\LaravelMCP\MCPServiceProvider',

发布资源

发布 MCP 资源:

php artisan vendor:publish --provider "Mohamed\LaravelMCP\MCPServiceProvider" --tag mcp

配置与迁移

config/mcp.php 中配置相关参数:

'key' => env('MCP_KEY'),
'master_key' => env('MCP_MASTER_KEY'),
'domain' => 'yourdomain.com',

运行迁移命令:

php artisan mcp:migrate

💻 使用示例

基础用法

安装 MCP 服务

app/Services 目录下创建 McpService.php

namespace App\Services;

use Mohamed\LaravelMCP\Facades\MCP;
use Illuminate\Support\Facades\Log;

class McpService {
    public function run() {
        try {
            MCP::setKey('your-key');
            MCP::setMasterKey('master-key');
            Log::info('Starting MCP Service...');
            // 执行 MCP 任务
            $result = MCP::runTask('task-id', ['param1', 'param2']);
            Log::info("Task completed with result: " . json_encode($result));
        } catch (\Exception $e) {
            Log::error("MCP Task failed: " . $e->getMessage());
        }
    }
}

MCP 控制台

app/Console 目录下创建 McpCommand.php

namespace App\Console;

use Illuminate\Console\Command;
use Mohamed\LaravelMCP\Facades\MCP;

class McpCommand extends Command {
    protected $signature = 'mcp:run';
    
    public function handle() {
        try {
            MCP::setKey('your-key');
            MCP::setMasterKey('master-key');
            $result = MCP::runTask('task-id', ['param1', 'param2']);
            $this->info('MCP Task completed successfully!');
            $this->line("Result: " . json_encode($result));
        } catch (\Exception $e) {
            $this->error("Error running MCP Task: " . $e->getMessage());
        }
    }
}

📚 详细文档

详细文档请访问 LaravelMCP 官方网站

🔧 技术细节

项目结构

| 属性 | 详情 | |------|------| | 服务类目录 | app/Services:放置 MCP 服务类 | | 控制台命令目录 | app/Console:放置 MCP 控制台命令 | | 配置文件 | config/mcp.php:配置文件 |

📄 许可证

本项目采用 MIT 许可证。具体信息请查看 LICENSE.md

🌟 贡献

欢迎贡献!请阅读 CONTRIBUTING.md 了解如何参与。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client