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 风格通信
- 对多传输通道的支持与会话/能力声明
- 服务器端会话管理、健康检查与工具集成
- tsserver 相关工具(共 8 项)
-
安装步骤
- 将仓库克隆到本地,进入项目根目录
- 安装依赖
- 确保系统已安装 Node.js >= 18
- 运行 npm install
- 启动 MCP 服务器
- 直接运行:npx tsx server.ts(在项目根目录执行,需设置环境变量 TYPEGRAPH_PROJECT_ROOT、TYPEGRAPH_TSCONFIG)
- 也可先构建再执行:npx tsup 执行打包,然后使用 npx tsx dist/server.js 启动
- 在客户端接入时,参考以下服务器配置示例进行连接配置(客户端配置不需要,本段用于理解服务器端所暴露的连接信息)
-
服务器配置(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 路径
- 客户端无需读取服务器内部实现细节,只需含有启动命令与环境变量即可连接
-
基本使用方法
- 启动 MCP 服务器后,客户端(如 Claude/Cursor 等)按 MCP 协议与该服务器建立连接
- 客户端即可调用下列工具(14 种)与图查询(6 种)来获取上下文信息、执行外部功能、渲染 Prompts 等
- 服务器端负责会话管理、能力声明、以及对资源/工具/ Prompts 的托管与渲染
- 如遇启动问题,可参考仓库的 health checks 与 smoke tests 进行自检