AI 에이전트가 저장소 내에서 이슈를 분류하고, 버그를 수정하며, SARIF 스캐너 도달 가능성을 검증하고, 시맨틱 코드 리콜을 수행할 수 있도록 지원합니다.
다른 이름 thyn-ai/codna-cli, codna-cli, codna
- 스타
- 0
- Tools
- —
- 다운로드, 30일
- 13,218
- 최신 버전
- 0.2.113
- 마지막 커밋
- 2026년 11월 14일
- 라이선스
- Apache-2.0
Codna MCP란?
Codna은(는) MCP server입니다. AI 에이전트가 저장소 내에서 이슈를 분류하고, 버그를 수정하며, SARIF 스캐너 도달 가능성을 검증하고, 시맨틱 코드 리콜을 수행할 수 있도록 지원합니다.
프로젝트 README에서 생성된 요약
Codna MCP server 정보
Codna는 코드베이스를 매핑하여 버그 수정과 이슈 분류를 용이하게 함으로써 AI 에이전트에게 저장소 인텔리전스를 제공합니다. stdio 기반의 MCP server로 작동하여 Cursor 또는 Claude Desktop과 같은 클라이언트와 통합할 수 있습니다. 개발자는 CLI에서 사용하는 것과 동일한 엔진을 사용하여 로컬 또는 클라우드에서 실행할 수 있습니다. 도구 실행을 활성화하려면 codna login을 통해 최초 1회 무료 커뮤니티 로그인이 필요하며, 버그 수정과 같은 특정 작업에는 Anthropic, OpenAI 또는 Gemini와 같은 서비스의 모델 제공업체 키가 필요합니다.
이 서버는 다섯 가지 주요 도구를 제공합니다. 관련 코드를 찾는 codna_triage, CodeQL 또는 Snyk과 같은 도구의 SARIF 스캐너 탐지 결과에 대한 도달 가능성을 검증하는 codna_secure, 그리고 시맨틱 및 렉시컬 코드 검색을 위한 codna_recall이 있습니다. 활발한 개발을 위해 codna_fix는 근본 원인을 식별하고 GitHub 토큰이 제공되면 pull request까지 생성할 수 있습니다. 독특한 기능인 온디바이스 메모리 런타임을 통해, 초기 설정 이후에는 네트워크 호출 없이도 코드 리콜을 완전히 오프라인으로 수행할 수 있습니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
Codna MCP 설치 방법
형식 확인: 2026년 11월 10일Claude Code에 Codna MCP 설치
$ 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 codnaCursor에 Codna MCP 설치
~/.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>"
}
}
}
}VS Code에 Codna MCP 설치
.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>"
}
}
}
}Claude Desktop에 Codna MCP 설치
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>"
}
}
}
}Codex에 Codna MCP 설치
~/.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>"
Gemini CLI에 Codna MCP 설치
~/.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>"
}
}
}
}구성
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.
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.
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).
OPENAI_API_KEY비밀Alternative provider key (OpenAI/ChatGPT) for codna_fix's planner — see ANTHROPIC_API_KEY.
| 이름 | 설명 | 유형 |
|---|---|---|
| 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. | 비밀 |
| 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. | 비밀 |
| 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). | 비밀 |
| OPENAI_API_KEY | Alternative provider key (OpenAI/ChatGPT) for codna_fix's planner — see ANTHROPIC_API_KEY. | 비밀 |
자동 검사
2026년 11월 12일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능통과
- 오픈 소스 라이선스 (OSI)통과
- 최근 1년 내 커밋 또는 릴리스통과
- 패키지 이름이 인기 패키지와 유사하지 않음통과
- 원격 엔드포인트가 HTTPS 사용검사되지 않음
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 모델에 대한 숨겨진 지침 없음통과
- 패키지와 의존성에 심각한 보안 권고 없음통과
README
GitHub에서 보기Codna
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 질문
Codna MCP를 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 codna를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
Codna MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
Codna가 제 저장소 전체를 LLM으로 전송하나요?
아니요, fix 및 review 기능은 전체 저장소가 아닌, 사용자의 키를 사용하여 선택한 제공업체로 특정 이슈에 특화된 증거 번들만 전송합니다.
Cursor 또는 Claude Desktop에서 Codna를 어떻게 사용하나요?
pipx를 통해 MCP server를 설치한 후, install 명령어를 사용하여 Cursor 또는 Claude용 클라이언트 설정을 자동으로 작성할 수 있습니다.
Codna를 오프라인에서 사용할 수 있나요?
네, 저장소 매핑, 분류, 리콜 및 영향도 분석 도구는 오프라인에서 실행됩니다. 특히 리콜 기능은 최초 1회 로그인 후 완전히 오프라인으로 작동합니다.
Codna는 어떤 스캐너 결과를 분석할 수 있나요?
Codna는 CodeQL, Semgrep, Snyk, Trivy 또는 SARIF 2.1.0을 지원하는 모든 스캐너의 탐지 결과에 대한 도달 가능성을 증명할 수 있습니다.