代码库探索工具

提供高精度的AST感知工具,用于导航复杂的TypeScript/JavaScript代码库,支持符号解析、引用查找和代码搜索等功能。

  • by getaiready
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 getaiready/aiready-ast-mcp-server

使用说明

@airready/ast mcp服务器

用于AI代理的最佳Types/JavaScript代码库探索。

此模型上下文协议(MCP)服务器为导航复杂的代码库提供了高精度、AST感知的工具。与标准搜索工具不同,它理解导入、导出、类型和引用。

🚀 主要特点

  • 混合索引联合 ripgrep 加速 ts-morph 精度。仅将相关文件加载到内存中以处理大量的monorepos。
  • O(1)符号分辨率:使用预构建的磁盘缓存立即查找任何函数、类或类型的定义位置。
  • 外科参考发现:使用两阶段查找(Regex+AST)来查找整个项目中符号的每次使用,而不会出现OOM崩溃。
  • Monorepo智能:自动发现 tsconfig.json 边界和尊重TypeScript项目引用。
  • 零配置:捆绑 ripgrep 二进制文件,并开箱即用地处理所有TypeScript解析。
  • 路径安全:针对路径遍历和恶意代理输入进行加固。

🛠 提供的工具

工具 目的
resolve_definition 查找符号的定义位置(文件、行、签名、JSDoc)。
find_references 查找项目中符号的所有用法(分页)。
find_implementations 查找实现接口/抽象类的具体类。
get_file_structure 返回文件的结构树(类、方法、枚举)。
search_code 通过捆绑的ripgrep快速搜索正则表达式。
get_symbol_docs 提取任何符号的完整JSDoc/TSDoc元数据。
get_call_hierarchy 查找符号的呼叫者和被呼叫者(传入/传出)。
build_symbol_index 为项目预热磁盘缓存(强烈建议)。

📦 安装

npx -y @aiready/ast-mcp-server

⚙️ 配置

环境变量

  • AST_WORKSPACE_ROOT:允许的工作区根的路径(默认值: cwd).
  • AST_MAX_HEAP_MB:AST项目允许的最大内存(默认值: 1536).
  • AST_WORKER_POOL_SIZE:用于解析的工作线程数(默认值: 2).

代理配置(光标/克劳德桌面)

{
  "mcpServers": {
    "ast-explorer": {
      "command": "npx",
      "args": ["-y", "@aiready/ast-mcp-server"],
      "env": {
        "AST_WORKSPACE_ROOT": "/path/to/your/project"
      }
    }
  }
}

🛡 安全

所有工具参数都经过严格验证。代理访问外部文件的任何尝试 AST_WORKSPACE_ROOT 将导致强烈的拒绝。

📄 许可证

MIT© AIReady