项目简介

这个Laravel扩展包实现了Model Context Protocol (MCP) 标准,将您的Laravel应用通过Laravel Telescope收集的遥测数据(如日志、请求、错误、数据库查询、队列任务等)暴露给支持MCP的AI客户端或开发助手(如Cursor, Claude, Copilot Chat)。开发者可以使用AI助手通过自然语言方便地查询和分析应用的运行时数据。

主要功能点

  • 数据暴露: 以结构化方式通过 MCP 标准接口提供 Laravel Telescope 中的各类遥测数据。
  • 工具调用: 支持 AI 助手调用预设的 MCP 工具来执行特定的数据查询、过滤和分析操作。
  • 能力声明: 提供标准的 MCP Manifest (清单),向客户端声明可用的工具及其参数 schema。
  • 灵活配置: 支持自定义 MCP 端点的路径、启用/禁用状态以及应用额外的 Laravel 中间件进行认证或访问控制。
  • 丰富的工具集: 内置多种工具,可以查询日志、HTTP请求、数据库查询、异常、队列任务、缓存、事件、通知、命令行执行等。

安装步骤

  1. 在您的 Laravel 应用中,确保已经正确安装并配置了 Laravel Telescope。
  2. 使用 Composer 安装此扩展包: 'composer require lucianotonet/laravel-telescope-mcp'
  3. (可选)发布配置文件,以便自定义设置: 'php artisan vendor:publish --provider="LucianoTonet\TelescopeMcp\TelescopeMcpServiceProvider"'
  4. (可选)在您的 '.env' 文件中配置 MCP 服务器的启用状态和访问路径(默认为 'telescope/mcp'):
    TELESCOPE_MCP_ENABLED=true
    TELESCOPE_MCP_PATH=my-mcp-endpoint
  5. 运行迁移(如果 Telescope 配置为使用数据库存储):'php artisan migrate' (如果 Telescope migrations 已运行,此步可能不需要或需 '--path=vendor/laravel/telescope/database/migrations' 并配合 Telescope 配置)
  6. 通过浏览器访问您的应用 URL 加上配置的 MCP 路径和 '/manifest.json'(例如 'http://localhost:8000/my-mcp-endpoint/manifest.json' 或 'https://your-app.com/telescope/mcp/manifest.json'),如果能看到 JSON 响应,表示安装成功。

MCP客户端配置

要连接到您的 Laravel Telescope MCP 服务器,您需要在支持 MCP 的 AI 客户端中进行配置。大多数客户端通过 JSON 格式配置 MCP 服务器的连接信息。由于这是一个基于 HTTP/S 的服务器,客户端通常需要使用 'mcp-remote' 这样的工具作为桥梁来连接。

以下是一个 Cursor 客户端的配置示例(请根据您的实际情况修改):

{
  "mcpServers": {
    "您的服务器名称 (例如: My App Telescope Data)": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "您的MCP服务器的完整URL (例如: https://myapp.com/telescope/mcp)",
        "--allow-http" // 如果您在开发环境使用 HTTP,请添加此参数
      ],
      "env": { "NODE_TLS_REJECT_UNAUTHORIZED": "0" } // 如果您的服务器使用自签名 HTTPS 证书,可能需要此参数
    }
  }
}

请参考您的 AI 客户端文档,找到配置 MCP 服务器的选项,然后将上述 JSON 片段添加到您的配置中,并确保 URL 正确指向您的 Laravel 应用的 MCP 端点路径。

基本使用方法

成功配置 MCP 服务器后,您可以在 AI 客户端的聊天界面中通过自然语言与您的应用遥测数据进行交互。AI 助手会识别您的问题并调用相应的 MCP 工具来获取信息。

例如,您可以尝试问:

  • "List the last 10 log entries." (列出最近10条日志。)
  • "Show me failed jobs." (显示失败的队列任务。)
  • "Find all HTTP requests with status code >= 500." (查找所有状态码大于等于500的HTTP请求。)
  • "Which SQL queries took longer than 100ms?" (哪些 SQL 查询耗时超过100毫秒?)

AI 助手将使用此扩展包提供的工具查询 Telescope 数据,并将结果呈现给您。

信息

分类

开发者工具