Scout MCP 服务器端

使用说明(简明易懂,便于开发者快速理解和上手):

  • 项目简介

    • 该仓库实现了基于 Model Context Protocol(MCP)的服务器端组件,核心职责是以标准化方式向 LLM 客户端提供数据资源、工具执行能力以及可渲染的提示模板,支持通过 JSON-RPC 进行请求与响应,并具备会话管理和能力声明。还实现了 MCP 服务端与客户端之间的通信、工具注册、资源管理,以及对外提供的 API 入口点。
  • 主要功能点(简要概览)

    • 资源管理与数据访问:以项目/工作区级别隔离的数据资源与元数据管理,支持按需查询与访问控制。
    • 工具注册与执行:注册可调用的 External Tools,实现对外部功能的封装调用,供 LLM 使用。
    • 提示模板(Prompts)渲染:定义、渲染与管理对话中的 Prompt 模板,支持可定制交互模式。
    • JSON-RPC 通信:服务器端通过 JSON-RPC 处理来自 LLM 客户端的请求,返回标准化响应包并可发送通知。
    • 会话与能力声明:维护会话状态、能力清单、以及访问控制策略,支持多租户与权限管理。
    • 多传输协议支持:拟支持或实现通过 Stdio、SSE、WebSocket 等传输方式与客户端通信(仓库中有多处与前端/测试用例的集成示例)。
  • 安装步骤(简要版本)

    • 克隆仓库并配置运行环境(若采用本地开发环境,参考 README 的本地开发步骤)。
    • 安装依赖并配置数据库与缓存(如 PostgreSQL、Redis)。
    • 运行数据库迁移以建立所需的后端模型。
    • 启动后端 API、前端以及 MCP 服务器。仓库提供了用于本地开发的任务脚本与展示的 Procfile 形式:
      • 使用开发环境启动:同时启动 Django API、MCP 服务、前端等服务。
      • 也可通过 Docker Compose 启动整套服务(包含 API、前端、MCP、数据库、缓存)。
    • 端口示例(开发环境常见配置):
      • Django 后端/API:8000
      • MCP 服务器:8100
      • 前端 Vite / UI:5173
    • 运行后在浏览器/客户端按照 MCP 协议进行交互。
  • 服务器配置(MCP 客户端需要的连接信息,已基于仓库信息给出示例配置) 参考仓库中 MCP 服务器典型部署地址与端口配置,MCP 客户端的连接配置应包含服务器名称、启动命令及参数等,以帮助客户端正确启动/连接 MCP 服务。示例配置如下(仅作说明用途,具体落地以实际部署为准): { "server_name": "Scout MCP Server", "command": "uvicorn config.asgi:application --port 8100", "args": ["--reload"], "endpoint": "http://localhost:8100/mcp", "notes": "Scout 的 MCP 服务暴露在 /mcp 路径,客户端通过 MCP_SERVER_URL 指向该地址;本服务器实现包含资源、工具、Prompts 的 MCP API 与相关工具链。" }

  • 基本使用方法

    • 启动与连接:按照仓库提供的.dev/生产环境指引启动 MCP 服务器,确保 MCP_SERVER_URL 指向运行中的 MCP 实例的 /mcp 路径。
    • 客户端交互:LLM 客户端通过标准的 JSON-RPC 请求向 MCP 服务器请求资源、调用工具、获取 Prompts 等;服务器返回统一的 JSON-RPC 响应或通知。
    • 会话与权限:服务器端维护会话状态与能力清单,结合多租户场景实现资源隔离与权限控制,确保各租户/用户只访问授权范围内的资源和工具。
    • 安全与扩展:遵循仓库中的安全策略(如访问控制、SQL/资源验证、速率限制等),可扩展以增加新的 Tools、Prompts 与数据字典等。

服务器信息