The Situation Room MCP 服务器
使用说明(Markdown 形式)
-
项目简介 The Situation Room MCP 服务器是一套基于 Model Context Protocol 的后端服务,旨在向 LLM 客户端以标准化的方式提供资源、工具、以及上下文模板等能力。它实现了 MCP 服务器核心功能,包括通过 JSON-RPC 接收请求、托管和管理资源、注册与执行工具、以及提供可渲染的提示模板,确保 LLM 能以一致的接口访问外部数据与服务。
-
主要功能点
- MCP 核心能力
- 资源与数据源访问:通过资源/源的 catalog 提供可发现的资源信息
- 工具注册与执行:注册和执行工具,LLM 可通过 RPC 调用外部功能
- 提示模板与上下文:支持提示模板和上下文的渲染/查询
- JSON-RPC 通信
- 客户端通过 /mcp 路径发送 JSON-RPC 请求,服务器返回标准的 JSON-RPC 响应
- 支持健康检查、工具目录查询、历史数据获取等请求
- 传输与代理
- HTTP 基础传输实现,后续可扩展为 SSE/WebSocket 等传输形式
- 安全与灵活性
- 提供对不同数据源的密钥/代理处理能力,支持只读的公开代理端点
- 可扩展的工具集、可配置的资源源,以及自定义的源
- MCP 核心能力
-
安装步骤
- 获取代码:将仓库克隆到本地
- 安装运行环境:确保 Node.js 18+ 环境就绪
- 启动 MCP 服务器(参考下方服务器配置)
- 访问 MCP 清单与端点
- MCP 清单:/ .well-known/mcp.json
- MCP 入口:/mcp(JSON-RPC 请求入口)
-
服务器配置(MCP 客户端需要的配置信息) 配置示例(JSON 结构,不作为代码块呈现,便于理解) { "serverName": "The Situation Room MCP Server", "command": "node", "args": ["gcp/mcp-proxy/server.js"], "description": "启动 MCP 服务器的命令及参数", "env": { "ALLOWED_ORIGINS": "https://congressionalinsights.github.io,http://localhost:5173", "OPEN_AAI_KEY": "", // 可选:OpenAI/相关秘钥 "DATA_GOV": "", // 若需要使用 Data.gov 数据源 "EIA": "", // EIA 数据源密钥 "SAMGOV_API_KEY": "" // SAM.GOV API Key(若使用 SAM 源) } } 说明:
- serverName 为 MCP 服务名称,client 端在登录或注册时可显示
- command/args 为启动 MCP 服务所需的命令与参数
- env 中的变量用于运行时配置,按仓库实际部署环境设置
- MCP 客户端无需额外的本地配置代码,客户端只需要启动命令即可连接到 MCP 服务器
-
基本使用方法
- 启动 MCP 服务器
- 运行上述命令(Node.js 环境),确保端口暴露正确
- 访问 MCP 清单
- 在浏览器或客户端中打开 http(s)://<服务器地址>/.well-known/mcp.json,确认端点、工具目录名单等信息
- 调用工具
- 客户端通过 JSON-RPC 请求向 /mcp 提交方法名(如 catalog.sources、raw.fetch、signals.list 等)以及参数,服务器返回标准的 JSON-RPC 响应
- 资源与工具管理
- 服务端已注册多组工具(如 catalog.sources、raw.fetch、raw.history、money.flows、signals.list、signals.get、search.smart),可按需扩展
- 监控与扩展
- 服务器具备健康检查、历史查询、以及代理/密钥管理能力,可在生产环境中按需启用额外的数据源代理
- 启动 MCP 服务器