内容
# Aider RepoMapper MCP 服务器
Aider 的图谱排名仓库映射引擎的独立模型上下文协议(MCP)服务器。该服务器通过优化文本负载以实现严格的**字节对字节提示缓存**(例如,通过 OpenRouter 的 Anthropic 提示缓存),专门为高效率 LLM 开发工作流程进行了强化。
## 关键功能
- **缓存锁定架构摘要:** 截获易变的的文件解析输出,并将变化的行号替换为静态管道 (`|`) 符号。
- **排名分数剥离:** 删除动态生成的浮点排名分数 (`(排名值: X.XXXX)`),防止代码更改时的前缀缓存失效循环。
- **路径黑名单启发式:** 自动截获并过滤未跟踪的运行时资产、数据库转储、本地化状态子树 (`data/`) 和编译的前端资产包 (`*.min.js`),以防止破坏工具上下文窗口。
- **JSON-RPC 模式兼容:** 直接插入到 ZooCode、RooCode 和 Cursor-agent 扩展环境等代理框架中。
## 服务器布局和核心模块
仓库通过以下主要实用程序构建端口:
- `repomap_server.py`:异步 JSON-RPC 服务器,暴露工具模式并管理文件系统参数输入。
- `repomap_class.py` 和 `repomap.py`:本地接口适配器,封装核心抽象语法树(AST)tree-sitter 解析器钩子。
- `importance.py` 和 `scm.py`:用于评估文件贡献排名和结构跟踪状态的启发式逻辑。
- `utils.py`:本地计数框架和原子文件读取器回退。
- `test_matrix.py`:验证格式化状态保证的回归框架。
## 安装和环境配置
确保引擎在包含核心依赖栈(`mcp`、`tiktoken`、`aider-chat`)的 Python 3.10+ 环境中运行。
### 代理设置集成
将服务器入口点配置添加到全局或项目级别的 MCP 定义矩阵(例如 `.vscode/mcp.json` 或 `.roo/mcp.json`):
```json
{
"mcpServers": {
"repo-mapper": {
"command": "/home/barry/tools/RepoMapper/.venv/bin/python",
"args": ["/home/barry/tools/RepoMapper/repomap_server.py"],
"env": {
"PYTHONUNBUFFERED": "1"
}
}
}
}
```
## 暴露的 MCP 工具
### `repo_map`
生成一个优化的、拓扑排序的布局,与内部仓库架构匹配。
**参数:**
- `project_root` *(字符串, 必需)*:目标仓库根目录的绝对路径。
- `token_limit` *(整数, 可选)*:地图文本块的最大缩放窗口(默认为 2000)。
- `exclude_unranked` *(布尔值, 可选)*:在处理受限令牌时,丢弃低信号定义。
- `verbose` *(布尔值, 可选)*:将更深入的诊断 stdout 更新提升到日志级别。
### `search_identifiers`
对结构符号矩阵执行基于关键字的目标交叉引用。