mcpField
T
Tently

Tently

本地服务
tently.dev版本控制22 周前更新

关于 Tently

Tently 是为编码 Agent 提供团队决策查询的 MCP 服务,这些决策来自已合并的拉取请求、评审讨论和文档。它还可在本地计算代码变更的影响范围,源代码不会离开本机。

主要功能

  1. 01搜索适用的团队决策
  2. 02将决策搜索限定到仓库
  3. 03在本地计算符号影响范围
  4. 04标记决策为阻断或建议
  5. 05初始化 Agent 配置和技能

适用场景

  1. 01编码前检查团队约定
  2. 02根据已记录决策审查更改
  3. 03查找符号的调用方和依赖项
  4. 04为编码 Agent 配置 Tently

MCP 相关

该 MCP 服务向编码 Agent 提供决策搜索和本地影响范围分析。决策搜索使用 Tently 工作区 API;影响分析通过 CodeGraph 在本地检出目录中运行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"tently-team-tently": {
"command": "npx",
"args": [
"-y",
"@tently/mcp"
],
"env": {
"TENTLY_API_KEY": "<TENTLY_API_KEY>",
"TENTLY_API_URL": "<TENTLY_API_URL>"
}
}
}
}
启动命令npx -y @tently/mcp
需要配置的环境变量
TENTLY_API_KEY密钥Tently workspace API key, from the Connect page at app.tently.dev
TENTLY_API_URLTently API origin (default https://api.tently.dev)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@tently/mcp0.1.4

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitnumber否最多返回的决策数(1-50,默认值由服务器端设置)。
pathsarray否要编辑的仓库相对路径或 glob,用于限定搜索范围。
querystring是用自然语言描述你准备执行的操作(例如“添加一个查询决策的仓库方法”)。

详细介绍

Tently MCP:在你的编码 Agent 中进行 AI 拉取请求审查

npm CI License: MIT Listed on mcpservers.org M8ven Score

Tently 是一款用于 GitHub 拉取请求的 AI 代码审查工具。它能发现仅审查差异的工具容易漏掉的两类问题:依赖变更代码的代码出现回归,以及变更违背团队有意做出的设计决策。它会从已合并的拉取请求、审查讨论串和文档中学习这些决策,并据此检查每个拉取请求。

本仓库是 Tently 的 MCP 服务:在 Agent 编写代码时,于 Claude Code、Cursor 或 Codex 中使用相同的决策,早于拉取请求的创建。

各部分如何协同工作

Tently 将所有决策存放在一个地方,并通过两道关卡进行检查:

关卡时机作用
拉取请求审查(GitHub App)每个 PR发布检查运行结果和行内评论,指出回归和决策偏离,并附上证据
此 MCP 服务Agent 编写代码时让 Agent 查询适用的决策,以及变更的影响范围

MCP 服务需要 Tently 工作区。请在 tently.dev 申请提前体验。

设置

在 app.tently.dev 的 Connect 页面创建 API 密钥,然后在仓库根目录运行:

npx @tently/mcp init --agent claude --api-key <your key>

也可以通过环境变量传入密钥:

TENTLY_API_KEY=<your key> npx @tently/mcp init

init 会将 tently 服务添加到 .mcp.json(Claude Code)或 .cursor/mcp.json(Cursor),并安装一个小型技能,告知 Agent 何时使用它。编辑文件前,它会先创建备份、保留其他 MCP 服务,并打印每项变更。完成后请重启 Agent。

--agent 可设为 claude、cursor、both 或 auto(默认值,会自动检测仓库中的配置)。

手动配置
{
  "mcpServers": {
    "tently": {
      "command": "npx",
      "args": ["-y", "@tently/mcp", "mcp"],
      "env": { "TENTLY_API_KEY": "<your key>" }
    }
  }
}

Agent 可获取的内容

  • search_decisions:从你的 Tently 工作区中查找适用于即将修改代码的决策。每项决策都会说明违反它是阻断性问题还是建议性问题。搜索范围限定为当前仓库(通过检出目录的 git 远程地址读取),因此工作区中其他仓库的决策不会影响当前仓库的搜索结果。
  • query_impact_zone:查询某个符号的影响范围(谁调用它、它依赖什么),由 CodeGraph 在本地检出目录中计算。你的源代码不会离开本机。索引存储在 .codegraph/ 中,init 会将其添加到 .gitignore。

影响分析结果是证据,而非证明:工具可能无法发现通过接口、动态分派或重新导出找到的调用方,并会在输出中说明这一点。

配置

变量含义
TENTLY_API_KEY工作区 API 密钥(search_decisions 必需)
TENTLY_API_URLAPI 源站,默认值为 https://api.tently.dev
TENTLY_WORKING_DIRquery_impact_zone 建立索引的目录,默认为当前目录
TENTLY_REPO用于限定 search_decisions 搜索范围的 GitHub 仓库,可写为 owner/name 或 GitHub URL。默认使用 TENTLY_WORKING_DIR 的 origin 和 upstream 远程地址中与工作区关联的那个(优先 origin),因此也支持 Fork。如果值不是 GitHub 仓库,则会忽略该值。如果没有关联的仓库(或仓库已重命名),搜索范围将覆盖整个工作区

隐私

search_decisions 会将你的查询文本、你传入的文件路径,以及检出仓库的 origin 和 upstream 远程仓库的 owner/name 发送到 Tently API。除此之外, 没有任何内容会离开你的设备:query_impact_zone 完全在本地运行。请参阅 tently.dev,了解 Tently 如何处理数据。

开发

npm install
npm test
npm run build
node dist/cli.js mcp   # start the server on stdio

需要 Node.js 20 或更高版本。

贡献

欢迎提交问题和拉取请求。对于超出小型修复范围的更改,请先提交问题, 以便我们就处理方案达成一致。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。