Onshape MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • 该仓库实现了一个完整的 MCP 服务器,用于向 LLM 客户端提供 Onshape 的 API 上下文、可用资源与工具。核心通过“资源(Resources)”“工具(Tools)”“提示模板(Prompts)”等对象,遵循 MCP 协议进行数据交换,支持多传输方式并具备认证与会话管理能力。
  • 主要功能点

    • MCP 核心能力
      • 资源托管与数据访问:将 Onshape 的资源信息编译打包并对外提供读取接口。
      • 工具注册与执行:注册并执行用于读取、查询和调用 Onshape API 的工具集合,支持结果的结构化返回。
      • Prompts 定义与渲染:提供可定制的提示模板,用于 LLM 的交互模式。
    • MCP 客户端通信
      • 通过 JSON-RPC 风格的请求/响应与客户端交互,支持读取资源、调用工具、获取提示等能力。
    • 安全与会话
      • 支持两种身份认证方式(API Key Basic、OAuth),含令牌管理、刷新及代理模式。
    • 传输协议
      • 支持多种传输通道(包括标准输入输出、SSE/WebSocket 等),实现无 I/O 的 sans-IO 设计分离。
    • Onshape 集成
      • 将 Onshape 的 OpenAPI 规范嵌入到服务器中,提供通用的 API 搜索/解释/调用工具。
    • 资源与工具的扩展性
      • 资源采用编译期生成的静态目录,便于快速查询与渲染;工具集合通过核心模块动态提供,便于未来扩展。
    • 依赖与生态
      • 采用 Rust 生态、OpenAPI 规格与 OAuth2 业务逻辑,包含与 Onshape API 的对接、令牌文件 I/O、以及代理模式的实现。
  • 安装步骤

    • 安装 Rust 环境(如 rustup + cargo)。
    • 从源码构建并安装可执行文件(Cargo 安装或自行编译后安装):
      • 通过 cargo install onshape-mcp 安装可执行二进制。
      • 或在本地源码根目录编译运行自带的二进制。
    • 一旦安装完成,客户端(如 Claude Desktop、OpenCode 等 MCP 客户端)将自动启动并连接到 MCP 服务器。
  • 服务器配置(供 MCP 客户端配置参考)

    • 该 MCP 服务器的目标是被 MCP 客户端直接发现并启动。以下 JSON 给出针对 MCP 客户端应配置的服务器信息,描述服务器名称、启动命令及参数等信息,实际配置通常通过客户端的 MCP 配置来引导服务器进程启动。请勿在此处硬编码凭证,凭证应通过环境变量提供(示例仅用于描述字段含义):
    • 服务器配置示例(JSON,字段含义在括号中): { "server_name": "onshape", "command": "npx", "args": ["--yes", "onshape-mcp"], "env": { "ONSHAPE_MCP_AUTH__ACCESS_KEY": "<your-access-key>", "ONSHAPE_MCP_AUTH__SECRET_KEY": "<your-secret-key>" } // 注:以上凭证通过环境变量传递,MCP 客户端负责将其注入到子进程环境中 }
    • 说明
      • server_name: MCP 服务器的标识名称,便于客户端区分多台 MCP 服务器。
      • command/args: MCP 服务器的启动命令及其参数,示例中使用 npx 启动 onshape-mcp 包。
      • env: 启动时注入的环境变量,用于 Onshape 的 API Key/Secret(若使用 OAuth,请参考文档配置对应的变量)。
      • MCP 客户端需要配置该服务器以便启动服务器进程并与之建立连接;服务器本身会提供不同传输通道的能力,具体传输选择由客户端决定。
  • 基本使用方法

    • 启动与连接
      • MCP 客户端读取配置后自动启动该服务器进程(如通过 npx 命令启动 onshape-mcp),并通过标准输入/输出等通道与服务器进行通讯。
    • 功能调用
      • 通过 MCP 客户端向服务器发送资源读取、工具调用、Prompts 获取等请求,服务器返回标准化的 JSON-RPC 响应。
    • 认证与会话
      • 根据 Onshape 授权方式,服务器支持 API Key 以及 OAuth 2.0 的授权流程,支持令牌刷新和代理模式。
    • 资源与工具扩展
      • 资源与工具可以随 Onshape OpenAPI 的更新进行扩展,服务器端将持续提供对外的资源/工具接口。
  • 注意事项

    • 该实现包含多种模块(核心 MCP 逻辑、I/O 转换、资源库、OAuth 登录与令牌管理、OpenAPI 解析与请求构建等),如需定制,请查看源码中 onshape-mcp-core、onshape-mcp-io、onshape-mcp-resources 等目录下的实现细节。
    • MCP 服务器的健康和安全性依赖于正确的身份认证配置、证书与重定向设置,请在生产环境中遵循官方文档的安全最佳实践。

服务器信息