@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:相对路径 |
______________________________________________________________________
📖 工作流示例
- 全球意识:AI呼叫
get_repo_map并发现src/services/user.ts出口aUserService类。 - 结构预览:AI呼叫
read_skeleton并看到aupdateEmail(id: string, email: string)方法,无需加载500行实现。 - 深入探究:AI决定修改逻辑和调用
get_method_body只取updateEmail源代码,以最小的令牌成本完成重构。
______________________________________________________________________
🧪 开发与测试
此项目使用 vitest 为了进行严格的逻辑验证:
# Run unit tests
yarn test
# Developer mode (watch mode)
yarn start # Automatically executes tsc --watch
*测试用例涵盖了RepoMap生成、路径别名解析、类成员提取和实现隐藏。*
______________________________________________________________________
