Context Goblin

Docs

Docs

The pipeline

Same five steps every time, no matter how a review starts.

  • Starting point is the same code path whether it's the dashboard, a GitHub comment, or your own MCP call.
  • Each step runs in order. If one fails (say the code index is down), the review keeps going. That step just shows up as an error instead of blocking the rest.

Context: what the agents see

Before any agent runs, one context document gets built from:

  • The pull request's diff, metadata, commits and discussion
  • Blast radius: the changed symbols, plus who calls them elsewhere in the codebase
  • Cross-repo routes: calls between your indexed repositories that this diff touches
  • Cross-repo relations: HTTP calls, queues and shared tables found by the Knowledge crawl (see below)

How blast radius gets built:

  • The repo is indexed by codebase-memory-mcp, which builds a call graph of the codebase.
  • detect_changes finds the symbols defined in the changed files.
  • A graph query finds their callers in other files: code a reviewer without that index would never think to open.
  • It's rendered as a file tree: changed files at the root, downstream files below them grouped by the symbols they use.

Cross-repo awareness

  • Static edges: found automatically while indexing. A route defined in one service and called from another shows up as an edge, filtered down to only the ones the diff actually touches.
  • Crawled relations: the Knowledge crawl (see below) records what static analysis can't see on its own: HTTP calls, queue producers and consumers, shared tables. When a change touches one, that relation gets pulled into the review.

The review agents

Architecture Layering, coupling, scalability, config design
Security Auth, injection, secrets, dependency and release-safety issues
Logic Correctness, edge cases, error handling, concurrency, retries
Tests Missing coverage, weak assertions, flaky tests
  • Each agent runs in its own isolated session. One agent never sees another's output.
  • A coordinator reads all four sets of findings, drops duplicates, resolves disagreements, and writes the single review that gets published: the Review Overview, the inline comments, and the verdict.
  • An admin can turn off any built-in agent or add a custom one, from Review Agents in Settings.

Three ways in, one engine

  • Dashboard: paste a pull request URL and press Start review.
  • GitHub: comment @contextgoblin on a pull request, or turn on automatic reviews for every pull request opened.
  • Your own agent: call the review_repository MCP tool.

All three take the same path from there:

  • Check the repository is connected and enabled
  • Reserve Review Credits
  • Queue the job and run it on the same worker

Only where the result ends up differs: the dashboard, the pull request, or back to your own agent.

01

Connect your repositories

On Repositories, connect a GitHub account and pick which repositories the App may read. Sync pulls that selection in again after you change it on GitHub.

Each repository then has two independent switches:

  • Enabled: the reviewer may read this repository at all. Nothing works until this is on.
  • Automatic reviews: off by default. With it on, every pull request opened or reopened on that repository is reviewed without anyone asking.

The two checkboxes at the top apply the same change to every repository at once. This page is admin-only.

The Repositories page with Enabled and Automatic reviews checkboxes per repository
02

Ask for a review on a pull request

Comment @contextgoblin on any pull request in an enabled repository and it reviews that pull request. This works whether or not automatic reviews are on for the repository.

You get a short acknowledgement straight away, before the review starts. Only the repository's owners, members and collaborators can trigger a review this way.

A pull request comment mentioning @contextgoblin, and the bot replying that it got the request
03

What lands on the pull request

Automatic reviews and @contextgoblin mentions both post their result into the pull request itself: a Review Overview with a verdict and a summary, plus inline comments on the exact changed lines. Every finding carries a severity and its category: Architecture, Security, Logic or Tests.

The Review Overview comment on a pull request, with a Request changes verdict and an inline finding below it

The verdict is a real GitHub review state, not just text: Approve approves the pull request, Approve with comments leaves a non-blocking comment review, and Request changes requests changes. If you want that to actually block a merge, set up branch protection on the repository.

GitHub showing one requested change from contextgoblin[bot] on the pull request
04

Start a review from the dashboard

On Review, paste the URL of a pull request in a connected repository and press Start review. The result appears in the dashboard; it is not posted to GitHub.

Progress runs live while it works: it prepares a workspace, builds the context, plans the review, runs the four specialists (one each for architecture, security, logic and tests), then collects everything into one report.

The Review page with a pull request URL field, a Start review button and the pipeline running below it
05

Runs

Runs is every review your organisation has done, newest first, however it was triggered. Expand a row to read that review's findings again.

The Runs page listing past reviews with their repository, pull request number, status and time
06

Build the cross-repo map

On Repositories, the Cross-repo relations card has a Find relations button. It crawls your enabled repositories and detects how they depend on each other: package dependencies, HTTP calls, queues, shared tables. It runs in the background, so you can keep starting reviews while it works.

The result is the map on Knowledge, where nodes are repositories and edges are the relations found between them. From then on, the parts of that map touching a change are fed into reviews as extra context. Re-run it after a bigger refactor to keep it current.

The Knowledge page showing a cross-repo map with repositories as nodes and a relation between two of them
07

Connect your own MCP servers

The best reviewers know things that aren't in the code. On MCP Servers you can connect Jira, Confluence, Notion, your own documentation, or anything else that speaks MCP. Give it a name, a URL and, if it needs one, a bearer token or HTTP headers.

Once connected, press Tools to choose which of that server's tools the review agents may call. They then read that context during a review, so the question stops being "is this code correct" and becomes "does this change do what the ticket asked for".

Tokens and header values go into your organisation's secret store and are never shown again.

The MCP Servers page with a connected Jira server and the form for adding another one
08

Insights

Insights aggregates every review your organisation has run: how many there were, how many completed or failed, and the average turnaround.

The Insights page showing total reviews, completed, failed, average turnaround and the review mix

Below that: findings split by category, review activity over the last two weeks, and which repositories are reviewed most. The repository dropdown narrows every figure on the page to one repository.

Insights showing findings by category, an activity chart and a top repositories list
09

Invite your team

On Members, create an invitation for an email address. That produces a single-use link, valid for seven days.

The Members page with the Invite a member card, an email address field and a role selector

Roles are owner, admin and member. Any member can start reviews and look at Runs, Knowledge and Insights; Repositories, MCP Servers and Settings are admin-only. Each organisation has exactly one owner, and only the owner can transfer that.

10

Settings, credits and API keys

Review effort is how much reasoning each review agent spends. It is one organisation-wide default, not a per-review control.

Review Credits is a USD balance that every review draws down at cost. A review in flight reserves what it might spend until it finishes. Credits are granted by us, so contact us if you need more.

The Settings page showing review effort and the Review Credits balance

MCP API keys let your own tools call the review server as your organisation, so you can start reviews from an editor or a CI pipeline. Press Show configuration for the snippet an MCP client needs.

The MCP API keys card on the Settings page with a field for naming a new key
11

Call it from your own agent

The MCP API keys card above (Settings) is also how your own tools call Context Goblin, not just how it calls out to yours. Create a key, then drop this into your MCP client's configuration (Claude Code, Claude Desktop, Cursor, …) — Show configuration on that card gives you this exact snippet with your key already filled in:

{
  "mcpServers": {
    "ai-code-review": {
      "type": "http",
      "url": "https://api.contextgoblin.com/mcp",
      "headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
    }
  }
}

Two tools are exposed:

  • review_repository(repo_url, pr) submits a full review and blocks until it finishes, returning the same formatted output a dashboard or GitHub review gets. repo_url is a GitHub URL or owner/repo, and pr is required — only pull requests are reviewed, never a whole repository.
  • get_review_context(repo_url, pr) returns just the context document — diff, blast radius, cross-repo relations — for an agent that will review the diff itself instead of asking Context Goblin to.

Both require the repository to already be connected and enabled for your organisation — see Connect your repositories.