Smithery MCP 服务器运行环境

使用说明要点(简明、可操作):

  • 项目简介
    • 该仓库实现了一个面向大语言模型客户端的 MCP 服务器运行环境,核心功能包括:托管与管理资源以供数据访问、注册并执行工具以实现外部功能调用,以及定义与渲染可自定义的 Prompt 模板。服务器通过 JSON-RPC 与客户端通信,支持多传输协议以满足不同场景的接入需求。
  • 主要功能点
    • 资源与工具管理:服务器端可暴露资源、工具和 Prompts,LLM 客户端可通过标准接口读取、执行与渲染。
    • 会话与状态管理:包含状态化(stateful)与无状态(stateless)两种运行模式,支持会话级别的数据保存与跨请求保持。
    • 传输协议支持:内置对 StdIO 与 HTTP 等传输的支持,便于本地开发、调试以及云端部署。
    • 服务打包与部署:提供 bundle/manifest 流程,支持将服务及其能力打包为可部署的 MCPB/模块化包,以及从 bundle 中 Hydrate 出命令、参数和环境变量。
    • 身份与授权:通过可选的授权适配器支持鉴权流程,便于对外暴露的能力进行访问控制。
  • 安装步骤
    • 先安装 Smithery CLI(全局安装):
      • npm install -g @smithery/cli@latest
    • 构建示例服务(根据需要选择 shttp/stdio 传输):
      • 使用 CLI 构建或使用仓库内示例服务器代码,输出到本地目录。
    • 启动服务器示例(StdIO 模式):
      • node <输出目录>/index.js sessionTimeout=3600 maxConnections=100
    • 生产环境部署通常通过 CLI 的打包与发布流程完成,将构建产物打包为可发布的 MCP Bundle。
  • 服务器配置(JSON 形式,示例描述性信息,方便 MCP 客户端理解如何连接与启动)
    • 说明:MCP 客户端需要的仅是服务器的启动指令与参数,以建立连接。以下仅为示例结构描述,实际使用时请替换为你自己的服务器名称、启动命令与参数。
    • 示例结构(描述性文本,不包含可执行代码):
      • 服务器名称(serverName): "my-org/my-server"
      • 启动命令(command): "node"
      • 启动参数(args): ["./path/to/output/module.js", "sessionTimeout=3600", "maxConnections=100"]
      • 额外环境变量(env): { "API_KEY": "<your-key>" }(可选)
    • 配置说明
      • 该配置用于 MCP 客户端在建连时通过指定的启动命令和参数来启动服务器进程,从而与 MCP 服务进行通信。
  • 基本使用方法
      1. 安装并构建服务后,获取可执行的启动命令与参数(如 node <path> ...)。
      1. 将上述启动信息提供给需要连接的客户端(如 LLM 应用、代理组件等)。客户端会通过标准接口与 MCP 服务器进行资源访问、工具调用以及 Prompts 渲染。
      1. 如需本地调试,可以使用 StdIO 模式启动,便于在本地命令行查看日志与输出。

服务器信息