Integrations · Other MCP clients · Good or paste-config tier

An MCP server for codebase context, in any MCP client.

repowise mcp is one MCP server with 10 tools over your code graph, git history, decisions and health. repowise agents add writes the config for OpenCode, Kiro and Hermes. For Cline, Windsurf, Gemini CLI, Zed and other clients, repowise agents print-config prints a ready-to-paste entry.

uv tool install repowise
repowise init --yes --no-prose
repowise agents print-config claude-code

How do I give an MCP client full context of a large codebase?

Index the repository once with repowise init: the import and call graph, git history, decisions and per-file health, computed locally with no model calls. Then point the client at repowise mcp. The agent asks get_context for a triage card, get_risk for what an edit reaches and get_why for the decision behind a pattern, instead of reading files until it has a picture.

How much the client is told about the tools depends on its tier. Good-tier clients get an instructions file that routes questions to tools. Paste-config clients see the tools and their descriptions, and nothing else.

Which MCP clients does repowise support, and how well?

Claude Code and Codex are Full tier. Cursor, VS Code, GitHub Copilot CLI, OpenCode, Kiro and Hermes are Good tier: repowise writes their MCP config and an instructions or steering file. Cline, Windsurf, Gemini CLI, Zed, Continue, JetBrains AI Assistant and Amp are paste-config: the server works with them, and you paste one entry.

Setup

Set up repowise for any MCP client

Python 3.11 or later and git. Index first, then either let repowise write the config or print it.

  1. 01

    Install the repowise CLI

    With uv, pipx or pip.

    uv tool install repowise
  2. 02

    Index the repository

    From the repository root, with no API key and no model calls.

    repowise init --yes --no-prose
  3. 03

    Good tier: let repowise write the config

    For OpenCode, Kiro or Hermes. Add --scope project or --scope user to pick one side.

    repowise agents add --target=opencode,kiro
  4. 04

    Paste-config: print the entry

    For Cline, Windsurf, Gemini CLI, Zed and the rest. print-config prints a ready-to-paste entry. claude-code prints the plain mcpServers JSON most hosts read; ask for the target id closest to your host if it reads another shape (codex prints TOML, hermes prints YAML).

    repowise agents print-config claude-code

Clients

Each client, its tier and its setup

MCP clients by tier
ClientTierSetupIts own context file
OpenCodeGoodrepowise agents add --target=opencode writes the mcp key in opencode.jsonc (project or ~/.config/opencode) and the managed AGENTS.md section. OpenCode can also write the wiki through the opencode provider.Reads AGENTS.md.
KiroGoodrepowise agents add --target=kiro writes .kiro/settings/mcp.json and the steering file .kiro/steering/repowise.md, at project or user scope. The Kiro IDE ships with MCP off: turn it on in settings.Steering files and specs.
HermesGoodrepowise agents add --target=hermes writes mcp_servers.repowise in Hermes' config.yaml (user scope) and the managed AGENTS.md section.Reads AGENTS.md.
ClinePaste-configPaste the output of repowise agents print-config claude-code into Cline's MCP settings file..clinerules for project instructions.
WindsurfPaste-configPaste the same mcpServers entry into ~/.codeium/windsurf/mcp_config.json. The hosted URL goes under serverUrl.Rules and memories.
Gemini CLIPaste-configPaste the entry under mcpServers in Gemini CLI's settings.json.GEMINI.md context files.
ZedPaste-configZed calls MCP servers context servers: put the command and arguments from the snippet under context_servers in Zed's settings.A .rules file per project.
Continue, JetBrains AI Assistant, AmpPaste-configThe same snippet, in each host's MCP settings.Their own rules files.
Claude.ai, ChatGPT and cloud agentsHostedThe hosted URL https://api.repowise.dev/mcp/{owner}/{repo} with an API key; Claude connects with a custom connector and sign-in.No repository on disk, so the hosted index is the context.

What it writes

The files repowise writes

Paste-config hosts take one pasted entry, printed by repowise agents print-config. For Good-tier clients repowise writes:

Files repowise writes
FileScopeWhat goes in it
opencode.jsonc or ~/.config/opencode/opencode.jsoncProject or usermcp.repowise with type local, the command as one array and enabled: true. A JSONC file with comments is left alone, with a note to use print-config.
AGENTS.mdProjectThe managed section OpenCode, Hermes and Codex share: architecture, key modules, the files that need care and the tool routing.
.kiro/settings/mcp.jsonProject or usermcpServers.repowise with command and args, no type field. $KIRO_HOME moves the user copy.
.kiro/steering/repowise.mdProject or userA steering file owned by repowise that tells Kiro when to call the tools.
Hermes config.yamlUsermcp_servers.repowise with the absolute binary and args mcp --transport stdio.

MCP tools

The 10 MCP tools, and when the agent calls each

A Good-tier client learns the routing from its instructions or steering file. A paste-config client chooses from the tool descriptions, so it helps to add one line to the host's own rules file: use the repowise tools for how, why and what-breaks questions.

MCP tools
ToolWhat it returnsWhen the agent calls it
get_answerOne-call cited Q&A over the documentation, with a calibrated confidence score.A how, where or why question, answered once with citations instead of a chain of greps.
get_contextA triage card for files, modules, or symbols: summary, signatures, hotspot bit, governing decisions.Before opening a file, or with include=["references"] before a rename, to get every caller.
get_symbolRaw source bytes for one indexed symbol with exact, verified line bounds.When it needs one function's exact lines instead of the whole file.
search_codebaseHybrid full-text and semantic search over the documentation, routed by query shape.To find a concept, a path or an identifier when it does not know the file name.
get_whyArchitectural decision archaeology: why the code is shaped this way, with lineage.Before changing an established pattern: the decision behind it, or git archaeology when none is recorded.
get_riskHotspot score, dependents, co-change partners, and PR-mode break/test directives.Before editing a file: what depends on it, how often it broke, which tests reach it.
get_change_riskPre-merge defect-risk score for a commit or diff range, computed from its shape alone.Before finishing a multi-file change, on base..HEAD or uncommitted work.
get_healthPer-file code-health scores across three pillars, plus ranked refactoring targets.On the files it touched, or to pick refactoring targets from the fix-first queue.
get_dead_codeUnreachable files, unused exports, and zombie packages, tiered by confidence.On a cleanup task: unreachable files, unused exports and zombie packages, by confidence tier.
get_overviewArchitecture map, module list, entry points, and tool recipes. First call on any repo.First call on a repository it has not seen: modules, entry points, layers and the riskiest files.

Comparison

What these clients already does, and what repowise adds

Every one of these clients has a context file. repowise gives that file something current to say and a server to send the agent to.

What it does well

Instruction files
AGENTS.md, GEMINI.md, .clinerules, Kiro steering, Windsurf rules, Zed .rules. They hold what someone wrote, and go stale as the code moves.
File reads and search
Each client reads files and greps. For an exact identifier that is the fastest route.
Memories
Some clients keep notes between sessions. Those are the agent's observations, not the repository's history.

What repowise adds

A generated AGENTS.md
repowise init writes a managed section from the index and refreshes it on update. Hosts that read AGENTS.md, or let you name the context file, can use it.
The graph and history
Callers, co-change partners, hotspots, bug magnets and owners, the same in every client.
Decisions and health
get_why and get_health answer the same way whichever client asks.
One index for many clients
Teams that use three different agents get the same answers from all three.

Multi-repo

Context across several repositories

For several repositories, run repowise init . in the parent folder. It finds the git repos up to three levels down, indexes each one, links them through HTTP, gRPC, topic and OpenAPI contracts and cross-repo co-change history, and registers one MCP server that answers for all of them. The workspace server adds list_repos to the 10 MCP tools, and every tool takes a repo argument, or a target written as alias:path. --tools +name adds get_blast_radius, get_architecture and get_conformance for cross-repo impact.

On hosted repowise, one URL answers across a workspace: https://api.repowise.dev/mcp/w/{workspace_id}, with the same API key as the per-repo URL. That shape needs Pro, Teams or Admin.

Tokens

Token use on a large repository

The MCP tools save reads: a triage card instead of a whole file, one symbol's lines instead of the module. In the paired agent-loop benchmark on Codex and Claude Code, the same tools cut output tokens and tool calls.

repowise distill works in any client that can run a shell command. repowise distill, measured with the CLI one command at a time: 89% fewer tokens on git log -50 and 61% on a pytest run with 11 failures, with all 11 failure lines kept.

Code review

Review a change, then fix what the bot finds

The repowise PR bot is a GitHub App. On a pull request it stays silent unless a signal fires: files that usually change together but are missing from the diff, tests that import the changed files, a health drop. Its verdict is the Repowise review check run. The optional AI review on Pro attaches a prompt for your agent to each finding, and the pull request page on repowise.dev has a Copy fix prompt for your agent button. On GitLab, Azure DevOps and Bitbucket there is no bot; indexing and the CI gates (patch coverage, doc drift, new secrets, change risk) still work.

Any of these clients can take the fix prompt: copy it from the finding or the repowise.dev pull request page and paste it into the agent. Before you push, get_change_risk scores uncommitted work against the repository's history.

Hosted

The remote MCP endpoint

Hosted repowise serves the same tools over Streamable HTTP at https://api.repowise.dev/mcp/{owner}/{repo}, with an API key from Settings, Coding agents (MCP). The per-repo URL works on every plan, Free included (10 answers a month on Free). Claude on the web and desktop connects with a custom connector and sign-in, and ChatGPT takes the same MCP address. Any client that speaks Streamable HTTP needs the same two values: the URL and an Authorization: Bearer header. The entry below is the shape Cursor reads; other hosts name the fields differently (Windsurf uses serverUrl), so match your host's MCP config format.

Cursor-style mcpServers entry (hosted)

{
  "mcpServers": {
    "repowise": {
      "url": "https://api.repowise.dev/mcp/OWNER/REPO",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Enterprise

Consistent agent context across an organization

  • The same context in every repository

    A workspace indexes many repositories into one MCP server, so every engineer's agent gets the same graph, history and decisions, whichever agent they use.

  • Self-hosted

    The CLI, the MCP server and the dashboard run on your machines. The analysis makes no model calls and needs no account.

  • Your own model keys

    Prose and answers use the provider you configure: Anthropic, OpenAI, Gemini, OpenRouter, DeepSeek, Kimi, Eden AI, any LiteLLM route, or Ollama. Agent CLIs (Claude Code, Codex, OpenCode, Copilot CLI) can be the writer instead.

  • Air-gapped

    repowise init --yes --no-prose needs no API key. Ollama covers prose and embeddings offline, and repowise grammars fetch stages the COBOL and Apex grammars before the network is cut.

  • Governance

    The commercial license adds SSO, RBAC, audit, on-prem and air-gapped support with an SLA, on top of the AGPL-3.0 core.

repowise for teams and enterprise · Enterprise docs

Questions

What people ask before they try it.

Is Cline, Windsurf or Gemini CLI supported?

They work with the repowise MCP server through one pasted entry, printed by repowise agents print-config. They sit at the paste-config tier: one entry, no files to manage.

Which print-config target should I use?

claude-code prints the plain mcpServers JSON that most hosts read. If your host reads another shape, ask for the closest target id: vscode prints the servers key, opencode the mcp key, codex TOML and hermes YAML.

Does the server need to know which repository to read?

A project entry names the repository path. A user-level entry without a path resolves the repository from the folder the client starts the server in, walking up to the nearest .repowise index.

Can I trim the tools for a small context window?

Yes. Pass a comma-separated list of tool names to repowise mcp --tools, for example --tools get_answer,get_context,get_risk, and the server exposes only those.

Which transports does the server speak?

stdio by default, and streamable-http on port 7338 with repowise mcp --transport streamable-http, for clients that only take a URL.

Last reviewed: November 2026

Get started

Give your agent the repository.

Index a repository locally in one command, or index a public one free on repowise.dev and connect over a URL.