mcpField
C
Codna — repository intelligence

Codna — repository intelligence

本地服务
codna.ai版本控制02 周前更新

关于 Codna — repository intelligence

Codna 是面向开发者和编码 Agent 的代码仓库分析工具,提供命令行与 MCP 服务。它可映射代码、分诊问题、审查 PR、规划修复、判断 SARIF 告警是否可达,并检索本地代码记忆。

主要功能

  1. 01仓库映射与问题分诊
  2. 02PR 审查与修复规划
  3. 03应用修复并重跑测试
  4. 04检查 SARIF 告警可达性
  5. 05离线检索本地代码记忆

适用场景

  1. 01定位与报告问题相关的文件
  2. 02审查 PR 并发布发现
  3. 03检查扫描器告警是否可达
  4. 04从设备端记忆检索代码

MCP 相关

Codna 通过 MCP stdio 服务提供五种仓库工具:分诊、安全可达性检查、记忆检索、修复规划和问题报告。执行工具需免费社区登录;部分工具还需模型提供商密钥或 GitHub 令牌。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"thyn-ai-codna": {
"command": "uvx",
"args": [
"codna"
],
"env": {
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"GEMINI_API_KEY": "<GEMINI_API_KEY>",
"GITHUB_TOKEN": "<GITHUB_TOKEN>",
"CODNA_API_KEY": "<CODNA_API_KEY>"
}
}
}
}
启动命令uvx codna
需要配置的环境变量
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.
OPENAI_API_KEY密钥Alternative provider key (OpenAI/ChatGPT) for codna_fix's planner — see ANTHROPIC_API_KEY.
GEMINI_API_KEY密钥Alternative provider key (Gemini) for codna_fix's planner — see ANTHROPIC_API_KEY.
GITHUB_TOKEN密钥Write token, only for codna_fix with open_pr=true (opens a pull request) and codna_report_bug (files an issue).
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.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypicodna0.2.95

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Codna

理解。修复。演进。

Agent 会读取你的代码。Codna 能理解代码。

Codna 会先映射代码仓库,再消耗任何 token。随后,它会审查拉取请求、修复 Bug,并证明扫描器发现的问题是否可达。同一个 codna 命令可在你的机器上、GitHub Action 中以及 GitHub App 后端运行。

可在你的机器或云端运行。没有你的密钥,你的代码绝不会离开本机。

安装

pip install codna          # or: pipx install codna · uv tool install codna
codna --version

Python 3.12–3.13。提供适用于 Apple 芯片 macOS 和 Linux x86_64 的 wheel。需要将 git 加入 PATH。 无需安装其他内容:不需要 Node、Bun、Docker 或服务器。Agent 运行时已包含在 wheel 中。

本地命令无需 Codna 密钥。fix 和 review 使用你自己的模型提供商密钥,该密钥存储在操作系统密钥链中,且绝不会打印出来:

codna key set anthropic    # also: openai, gemini, google, groq, mistral, openrouter, xai, cursor

命令

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 会打印根本原因、受影响的符号、影响范围、置信度和回归风险。--open-pr 需要 Git URL 和 GitHub 写入令牌。codna review 会针对每项发现发布一条内联评论,其中包含严重程度、类别和建议块;如果差异在中等和高严重程度下均无问题,还会发布一条 Approve。codna secure 可读取来自 CodeQL、Semgrep、Snyk、Trivy 或其他扫描器的 SARIF 2.1.0。

其他命令:init、status、doctor、login、key、impact、memory export、report。 完整参考:docs.codna.ai/reference/cli。

MCP 服务

将 Codna 作为基于标准输入/输出的 Model Context Protocol 服务运行——它与 CLI 使用相同的引擎,可在 Cursor、Claude Desktop 或你自己的 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)

五种工具,每种都返回 JSON;发生故障时会返回 codna_<tool> error: … 文本,且不会导致服务崩溃:

工具功能所需条件
codna_triage理解代码仓库,并定位与问题相关的代码。确定性执行,消耗 0 个大模型 token。免费 codna login
codna_secure证明 SARIF 扫描器(CodeQL、Semgrep、Snyk、Trivy)的哪些发现可达。只读,消耗 0 个大模型 token。免费 codna login
codna_recall从本地设备上的记忆中找回代码——语义 + 词法搜索,完全离线。免费 codna login(同时会安装本地设备运行时)
codna_fix找出根本原因并规划修复(默认只读);设置 open_pr=true 后会推送分支并创建真实的 PR。免费 codna login + 提供商密钥(自带密钥;open_pr=true 时还需要 GITHUB_TOKEN)
codna_report_bug向 thyn-ai/feedback 提交 Bug、功能请求或问题。免费 codna login + GITHUB_TOKEN(否则会返回预填的 URL)

查询信息(initialize/tools/list)无需凭据。执行这五种工具中的任何一种,都需要一次性的免费社区登录(codna login——设备授权,免费社区许可证),之后即可完全离线运行。codna_fix 还需要提供商密钥(自带密钥,例如 ANTHROPIC_API_KEY);codna_report_bug 需要 GITHUB_TOKEN,否则会返回预填的问题 URL;codna_recall 还会使用同一条 codna login 命令安装的本地设备记忆运行时。 完整参考: docs.codna.ai/guides/mcp。

代码记忆

完成一次免费的 codna login(设备授权)后,代码记忆和回忆功能会在你的机器上运行;登录过程也会安装已签名的本地设备运行时。之后,回忆功能将完全离线运行:无需密钥,也不会发起网络调用。可选的 codna[memory] extra 会添加本地设备语义重排序器;不安装时,回忆功能会按词法相关性排序。

哪些内容会离开你的机器

  • 代码仓库映射、分诊、回忆和 impact 均离线运行,不涉及模型。
  • fix 和 review 会在你的密钥保护下,向你选择的提供商发送一个针对特定问题的证据包,而非整个代码仓库。
  • 始终启用密钥脱敏,且无法关闭。
  • codna.yaml 中的 privacy.egress: fail-closed 会在未禁止网络访问时拒绝运行测试,并在审查期间跳过注册表查询。
  • 源码分发包不包含运行时二进制文件、密钥、.env 文件和日志。

Links

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。