TypeGraph MCP 服务器

TypeGraph MCP 使用说明

  • 项目简介 TypeGraph MCP 是一个以 MCP 协议为基础的服务器端实现,结合 tsserver 与模块导入图,为 AI 驱动的代码助手提供可结构化、可解析的上下文信息与外部能力。它提供 14 种语义工具用于 TypeScript 代码导航、定义/引用查询、类型信息、以及基于导入关系的模块图查询等,并在服务器端维护可增量更新的模块图。

  • 主要功能点

    • tsserver 相关工具(共 8 项)
      • ts_find_symbol:在文件中按名称查找符号位置
      • ts_definition:跳转到符号定义,支持跨导入、跨出口、跨 barrel 文件等
      • ts_references:查找符号的语义引用
      • ts_type_info:获取符号的类型信息与文档
      • ts_navigate_to:全局符号搜索,可选提供文件以覆盖对象字面量等未索引情况
      • ts_trace_chain:自动跟随定义跳转,形成调用链
      • ts_blast_radius:分析更改符号的潜在影响
      • ts_module_exports:列出模块的导出符号及类型
    • 模块导入图相关工具(共 6 项)
      • ts_dependency_tree:给定文件的依赖树(直接及传递性依赖)
      • ts_dependents:依赖该文件的所有文件(按包聚合)
      • ts_import_cycles:检测循环导入
      • ts_shortest_path:在导入图中找出两文件之间的最短路径
      • ts_subgraph:从种子文件扩展出的子图
      • ts_module_boundary:分析一组文件的边界、内部/外部依赖和孤岛化程度
    • 其他核心能力
      • 构建并维护模块图(oxc-parser + oxc-resolver,支持增量更新与文件监视)
      • 将 MCP 请求/响应通过 stdin/stdout 进行 JSON-RPC 风格通信
      • 对多传输通道的支持与会话/能力声明
      • 服务器端会话管理、健康检查与工具集成
  • 安装步骤

    1. 将仓库克隆到本地,进入项目根目录
    2. 安装依赖
      • 确保系统已安装 Node.js >= 18
      • 运行 npm install
    3. 启动 MCP 服务器
      • 直接运行:npx tsx server.ts(在项目根目录执行,需设置环境变量 TYPEGRAPH_PROJECT_ROOT、TYPEGRAPH_TSCONFIG)
      • 也可先构建再执行:npx tsup 执行打包,然后使用 npx tsx dist/server.js 启动
    4. 在客户端接入时,参考以下服务器配置示例进行连接配置(客户端配置不需要,本段用于理解服务器端所暴露的连接信息)
  • 服务器配置(MCP 客户端接入所需的配置示例,为 JSON 描述,字段含义与用途说明) 说明:该配置用于 MCP 客户端在连接时了解服务器名称、启动命令及参数等信息。字段解释如下:

    • name: 服务器名称,与 MCP 中注册的服务器标识一致 (typegraph)
    • command: 启动服务器所使用的命令
    • args: 启动命令的参数列表,包含脚本路径(server.ts 的可执行入口)
    • env: 启动时的环境变量,包含项目根路径与 tsconfig 路径等 具体示例(文字描述,不含实际代码块): { "name": "typegraph", "command": "npx", "args": ["tsx", "/absolute/path/to/your/project/plugins/typegraph-mcp/server.ts"], "env": { "TYPEGRAPH_PROJECT_ROOT": "/absolute/path/to/your/project", "TYPEGRAPH_TSCONFIG": "/absolute/path/to/your/project/tsconfig.json" } } 说明:
    • 服务器名称与 MCP 的注册名称应一致(typegraph)
    • command 与 args 指示 MCP 客户端如何启动服务器进程
    • env 中的 TYPEGRAPH_PROJECT_ROOT 指向要分析的目标项目根目录,TYPEGRAPH_TSCONFIG 指向 tsconfig.json 路径
    • 客户端无需读取服务器内部实现细节,只需含有启动命令与环境变量即可连接
  • 基本使用方法

    1. 启动 MCP 服务器后,客户端(如 Claude/Cursor 等)按 MCP 协议与该服务器建立连接
    2. 客户端即可调用下列工具(14 种)与图查询(6 种)来获取上下文信息、执行外部功能、渲染 Prompts 等
    3. 服务器端负责会话管理、能力声明、以及对资源/工具/ Prompts 的托管与渲染
    4. 如遇启动问题,可参考仓库的 health checks 与 smoke tests 进行自检

服务器信息