Tently

السجل الرسمي أدوات المطورين

Tently, the AI PR reviewer for GitHub: agents check team decisions before they write code.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

NPM package @tently/mcp
Claude Code
claude mcp add tently -e 'TENTLY_API_KEY=<your tently_api_key>' -e 'TENTLY_API_URL=<TENTLY_API_URL>' -- npx -y @tently/mcp@0.1.4 mcp
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "tently": {
            "command": "npx",
            "args": [
                "-y",
                "@tently/mcp@0.1.4",
                "mcp"
            ],
            "env": {
                "TENTLY_API_KEY": "<your tently_api_key>",
                "TENTLY_API_URL": "<TENTLY_API_URL>"
            }
        }
    }
}

متغيرات البيئة

  • TENTLY_API_KEY إلزامي سري Tently workspace API key, from the Connect page at app.tently.dev
  • TENTLY_API_URL Tently API origin (default https://api.tently.dev)

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. Tently MCP: AI pull request review, inside your coding agent
  2. How the pieces fit
  3. Set up
  4. What the agent gets
  5. Configuration
  6. Privacy
  7. Development
  8. Contributing
  9. License

Tently MCP: AI pull request review, inside your coding agent

Tently is an AI code reviewer for GitHub pull requests. It catches the two things diff-only reviewers miss: regressions in code that depends on the change, and changes that break design decisions your team made on purpose. It learns those decisions from your merged pull requests, review threads and docs, and checks every pull request against them.

This repo is Tently's MCP server: the same decisions, inside Claude Code, Cursor or Codex while the agent writes code, before a pull request exists.

How the pieces fit

Tently is one decision store with two gates:

GateWhenWhat it does
Pull request review (GitHub App)Every PRPosts a check run and inline comments for regressions and decision drift, with the evidence attached
This MCP serverWhile the agent writesLets the agent look up the decisions that apply and the blast radius of a change

The MCP server needs a Tently workspace. Request early access at tently.dev.

Set up

Create an API key on the Connect page at app.tently.dev, then run this from your repo root:

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

Or pass the key through the environment:

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

init adds the tently server to .mcp.json (Claude Code) or .cursor/mcp.json (Cursor), and installs a small skill that tells the agent when to use it. It backs up any file before editing it, keeps your other MCP servers, and prints every change. Restart your agent afterwards.

--agent takes claude, cursor, both or auto (the default, which detects what's in the repo).

Manual config
{
  "mcpServers": {
    "tently": {
      "command": "npx",
      "args": ["-y", "@tently/mcp", "mcp"],
      "env": { "TENTLY_API_KEY": "<your key>" }
    }
  }
}

What the agent gets

  • search_decisions: the decisions that apply to the code it's about to change, from your Tently workspace. Each one says whether breaking it is blocking or advisory. The search is scoped to the repo you're in (read from the checkout's git remotes), so decisions from your workspace's other repos don't crowd out this one's.
  • query_impact_zone: the blast radius of a symbol (who calls it, what it depends on), computed locally on your checkout with CodeGraph. Your source code never leaves your machine. The index lives in .codegraph/, which init adds to .gitignore.

Impact results are evidence, not proof: callers reached through interfaces, dynamic dispatch or re-exports can be missed, and the tool says so in its output.

Configuration

VariableMeaning
TENTLY_API_KEYWorkspace API key (required for search_decisions)
TENTLY_API_URLAPI origin, default https://api.tently.dev
TENTLY_WORKING_DIRDirectory query_impact_zone indexes, default the current directory
TENTLY_REPOGitHub repo to scope search_decisions to, as owner/name or a GitHub URL. Default: the origin and upstream remotes of TENTLY_WORKING_DIR, whichever is connected to your workspace (origin first), which covers forks. A value that isn't a GitHub repo is ignored. When no repo is connected (or it was renamed since), the search covers the whole workspace

Privacy

search_decisions sends your query text, the file paths you pass and the owner/name of the checkout's origin and upstream remotes to the Tently API. Nothing else leaves your machine: query_impact_zone runs entirely locally. See tently.dev for how Tently handles data.

Development

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

Requires Node.js 20 or later.

Contributing

Issues and pull requests are welcome. For anything beyond a small fix, please open an issue first so we can agree on the approach.

License

MIT

الأسئلة الشائعة

ما هو Tently؟

Tently, the AI PR reviewer for GitHub: agents check team decisions before they write code.

كيف أثبّت Tently؟

يعمل على جهازك. في Claude Code: claude mcp add tently -e 'TENTLY_API_KEY=<your tently_api_key>' -e 'TENTLY_API_URL=<TENTLY_API_URL>' -- npx -y @tently/mcp@0.1.4 mcp. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج Tently إلى مفتاح API؟

نعم. يتطلب TENTLY_API_KEY، وتضبطها في إعداداته.

هل Tently مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون Tently؟

ينشره tently-team. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.