Forge MCP Server

使用说明(Markdown 格式)

  • 项目简介
    • Forge 提供一个 MCP 服务器端实现,核心职责是以标准化的 JSON-RPC 协议向 LLM 客户端暴露模型上下文能力。它托管并管理资源(Resources,数据访问能力)、注册与执行工具(Tools,外部功能调用)以及定义/渲染 Prompt 模板(Prompts),并支持会话管理与能力声明。服务器端实现了 Model Context Protocol 的服务端行为,允许通过多种传输协议进行通信(包括 STDIO、SSE、WebSocket 等)。
  • 主要功能点
    • MCP 服务端核心:通过 JSON-RPC 处理请求与通知,提供资源、工具、Prompts 的注册、查询与执行能力。
    • 资源与工具管理:托管数据资源、注册可调用的工具,并支持 LLM 调用外部工具以完成任务。
    • Prompt 管理与渲染:提供可定制的 Prompt 模板,便于在对话中形成一致的上下文和交互模式。
    • 会话与能力声明:服务端负责会话管理、能力对外声明,确保不同客户端之间的协作可控与可扩展。
    • 多传输协议支持:设计上支持多种传输协议(如 STDIO、SSE、WebSocket 等),方便在不同运行环境中的接入。
  • 安装与运行
    • 编译与安装
      • 使用 Rust 的 Cargo 进行构建与安装(需安装 Rust 与 Cargo)。
      • 构建命令(在仓库根目录执行):cargo build --release
      • 本地安装(可选,需已构建成功):cargo install --path .
    • 启动 MCP 服务
      • 直接以命令行启动 MCP 服务:forge mcp
      • 注:该启动方式在 Forge 的命令行界面中通过 ForgeMcpServer 实现,基于异步运行与 stdio 传输。
  • 服务器配置(MCP 客户端需要的最小配置信息)
    • MCP 客户端的配置以 JSON 结构表示,用于指示要连接的 MCP 服务器的启动命令与参数。示例配置如下(请按实际环境替换 serverName、command、args 的值):
    • serverName: forge
    • command: forge
    • args: ["mcp"] 配置信息示例(非代码块展示形式) { "serverName": "forge", "command": "forge", "args": ["mcp"] } 说明:
    • serverName:在 MCP 客户端侧的服务器标识名称,便于在多服务器场景中区分。
    • command:启动 MCP 服务器的可执行程序名称,这里对应 Forge 的入口命令。
    • args:启动参数数组,这里传递 "mcp" 以进入 MCP 服务模式。
  • 基本使用方法
    • 启动服务器后,MCP 客户端(如 Claude Desktop/Claude Code 等)可以通过对应的 JSON-RPC 流与服务器交互,获取资源、调用工具、执行 Prompts 等能力。
    • 客户端可以调用 Forge 提供的 20 种工具(如 forge_validate、forge_calculate、forge_export 等)来完成模型验证、计算、导出等任务,并通过 MCP 的能力对外提供能力声明。
  • 额外信息
    • 本实现的核心调用路径基于 JSON-RPC,结合 Forge 的 YAML/模型计算能力,形成一个可扩展的上下文服务框架,面向 LLM 客户端的后端支撑。
    • 参考文档与集成指南位于 docs/MCP.md(仓库中提及的全量工具与集成说明)。
  • 运行与验证
    • 通过 Forge 自带的测试/示例用例可以在本地进行 MCP 服务的集成测试,确保 Tool 注册、资源访问、Prompt 渲染等能力能被正确调用。

服务器信息