Back to MCP directory
publicPublicdnsLocal runtime

arbor

Arbor是一个本地优先的代码库影响分析引擎,通过构建语义依赖图来精确追踪函数调用、导入和继承关系,帮助开发者在重构前了解变更的实际影响范围。

article

README

🚀 Arbor

代码库的图原生智能工具

Arbor 是一个用于大型代码库的本地优先影响分析引擎,它能将项目解析成语义依赖图,让你追踪真实执行路径,提前了解代码更改的后果,避免盲目修改导致的问题。

🚀 快速开始

  1. 安装 Arbor(命令行界面 + 图形用户界面):
    cargo install arbor-graph-cli
    
    或者使用一键安装程序(无需 Rust 工具链):
    • macOS/Linux:curl -fsSL https://raw.githubusercontent.com/Anandb71/arbor/main/scripts/install.sh | bash
    • Windows(PowerShell):irm https://raw.githubusercontent.com/Anandb71/arbor/main/scripts/install.ps1 | iex 有关版本固定和手动资源的信息,请参阅安装指南
  2. 一次性设置 + 首次索引
    cd your-project
    arbor setup
    
  3. 运行影响分析
    arbor refactor <symbol-name>
    
    对于支持 Git 的工作流:
    arbor diff
    arbor check --max-blast-radius 30
    arbor open <symbol>
    
  4. 启动图形用户界面
    arbor gui
    
    你可以从任何嵌套子目录运行 Arbor,它会自动解析到项目根目录。 📘 有关高级工作流,请参阅快速入门指南

✨ 主要特性

  • 精确的令牌计数 — 使用 tiktoken(cl100k_base)替代启发式估计,以精确计算大语言模型的上下文预算。
  • 模糊符号建议 — 具备 Jaro - Winkler 匹配的拼写容错功能,例如 arbor refactor autth 会提示 “Did you mean: auth?”。
  • 增强的 MCP/AI 集成 — 为 Claude/Cursor 提供包含置信度、角色和边缘解释的丰富 JSON 输出。
  • 支持 Git 的风险工作流 — 提供 arbor diffarbor checkarbor open 命令,增强重构的信心。
  • 增量刷新 — 使用 arbor index --changed-only 命令,在活跃分支上更快地重新索引。
  • 更优的 Python 用户体验 — 静默处理空的 __init__.py 文件(无错误警告)。

💻 使用示例

基础用法

在重构 detect_language 之前,检查其实际影响:

$ arbor refactor detect_language

Analyzing detect_language...

Confidence: High | Role: Core Logic
• 15 callers, 3 dependencies
• Well-connected with manageable impact

> 18 nodes affected (4 direct, 14 transitive)

Immediate Impact:
  • parse_file (function)
  • get_parser (function)

Recommendation: Proceed with caution. Verify affected callers.

这是基于执行的分析,而非文本匹配。

高级用法

启动图形用户界面进行交互式影响分析:

arbor gui

Arbor GUI

图形用户界面功能

  • 符号搜索 – 即时定位函数、类和方法。
  • 影响可视化 – 探索直接和传递依赖关系。
  • 隐私安全 – 默认隐藏文件路径,便于生成干净的截图。
  • 导出 – 将结果复制为 Markdown 格式,用于拉取请求和设计文档。

命令行界面和图形用户界面使用相同的分析引擎,无功能差异。

📚 详细文档

状态(2026 年 3 月)

  • 稳定版本线release/v1.5
  • 当前功能版本线release/v1.6
  • 主要开发主干main Arbor 目前正在对 v1.6 版本线进行最后的打磨。

发布渠道与分支

为了保持维护和功能开发的清晰性:

  • main → 正在进行的开发工作。
  • release/v1.5 → 仅对 1.5.x 版本进行维护性修复。
  • release/v1.6 → 进行 1.6 版本的功能交付和稳定化工作。 这样可以避免将新功能引入旧的维护分支,并使反向移植操作更加明确。

MCP 目录列表

Arbor 已列入 Glama MCP 目录:

  • Glama:https://glama.ai/mcp/servers/@Anandb71/arbor

贡献者

感谢以下贡献者:

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client