ImmyGo MCP 服务器

使用说明

  • 项目简介
    • 该仓库实现了一个 MCP 服务器,遵循 MCP 的 JSON-RPC 2.0 规范,核心能力包括初始化通信、工具列表查询、工具调用以及返回结构定义,便于外部 AI 编辑器通过 MCP 与 ImmyGo 的 API 参考、代码生成功能和文档检索能力进行交互。
  • 主要功能点
    • MCP 服务器实现:
      • 处理 initialize、tools/list、tools/call 等 MCP 请求,返回标准化结果或错误信息。
      • 提供三种工具:immygo_widget_catalog、immygo_generate_code、immygo_search_docs,分别用于 UI API 参考、从描述生成代码、文档检索。
    • 服务器运行模式:
      • 采用按行的 JSON-RPC 2.0 消息(newline-delimited)读写,便于与流水线式客户端集成。
    • 其他组件:
      • 提供与 MCP 客户端的交互示例(端到端执行的实现和工具分发逻辑),以及可与 AI 编辑器协同工作的完整数据结构。
  • 安装步骤
    • 需要 Go 环境,编译并运行 MCP 服务端:
      • go build ./cmd/immygo/mcp
      • 运行可执行程序,以标准输入输出与 MCP 客户端通信(默认以 stdio 模式工作)。
    • 使用前准备
      • MCP 客户端需要配置服务器信息(名称、启动命令和参数),客户端会通过你的命令启动 MCP 服务器并进行初始化。
  • 服务器配置
    • MCP 客户端需要配置 MCP 服务器启动信息(不要求你修改服务器源码,本段用于客户侧配置说明):
    • 配置示例(JSON,供 MCP 客户端读取): { "serverName": "immygo", "command": "go", "args": ["run", "./cmd/immygo", "mcp"] }
    • 配置字段说明
      • serverName: MCP 服务器在本地或网络中的标识名称,便于管理及日志筛选。
      • command: 启动 MCP 服务器所使用的命令(可执行文件或脚本的主命令)。
      • args: 启动命令的参数列表,通常包含路径和模式,例如 ["run", "./cmd/immygo", "mcp"],用于启动 ImmyGo 的 MCP 服务端。
  • 基本使用方法
    • 启动与调用
      • MCP 客户端通过配置的启动命令启动 ImmyGo MCP 服务器,随后可以通过初始化、查询工具列表和调用工具来实现 UI API 参考、代码生成和文档检索等能力。
    • 调用流程
      • 客户端发送 initialize 请求,服务器返回能力与服务信息。
      • 客户端请求 tools/list,获取可用工具清单。
      • 客户端用 tools/call 调用具体工具(如 immygo_generate_code),传入相应参数,服务器返回 ContentBlock 组成的结果或错误信息。
    • 运行与调试
      • 服务器以标准输入输出形式工作,确保 MCP 客户端与服务器之间的通信线路稳定。

服务器信息