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 与数据字典等。