Enables AI agents to triage issues, fix bugs, verify SARIF scanner reachability, and perform semantic code recall within a repository.
Also known as thyn-ai/codna-cli, codna-cli, codna
- Stars
- 0
- Tools
- —
- Downloads, 30 days
- 13,218
- Latest version
- 0.2.113
- Last commit
- Nov 12, 2026
- License
- Apache-2.0
What is Codna MCP?
Codna is an MCP server. Enables AI agents to triage issues, fix bugs, verify SARIF scanner reachability, and perform semantic code recall within a repository.
Summary generated from the project's README
About Codna MCP server
Codna provides repository intelligence for AI agents by mapping codebases to facilitate bug fixing and issue triage. It functions as an MCP server over stdio, allowing integration with clients like Cursor or Claude Desktop. Developers can run it locally or in the cloud, using the same engine found in the CLI. The system requires a one-time free community login via codna login to enable tool execution, while specific tasks like fixing bugs require a model provider key from services such as Anthropic, OpenAI, or Gemini.
The server offers five primary tools: codna_triage for locating relevant code, codna_secure for verifying the reachability of SARIF scanner findings from tools like CodeQL or Snyk, and codna_recall for semantic and lexical code search. For active development, codna_fix can identify root causes and even open pull requests if a GitHub token is provided. A unique feature is the on-device memory runtime, which allows code recall to function fully offline without network calls after the initial setup.
Written from the project's README. Every use case is checked against a quote from it.
How to install Codna MCP
Formats verified 10 Nov 2026Install Codna MCP in Claude Code
$ claude mcp add --env ANTHROPIC_API_KEY=<YOUR_ANTHROPIC_API_KEY> --env CODNA_API_KEY=<YOUR_CODNA_API_KEY> --env GEMINI_API_KEY=<YOUR_GEMINI_API_KEY> --env GITHUB_TOKEN=<YOUR_GITHUB_TOKEN> --env OPENAI_API_KEY=<YOUR_OPENAI_API_KEY> codna-cli -- uvx codnaInstall Codna MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"codna-cli": {
"command": "uvx",
"args": [
"codna"
],
"env": {
"ANTHROPIC_API_KEY": "<YOUR_ANTHROPIC_API_KEY>",
"CODNA_API_KEY": "<YOUR_CODNA_API_KEY>",
"GEMINI_API_KEY": "<YOUR_GEMINI_API_KEY>",
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>",
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}Install Codna MCP in VS Code
.vscode/mcp.json
{
"servers": {
"codna-cli": {
"type": "stdio",
"command": "uvx",
"args": [
"codna"
],
"env": {
"ANTHROPIC_API_KEY": "<YOUR_ANTHROPIC_API_KEY>",
"CODNA_API_KEY": "<YOUR_CODNA_API_KEY>",
"GEMINI_API_KEY": "<YOUR_GEMINI_API_KEY>",
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>",
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}Install Codna MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"codna-cli": {
"command": "uvx",
"args": [
"codna"
],
"env": {
"ANTHROPIC_API_KEY": "<YOUR_ANTHROPIC_API_KEY>",
"CODNA_API_KEY": "<YOUR_CODNA_API_KEY>",
"GEMINI_API_KEY": "<YOUR_GEMINI_API_KEY>",
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>",
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}Install Codna MCP in Codex
~/.codex/config.toml
[mcp_servers.codna-cli] command = "uvx" args = ["codna"] [mcp_servers.codna-cli.env] ANTHROPIC_API_KEY = "<YOUR_ANTHROPIC_API_KEY>" CODNA_API_KEY = "<YOUR_CODNA_API_KEY>" GEMINI_API_KEY = "<YOUR_GEMINI_API_KEY>" GITHUB_TOKEN = "<YOUR_GITHUB_TOKEN>" OPENAI_API_KEY = "<YOUR_OPENAI_API_KEY>"
Install Codna MCP in Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"codna-cli": {
"command": "uvx",
"args": [
"codna"
],
"env": {
"ANTHROPIC_API_KEY": "<YOUR_ANTHROPIC_API_KEY>",
"CODNA_API_KEY": "<YOUR_CODNA_API_KEY>",
"GEMINI_API_KEY": "<YOUR_GEMINI_API_KEY>",
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>",
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}Configuration
ANTHROPIC_API_KEYSecretProvider key for codna_fix's planner — any one of ANTHROPIC_API_KEY (Anthropic), OPENAI_API_KEY (OpenAI/ChatGPT), or GEMINI_API_KEY (Gemini) works (or store one with `codna key set <provider>`). Every tool also requires the one-time free `codna login` device authorization before executing; introspection (initialize/tools/list) needs no credentials.
CODNA_API_KEYSecretCodna key from the one-time free `codna login` (device authorization, free community license). Required to execute any of the five tools; introspection (initialize/tools/list) needs none.
GEMINI_API_KEYSecretAlternative provider key (Gemini) for codna_fix's planner — see ANTHROPIC_API_KEY.
GITHUB_TOKENSecretWrite token, only for codna_fix with open_pr=true (opens a pull request) and codna_report_bug (files an issue).
OPENAI_API_KEYSecretAlternative provider key (OpenAI/ChatGPT) for codna_fix's planner — see ANTHROPIC_API_KEY.
| Name | Description | |
|---|---|---|
| ANTHROPIC_API_KEY | Provider key for codna_fix's planner — any one of ANTHROPIC_API_KEY (Anthropic), OPENAI_API_KEY (OpenAI/ChatGPT), or GEMINI_API_KEY (Gemini) works (or store one with `codna key set <provider>`). Every tool also requires the one-time free `codna login` device authorization before executing; introspection (initialize/tools/list) needs no credentials. | Secret |
| CODNA_API_KEY | Codna key from the one-time free `codna login` (device authorization, free community license). Required to execute any of the five tools; introspection (initialize/tools/list) needs none. | Secret |
| GEMINI_API_KEY | Alternative provider key (Gemini) for codna_fix's planner — see ANTHROPIC_API_KEY. | Secret |
| GITHUB_TOKEN | Write token, only for codna_fix with open_pr=true (opens a pull request) and codna_report_bug (files an issue). | Secret |
| OPENAI_API_KEY | Alternative provider key (OpenAI/ChatGPT) for codna_fix's planner — see ANTHROPIC_API_KEY. | Secret |
Automated checks
Ran Nov 12, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packagePass
- Remote endpoint uses HTTPSNot checked
- Destructive tools are labelledNot checked
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesPass
README
View on GitHubCodna
Understand. Fix. Evolve.
Agents read your code. Codna understands it.
Codna maps a repository before it spends a token. It then reviews pull requests, fixes bugs and
proves which scanner findings are reachable. The same codna command runs on your machine, in the
GitHub Action and behind the GitHub App.
Runs on your machine or your cloud. Your code never leaves without your key.
Install
pip install codna # or: pipx install codna · uv tool install codna
codna --version
Python 3.12–3.13. Wheels for macOS on Apple silicon and Linux x86_64. git on your PATH.
Nothing else to install: no Node, Bun, Docker or server. The agent runtime ships inside the wheel.
Local commands need no Codna key. fix and review use your own model provider key, stored in
the OS keychain and never printed:
codna key set anthropic # also: openai, gemini, google, groq, mistral, openrouter, xai, cursor
Commands
codna triage . --issue "checkout total is wrong" # suspect files. Deterministic. 0 LLM tokens.
codna review . --pr 123 --post # findings with a verdict on the pull request
codna fix . --tests --apply --max-iterations 3 # patch, re-run your tests, re-fix until green
codna fix <git url> --ref <sha> --issue "…" --open-pr # push a branch and open a pull request
codna secure . --from-sarif results.sarif # which scanner findings are reachable. 0 LLM tokens.
codna fix prints the root cause, the impacted symbols, the blast radius, its confidence and a
regression risk. --open-pr needs a git URL and a GitHub write token. codna review posts one
inline comment per finding with severity, category and a suggestion block, and an Approve when the
diff is clean at medium and high. codna secure reads SARIF 2.1.0 from CodeQL, Semgrep, Snyk,
Trivy or any other scanner.
Other commands: init, status, doctor, login, key, impact, memory export, report.
Full reference: docs.codna.ai/reference/cli.
MCP server
Run Codna as a Model Context Protocol server over stdio — the same engine the CLI uses, inside Cursor, Claude Desktop, or your own agent:
pipx install "codna[mcp]" # or: pip install "codna[mcp]"
codna mcp # serve over stdio
codna mcp install --client cursor # optional: write the client config for you (or --client claude)
Five tools, each returning JSON; a failure comes back as codna_<tool> error: … text and never
crashes the server:
| Tool | What it does | Needs |
|---|---|---|
codna_triage |
Understand a repo and locate the code relevant to an issue. Deterministic, 0 LLM tokens. | free codna login |
codna_secure |
Prove which SARIF scanner findings (CodeQL, Semgrep, Snyk, Trivy) are reachable. Read-only, 0 LLM tokens. | free codna login |
codna_recall |
Recall code from local on-device memory — semantic + lexical search, fully offline. | free codna login (which also installs the on-device runtime) |
codna_fix |
Root-cause and plan a fix (read-only by default); with open_pr=true pushes a branch and opens a real PR. |
free codna login + provider key (BYOK; + GITHUB_TOKEN for open_pr=true) |
codna_report_bug |
File a bug, feature, or question to thyn-ai/feedback. | free codna login + GITHUB_TOKEN (else returns a pre-filled URL) |
Introspection (initialize/tools/list) needs no credentials. Executing any of the five tools
requires the one-time free community login (codna login — device authorization, free community
license) — fully offline thereafter. codna_fix additionally needs a provider key (BYOK, e.g.
ANTHROPIC_API_KEY); codna_report_bug needs GITHUB_TOKEN or it returns a pre-filled issue
URL; codna_recall additionally uses the on-device memory runtime that the same codna login
installs.
Full reference:
docs.codna.ai/guides/mcp.
Code memory
Code memory and recall run on your machine after a one-time free codna login (device
authorization), which also installs the signed on-device runtime. From then on, recall runs fully
offline: no key, no network calls. The optional
codna[memory] extra adds the on-device semantic reranker; without it, recall ranks lexically.
What leaves your machine
- Repository mapping, triage, recall and
impactrun offline. No model is involved. fixandreviewsend one issue-specific evidence bundle to the provider you chose, under your key. Not the repository.- Secret redaction is always on and cannot be turned off.
privacy.egress: fail-closedincodna.yamlrefuses to run tests without network denial and skips registry lookups during review.- Source distributions exclude runtime binaries, keys,
.envfiles and logs.
Links
- Homepage: https://codna.ai
- Documentation: https://docs.codna.ai
- Source (public mirror): https://github.com/thyn-ai/codna-cli
- Security: https://codna.ai/security
Codna MCP questions
How do I add Codna MCP to Claude Code?
Run claude mcp add --env ANTHROPIC_API_KEY=<YOUR_ANTHROPIC_API_KEY> --env CODNA_API_KEY=<YOUR_CODNA_API_KEY> --env GEMINI_API_KEY=<YOUR_GEMINI_API_KEY> --env GITHUB_TOKEN=<YOUR_GITHUB_TOKEN> --env OPENAI_API_KEY=<YOUR_OPENAI_API_KEY> codna-cli -- uvx codna in your terminal. Add --scope user to make it available in every project.
How do I add Codna MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
Does Codna send my entire repository to an LLM?
No, fix and review only send one issue-specific evidence bundle to your chosen provider under your key, not the entire repository.
How do I use Codna with Cursor or Claude Desktop?
You can install the MCP server via pipx and use the install command to automatically write the client configuration for Cursor or Claude.
Can I use Codna offline?
Yes, repository mapping, triage, recall, and impact tools run offline, and recall runs fully offline after a one-time login.
What scanner findings can Codna analyze?
Codna can prove the reachability of findings from CodeQL, Semgrep, Snyk, Trivy, or any other scanner that provides SARIF 2.1.0.