TypeScript MCP 服务器

一个基于AST的TypeScript MCP服务器,用于生成高效AI上下文、依赖关系图和代码骨架,为LLMs提供精确的大规模代码库感知。

  • by Saber2pr
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Saber2pr/ts-context-mcp

使用说明

@saber2pr/ts上下文mcp

TypeScript原生MCP服务器:利用AST(抽象语法树)生成高效的AI上下文、依赖关系图和代码骨架,为LLM提供精确的大规模代码库感知。

🌟 主要特点

由 PromptEngine,该工具将复杂的TypeScript代码转换为易于人工智能理解的结构化信息,同时具有极高的令牌效率:

  • 智能RepoMap:扫描整个项目,自动从所有文件中提取导出符号,帮助AI快速定位功能模块。
  • AST代码骨架(read_skeleton):使用TypeScript编译器API去掉实现细节,只留下接口、类成员和方法签名。这节省了 60%-90% 与阅读完整的源代码相比,令牌消耗更少。
  • 精确方法提取(get_method_body):允许AI获取特定方法或函数的完整实现,避免了仅仅为了理解单个逻辑块而加载大量文件的需要。
  • 深度依赖性分析:本地支持 tsconfig.json 路径别名解析(例如。, @/*),完美地跟踪大型项目中复杂的内部引用。

🛠 安装和配置

1.安装依赖项

yarn add @saber2pr/ts-context-mcp
# or
npm install @saber2pr/ts-context-mcp

2.在MCP客户端中配置(例如,Claude桌面/光标)

将以下内容添加到MCP配置文件中(例如。, claude_desktop_config.json):

{
  "mcpServers": {
    "ts-architect": {
      "command": "node",
      "args": ["/path/to/your/project/lib/mcp.js"],
      "env": {
        "PROJECT_ROOT": "/your/target/typescript/project"
      }
    }
  }
}


🧰 可用工具

工具名称 描述 参数
get_repo_map 返回全局文件结构和导出列表(RepoMap)。 无
read_skeleton 提取结构定义(接口、类、签名),隐藏逻辑。 filePath:相对路径
analyze_deps 使用分析文件依赖关系 tsconfig 别名解析支持。 filePath:相对路径
get_method_body 获取特定方法或函数的完整实现。 filePath, methodName
read_full_code 读取完整的源代码(仅在必要时使用)。 filePath:相对路径

📖 工作流示例

  1. 全球意识:AI呼叫 get_repo_map 并发现 src/services/user.ts 出口a UserService 类。
  2. 结构预览:AI呼叫 read_skeleton 并看到a updateEmail(id: string, email: string) 方法,无需加载500行实现。
  3. 深入探究:AI决定修改逻辑和调用 get_method_body 只取 updateEmail 源代码,以最小的令牌成本完成重构。

🧪 开发与测试

此项目使用 vitest 为了进行严格的逻辑验证:

# Run unit tests
yarn test

# Developer mode (watch mode)
yarn start # Automatically executes tsc --watch

测试用例涵盖了RepoMap生成、路径别名解析、类成员提取和实现隐藏。


📄 许可证

ISC许可证