Skip to content

MCP server

Last updated

Argus exposes team memory and review results over the Model Context Protocol. Any MCP client that supports remote servers with OAuth (Claude Code, Cursor, Claude Desktop) can read what Argus learned about your codebase and query past reviews without leaving the agent.

Connect

Point your client at your Argus API origin plus /mcp, the URL you set as MCP_RESOURCE_URL. The client discovers the authorization server from /.well-known/oauth-protected-resource, runs a browser login once, and asks you to pick one organization — the connection sees only that org's repos and memory. Switching orgs means authorizing again. There are no API keys: the server accepts only Clerk-issued OAuth access tokens. Refreshing them is handled by your MCP client and Clerk, not by Argus.

Tools

Call list_repos first — it resolves the local repo_id and installation_id every other tool takes.

  • search_memory, get_memory_briefing — semantic search over team memory, and the briefing Argus gives its own reviewers.
  • create_memory, delete_memory, retire_memory — write and manage memory. Need the argus:memory:write scope.
  • list_reviews, get_review_status, get_review — review history, cheap status polls, and the full review page in one call.

By default get_memory_briefing returns a briefing in the same format and sections Argus's single-pass reviewer receives for a file: "File History", "Review Rules", "Disputed — do not enforce", "Established Patterns", "Past Review Findings", "Known False Positives" and "Confirmed Findings", each only when memory holds entries for it. What it contains depends on your query and optional file_path, and an empty briefing is a legitimate result. profile: "specialist" returns the Deep Review specialists' block instead.

Scopes and guard rails

argus:read covers every read tool; argus:memory:write covers the three memory mutations. A read-only grant cannot mutate memory, whatever flags a call sets.

Writes are real: create_memory changes future reviews, and any member of the organization whose token carries argus:memory:write can write.

  • Deleting or retiring a memory the review pipeline learned requires confirm_pipeline_learned=true. retire_memory also requires a reason. Neither a delete nor a retirement can be undone. Review, rule and scenario memories have no recorded source and cannot be retired through MCP.
  • Writing an org-wide memory requires confirm_shared=true. It is stored as human-authored, so you can retire or delete it later without the pipeline flag.
  • To stop a memory influencing reviews, use retire_memory — delete_memory removes one contributing record and the memory may remain searchable.

Enable the server

Off by default. On your backend, set MCP_ENABLED=true, CLERK_ISSUER_URL (your Clerk Frontend API origin), and MCP_RESOURCE_URL (the public https://…/mcp URL); CLERK_JWKS_URL must already be set. The route 404s while disabled. Full setup, including the Clerk dashboard configuration, is in the README.

Claude Code skills

The repo ships two Claude Code skills in .claude/skills/ that tell the agent when to call these tools. argus-memory-setup connects the machine, once. argus-memory is the everyday one: pull the team's conventions before you review a diff, and record new ones. Install both, and register the server, at user scope, with your MCP_RESOURCE_URL as <url>:

mkdir -p ~/.claude/skills
cp -r .claude/skills/argus-memory .claude/skills/argus-memory-setup ~/.claude/skills/
claude mcp add --transport http --scope user argus <url>

A project skill loads only inside this checkout, and claude mcp add without --scope user registers the server for one directory; either way the tools are missing from the repos you review. The skills are for Claude Code. Other MCP clients get the nine tools without them.