Agent integrations
Tessera never calls a language model, so it works with any model: Claude, GPT, Gemini, Grok, DeepSeek, Qwen, or a local one. What matters is the agent you run. Every agent that speaks MCP gets the eleven tools below; agents with hook systems also get checks before and after every edit.
The fastest setup is tessera init in the repository: it detects your
agents, shows the diff of each config change, and asks before writing
(--yes to skip the question, --dry-run to only look, --agent <name> to
pick, --global for user-wide config). The sections below are the same
configuration by hand.
The sourced, per-agent matrix of config paths, hook events and trust steps lives in agents.md.
The command every agent runs
Section titled “The command every agent runs”tessera mcp # stdio; run from the repository, or pass --roottessera mcp --http 127.0.0.1:8765 # Streamable HTTP for clients that need a URLThe server finds the repository root itself, answers at once, indexes in the background, and re-indexes files as they change.
Without a global install, use npx -y tessera-codegraph mcp wherever a
config below says tessera mcp. In JSON configs that means
"command": "npx", "args": ["-y", "tessera-codegraph", "mcp"].
Claude Code
Section titled “Claude Code”claude mcp add tessera -- tessera mcp# no global install:claude mcp add tessera -- npx -y tessera-codegraph mcpOr commit a project .mcp.json:
{ "mcpServers": { "tessera": { "command": "tessera", "args": ["mcp"] } } }DeepSeek users can run Claude Code against DeepSeek’s Anthropic-compatible
API (ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic); everything here
applies unchanged.
Cursor
Section titled “Cursor”.cursor/mcp.json (project) or ~/.cursor/mcp.json (all projects):
{ "mcpServers": { "tessera": { "command": "tessera", "args": ["mcp"] } } }OpenAI Codex CLI
Section titled “OpenAI Codex CLI”codex mcp add tessera -- tessera mcpor in ~/.codex/config.toml:
[mcp_servers.tessera]command = "tessera"args = ["mcp"]Gemini CLI and Google Antigravity
Section titled “Gemini CLI and Google Antigravity”Gemini CLI, .gemini/settings.json:
{ "mcpServers": { "tessera": { "command": "tessera", "args": ["mcp"] } } }Antigravity (agy), .agents/mcp_config.json:
{ "mcpServers": { "tessera": { "command": "tessera", "args": ["mcp"] } } }GitHub Copilot
Section titled “GitHub Copilot”VS Code agent mode, .vscode/mcp.json (note the key is servers):
{ "servers": { "tessera": { "type": "stdio", "command": "tessera", "args": ["mcp"] } } }Copilot CLI: copilot mcp add tessera -- tessera mcp.
Grok Build, Qwen Code, Kiro, Junie, Augment, Warp
Section titled “Grok Build, Qwen Code, Kiro, Junie, Augment, Warp”These read an mcpServers map in their own settings file. The command is
always tessera with args ["mcp"]. File locations are in
agents.md:
| Agent | File |
|---|---|
| Grok Build | .grok/config.toml ([mcp_servers.tessera]), or it reads .mcp.json |
| Qwen Code | .qwen/settings.json |
| Kiro | .kiro/settings/mcp.json |
| JetBrains Junie | .junie/mcp/mcp.json |
| Augment (Auggie) | ~/.augment/settings.json |
| Warp | .warp/.mcp.json, or it reads .mcp.json |
OpenCode and Kilo Code
Section titled “OpenCode and Kilo Code”opencode.json (Kilo: kilo.jsonc) uses an mcp map with a command array:
{ "mcp": { "tessera": { "type": "local", "command": ["tessera", "mcp"] } } }Cline, Continue, Zed, Goose, Amp
Section titled “Cline, Continue, Zed, Goose, Amp”| Agent | Config |
|---|---|
| Cline | cline mcp add, or cline_mcp_settings.json with "type": "stdio" |
| Continue | .continue/mcpServers/tessera.yaml |
| Zed | context_servers → { "tessera": { "command": "tessera", "args": ["mcp"] } } |
| Goose | extensions: in ~/.config/goose/config.yaml, type stdio, cmd: tessera, args: [mcp] |
| Amp | amp mcp add tessera -- tessera mcp |
Aider and anything without MCP
Section titled “Aider and anything without MCP”Run the CLI directly. Aider appends the edited file’s name to its lint command, so you can point the lint loop at Tessera per language and failures reach the model:
aider --lint-cmd "python: tessera --quiet verify --language python --snippet" \ --lint-cmd "typescript: tessera --quiet verify --language typescript --snippet"Every agent: a git backstop
Section titled “Every agent: a git backstop”Whatever the agent, a broken edit should not reach a commit:
tessera init --git-hookinstalls a pre-commit hook that runs tessera verify --staged and refuses a
commit that breaks a call site, an argument count, or an import.
git commit --no-verify skips it once. To add it to an existing hook
yourself, append:
tessera verify --staged --format agent --quiet; [ $? -ne 1 ] || exit 1