关于 Tentra — Memory for AI Coding Agents
Tentra 是面向编码 Agent 的代码图谱与架构平台,其 MCP 服务可查询代码结构、调用关系和架构信息。它支持自动提交后更新索引,并提供架构设计、代码分析及重构辅助工具。
主要功能
- 01索引文件、符号、导入和调用关系
- 02搜索符号并查找引用
- 03生成符号重命名补丁计划
- 04分析代码库并生成架构图
- 05检查架构质量与代码漂移
- 06记录契约、决策和代码归属
适用场景
- 01定位代码库中某项功能的实现
- 02在重命名前检查调用方并生成补丁计划
- 03扫描代码库并创建架构图
- 04比较索引快照以查看代码变更
MCP 相关
Tentra MCP 服务向客户端提供架构管理、代码索引与图谱查询等工具。可通过 SSE 远程连接,也可在本地安装以扫描代码库;git post-commit hook 可自动刷新代码图谱。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://trytentra.com/api/mcpclaude mcp add --transport sse rdanieli-tentra https://trytentra.com/api/mcp{"mcpServers":{"rdanieli-tentra":{"type":"sse","url":"https://trytentra.com/api/mcp"}}}在 Cursor 中打开{"servers":{"rdanieli-tentra":{"type":"sse","url":"https://trytentra.com/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"rdanieli-tentra":{"type":"sse","url":"https://trytentra.com/api/mcp"}}}{"mcpServers":{"rdanieli-tentra":{"serverUrl":"https://trytentra.com/api/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
tentra-mcp
为 AI 编码 Agent 提供记忆。持久化代码图谱 + AI 生成的架构图——原生支持 MCP。适用于 Cursor、Claude Code、Codex 和 Windsurf。
在我们自己的单体仓库上进行的实测基准:针对 8 个“X 是在哪里实现的?”查询,Token 减少 99.4%(156.8×),通过重新读取文件消耗 114,644 个 Token,而通过 query_symbols 仅消耗 731 个 Token。查看完整报告 →
快速开始(60 秒)
cd your-repo
npx tentra-mcp init --hook
只需一条命令:
- 为 Cursor / Claude Code / Codex / Windsurf(已安装的客户端)写入 MCP 配置
- 安装 git
post-commit钩子,在每次提交后自动刷新代码图谱——无需手动重新索引 - 从 git 远程地址自动推导
repo_id,并将其保存到.tentra/metadata.json
然后前往 trytentra.com/settings 获取 API 密钥,将生成的配置中的 YOUR_TENTRA_API_KEY 替换为你的密钥,重新加载 IDE,然后向你的 Agent 提问:
Index this codebase with Tentra and list the god-nodes
此后,每次 git commit 都会在后台触发重新索引。你的 Agent 会自动保持最新。
跳过钩子: 移除
--hook——只写入 IDE 配置。 手动安装 stdio:npx tentra-mcp(首次调用工具时会打开浏览器,进行 GitHub 设备流授权)。 改用 API 密钥:npx tentra-mcp --key YOUR_API_KEY。
什么是 Tentra?
Tentra 是面向工程团队的 AI 原生架构平台。描述一个系统,即可获得架构图和 14 种框架的代码导出。索引你的代码仓库后,Agent 可以查询包含文件、符号、导入关系和调用边的结构化图谱,而不是每次会话都重新搜索源代码。
此 MCP 服务为你的 AI 助手提供 36 个工具:
架构(10 个工具)
| 工具 | 描述 |
|---|---|
create_architecture | 根据描述设计新系统 |
update_architecture | 修改现有架构 |
get_architecture | 读取架构详情 |
list_architectures | 浏览所有已保存的设计 |
analyze_codebase | 扫描本地代码并生成架构图 |
lint_architecture | 质量检查(9 条规则:孤立节点、单点故障、上帝服务) |
sync_architecture | 检测架构图与代码之间的偏差 |
get_spec_alignment | 实现过程中的偏差检查——输入已更改的文件,输出规范上下文和偏差信号 |
export_architecture | 导出为 14 种框架的代码(Java、Python、Go、Rust 等) |
create_flow | 创建分步流程可视化 |
代码图谱——写入(4 个工具)
| 工具 | 描述 |
|---|---|
index_code | 遍历代码仓库,在本地使用 Tree-sitter,并启动语义索引任务 |
index_code_continue | 继续进行中的索引任务 |
record_semantic_node | 持久化 Agent 提取的语义注释 |
get_index_job | 查看索引任务状态 |
代码图谱 — 读取(13 个工具)
| 工具 | 描述 |
|---|---|
query_symbols | 在已编入索引的符号中进行模糊三元组搜索 |
find_references | 符号的所有已解析调用方 — 确保重构安全的基础工具 |
safe_rename | 重命名符号的补丁计划(定义及每个调用点) |
explain_codebase | 面向 Agent 的整个仓库叙述式概览 |
get_symbol_neighbors | 在调用/导入图中进行 BFS 遍历 |
get_service_code_graph | Canvas 服务的子图 |
explain_code_path | 两个符号之间的最短路径及语义上下文 |
find_similar_code | 对 Agent 生成的嵌入向量进行 pgvector 余弦 ANN 搜索 |
record_embedding | 持久化 Agent 生成的嵌入向量 |
list_god_nodes | 入度/出度最高的符号(架构异味) |
get_quality_hotspots | 按变更频率 × 复杂度排序 |
list_snapshots | 列出已编入索引的快照,支持时间回溯 |
diff_snapshots | 比较快照之间新增/移除的文件、符号和 god-node |
信息补充 — 契约、决策、归属、领域(9 个工具)
| 工具 | 描述 |
|---|---|
set_service_mapping | 将已编入索引的文件或符号关联到 Canvas 服务 |
set_domain_membership | 将服务或文件分配到某个领域(有界上下文) |
record_contract | 存储解析后的 API 契约载荷(OpenAPI、GraphQL、Protobuf) |
bind_contract | 将契约关联到其实现符号 |
record_decision | 创建架构决策记录,可选择关联代码 |
link_decision | 添加从 ADR 到其他符号、文件或服务的链接 |
get_ownership | 查询文件或服务的负责人(团队或个人) |
get_decisions_for | 列出与给定实体关联的 ADR |
get_contracts | 列出契约,可按类型或服务筛选 |
设置
选项 1:SSE(无需安装)
添加到 IDE 的 MCP 配置中 — 无需本地安装:
Cursor(Settings > Features > MCP > Add Server):
{
"tentra": {
"type": "sse",
"url": "https://trytentra.com/api/mcp?key=YOUR_API_KEY"
}
}
Claude Code(项目根目录中的 .mcp.json):
{
"mcpServers": {
"tentra": {
"type": "sse",
"url": "https://trytentra.com/api/mcp?key=YOUR_API_KEY"
}
}
}
选项 2:本地安装(代码库扫描所需)
npx tentra-mcp
首次使用时会自动通过 GitHub 进行身份验证。凭据会保存到 ~/.tentra/credentials。
Cursor 本地服务配置:
{
"tentra": {
"command": "npx",
"args": ["tentra-mcp"]
}
}
Claude Code(.mcp.json):
{
"mcpServers": {
"tentra": {
"command": "npx",
"args": ["tentra-mcp"]
}
}
}
使用示例
连接后,直接与 AI 对话即可:
"Design a payment system with Stripe, Kafka, and PostgreSQL"
→ AI calls create_architecture → diagram at trytentra.com/arch/xxx
"Scan this codebase and generate the architecture"
→ AI calls analyze_codebase → detects services, DBs, queues
"Export this architecture to Java Spring Boot"
→ AI calls export_architecture → downloads zip with project scaffold
"What changed since last time? Is my diagram outdated?"
→ AI calls sync_architecture → drift report with accuracy score
导出格式
Java(Spring Boot)、Node.js(Fastify)、Python(FastAPI)、Go(chi)、Rust(Axum)、.NET(ASP.NET)、Kotlin(Ktor)、PHP(Laravel)、Ruby(Rails)、Elixir(Phoenix)、Docker Compose、Mermaid、ADR、Terraform
链接
开发
此仓库包含开源 MCP 服务。Tentra API 和 Web 应用是单独托管的服务,网址为 trytentra.com。
npm install --legacy-peer-deps
npm run build # tsc --noEmit + esbuild bundle → dist/index.js
npm start # run the bundled server
npm test # vitest
已发布的 npm 包(tentra-mcp)仅包含打包后的 dist/ — 此处提供源代码,便于审计和社区贡献。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。