← 开源
bartolli

codanna

Local code intelligence MCP server and CLI for AI coding agents

AI EngineeringGive agent toolsGive agent knowledgeRust
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
755
Star
70
Fork
+0
本周
18
贡献者
创建于 2025-07-24 · 更新于 2026-10-12 · 今日第 14171 名
主要开发者
bartolliMeKo-Christiansergitorres-codere

bartolli/codanna 排名第 14,171,有 755 个星标。

同类别比较

bartolli/codanna 排名第 14,171,此处有 8 个同类条目;dongshuyan/compass-skills 排名第 14,173。

同类别比较
名称排名指标
ant4g0nist/lisa.py14,155
语言:
Python
星标数:
756
分叉数:
113
简介:
LLDB MCP Integration + other helpful commands
deepforge-dev/deepforge14,157
语言:
JavaScript
星标数:
756
分叉数:
74
简介:
A modern development environment for deep learning
Archive228/loopkit14,166
语言:
Shell
星标数:
755
分叉数:
124
简介:
33 battle-tested skills + minimal .claude harness for any coding agent (Claude Code, Cursor, Codex, Gemini CLI).
Macoron/whisper.unity14,167
语言:
C#
星标数:
755
分叉数:
186
简介:
Running speech to text model (whisper.cpp) in Unity3d on your local machine.
dongshuyan/compass-skills14,173
语言:
Python
星标数:
755
分叉数:
61
简介:
司南:个性化 AI 任务总控 Skills 系统 /COMPASS: Personal Alignment Skills OS for AI Agents
ustc-ai4science/Science-Star14,176
语言:
Python
星标数:
755
分叉数:
54
简介:
Science-Star: A Platform for Building, Extending, and Experimenting with Scientific Agents.
MIT-SPARK/Kimera-Semantics14,178
语言:
C++
星标数:
754
分叉数:
146
简介:
Real-Time 3D Semantic Reconstruction from 2D data
transitive-bullshit/chatgpt-twitter-bot14,207
语言:
TypeScript
星标数:
753
分叉数:
95
简介:
Twitter bot powered by OpenAI's ChatGPT API. It's aliveeeee 🤖
关键参数与规格
关键参数与规格
参数值
语言Rust
类别AI Engineering
子类别Give agent tools,Give agent knowledge
关键词Embeddings, MCP, Retrieval, Search
星标数755
分叉数70
贡献者18
创建日期2025-07-24
更新日期2026-10-12
1 天星标数0
7 天星标数0
排名14,171
上次排名14,039
排名变化-132
7 天星标排名14,332
上次 7 天星标排名14,344
7 天星标排名变化12
总星标排名13,996
上次总星标排名13,972
总星标排名变化-24
README 摘录

Codanna Documentation · Report Bug · Discussions **Local code intelligence MCP server and CLI for AI coding agents. * Codanna is a local code intelligence and semantic code search MCP server for AI coding agents. Two operational modes Codanna's MCP toolset is reachable two ways. What one call returns The headline command, run against codanna's own source tree. One call, and the agent has the symbol, its documentation, signature, callees with exact call sites, callers, and blast radius: Every result carries coordinates the

agent can open directly, s it can reuse to disambiguate name collisions, and a guidance hint it can chain on. Local-first Codanna runs on your machine. The repository index lives on disk under . The embedding model downloads once on first use, then runs locally. No source code, symbols, or queries are sent to a remote API by default. Remote OpenAI-compatible embeddings are opt-in: under in , or environment variables; the API key is environment-only. Quick Start Install

(macOS, Linux, WSL) Or via Homebrew Or via Nix Windows (PowerShell) See Installation Guide for Cargo and other options. Initialize and index Search code Search documentation (RAG) What It Does Your AI assistant gains structured knowledge of your code: **"Where's this function called? "** - Instant call graph, not grep results **"Find authentication logic"** - Semantic search matches intent, not just keywords **"What breaks if I change this? "** - Full dependency analysis across files The difference: Codanna understands code structure. It knows is a

function that calls , not just a string match. Finds functions by what they do, not just their names. | | **Relationship Tracking** | Call graphs, implementations, and dependencies. | | **Document Search** | Index markdown and text files for RAG workflows. | | **MCP Protocol** | Native integration with Claude, Gemini, Codex, and other AI assistants. | | **Profiles** | Package hooks, commands, and agents for different project types. | **Performance:** parser throughput 76,000-249,000 symbols/second depending on language; warm-server lookups under 10 ms (0. Parsing is the fast

layer; embedding generation during indexing takes longer and scales with your cores. Measured numbers, machine spec, and reproduction commands: Benchmarks. **Languages:** Rust, Python, JavaScript, TypeScript, Java, Kotlin, Go, PHP, C, C++, C#, Clojure, Lua, Swift, GDScript. Claude Code plugin Two skills over the index, driven by the agent: it picks the view that fits the question. **graph** covers codebase shape: the module disc with hubs at the centre, a commit timeline, and a heatmap. Symbol search, detail panels with highlighted

signatures, call-graph navigation. The disc renderer is adapted from vault-graph by Lukas Proprentner (MIT). Integration Add codanna to any MCP-compatible client. Project-scoped (Claude Code, Cursor, Windsurf): keeps the index hot as files change. See Integration Guides for Claude Desktop, Gemini, Codex, and network setups. Requirements ~150MB for embedding model (downloaded on first use) **macOS:** Apple Silicon. 1 and later do not target Intel Macs; 0. 0 is the last release that does **Linux:** glibc 2. 38

+ and libstdc++ from GCC 13+ for (the prebuilt ONNX Runtime binaries); the release binaries are built on Ubuntu 24. 85

常见问题

记录了多少星标和分叉?

bartolli/codanna 有 755 个星标和 70 个分叉。

仓库排名是多少?

bartolli/codanna 排名第 14,171。

记录的语言和类别是什么?

bartolli/codanna 有 755 个星标,语言为 Rust,类别为 AI Engineering。

哪个仓库排名最接近?

bartolli/codanna 与 dongshuyan/compass-skills 比较,后者排名第 14,173,有 755 个星标。

README

Codanna

Documentation · Report Bug · Discussions

Local code intelligence MCP server and CLI for AI coding agents.

X-ray vision for your agent.

Codanna is a local code intelligence and semantic code search MCP server for AI coding agents. One MCP call returns symbol context, call graph, and impact analysis, pre-correlated — the grep-and-read loop your agent runs today, collapsed into a single response it can act on.

It indexes your repository on disk and serves symbol search, semantic search, call graphs, dependency tracking, document RAG, and impact analysis to Claude Code, Cursor, Windsurf, Codex, Gemini, and any MCP-compatible client — as a persistent MCP server for session-long work, or a one-shot CLI for instant answers when LSP is too slow. Written in Rust. 15 languages. No source code leaves your machine.

Two operational modes

Codanna's MCP toolset is reachable two ways. Same tools, same surface — pick the mode that fits the workflow.

Persistent MCP server — for session-long agent workflows.

codanna serve                # stdio
codanna serve --http         # HTTP
codanna serve --https        # HTTPS

One-shot CLI — for slash-commands, bash hooks, scripts, CI. No daemon required.

codanna mcp find_symbol name:"my_function"
codanna mcp analyze_impact symbol_name:"my_function"
codanna mcp semantic_search_with_context query:"recursively extract function calls"

codanna mcp semantic_search_with_context is the headline command: it returns N semantic matches, and for each match the symbol identity, signature, docstring, callees, callers, and recursive impact analysis — five MCP tools fused into one query.

The one-shot CLI is also what makes codanna skill-friendly: an Agent Skill can wrap codanna mcp commands directly in Claude Code, Cursor, Windsurf, Codex, Gemini, or any harness that runs shell commands — no MCP plumbing required.

What one call returns

The headline command, run against codanna's own source tree. One call, and the agent has the symbol, its documentation, signature, callees with exact call sites, callers, and blast radius:

$ codanna mcp semantic_search_with_context query:"recursively extract function calls" limit:1

Found 1 results for query: 'recursively extract function calls'

1. extract_calls_recursive - Method at src/parsing/cpp/parser.rs:1002-1047 [symbol_id:1477]
   Similarity Score: 0.833
   Documentation:
     Recursively extract function calls with context tracking
   Signature: fn extract_calls_recursive<'a>(
        node: Node,
        code: &'a str,
        current_function: Option<&'a str>,
        calls: &mut Vec<(&'a str, &'a str, Range)>,
    )

   extract_calls_recursive calls 3 function(s):
     -> Method extract_calls_recursive at src/parsing/cpp/parser.rs:1002 [symbol_id:1477] (called at src/parsing/cpp/parser.rs:1045)
     -> Method function_name_at_def at src/parsing/cpp/parser.rs:377 [symbol_id:1451] (called at src/parsing/cpp/parser.rs:1008)
     -> Method new at src/types/mod.rs:112 [symbol_id:7388] (called at src/parsing/cpp/parser.rs:1028)

   2 function(s) call extract_calls_recursive:
     <- Method extract_calls_recursive at src/parsing/cpp/parser.rs:1045 [symbol_id:1477]
     <- Method find_calls at src/parsing/cpp/parser.rs:885 [symbol_id:1467]

   Changing extract_calls_recursive would impact 1 symbol(s) (max depth: 2):

     methods (1):
       - find_calls [symbol_id:1467]

Guidance: Found one match with full context. Review the relationships to understand how this fits into the codebase.

Every result carries file:line coordinates the agent can open directly, symbol_ids it can reuse to disambiguate name collisions, and a guidance hint it can chain on. Add --json for the structured envelope.

Local-first

Codanna runs on your machine. The repository index lives on disk under .codanna/. The embedding model downloads once on first use, then runs locally. No source code, symbols, or queries are sent to a remote API by default. Remote OpenAI-compatible embeddings are opt-in: remote_url under [semantic_search] in settings.toml, or CODANNA_EMBED_* environment variables; the API key is environment-only.

Quick Start

Install (macOS, Linux, WSL)

curl -fsSL --proto '=https' --tlsv1.2 https://install.codanna.sh | sh

Or via Homebrew

brew install codanna

Or via Nix

nix run github:bartolli/codanna

Windows (PowerShell)

irm https://raw.githubusercontent.com/bartolli/codanna/main/scripts/install.ps1 | iex

See Installation Guide for Cargo and other options.

Initialize and index

codanna init
codanna index src

Search code

codanna mcp semantic_search_with_context query:"where do we handle errors" limit:3

Search documentation (RAG)

codanna documents add-collection docs ./docs
codanna documents index
codanna mcp search_documents query:"authentication flow"

What It Does

Your AI assistant gains structured knowledge of your code:

  • "Where's this function called?" - Instant call graph, not grep results
  • "Find authentication logic" - Semantic search matches intent, not just keywords
  • "What breaks if I change this?" - Full dependency analysis across files

The difference: Codanna understands code structure. It knows parseConfig is a function that calls validateSchema, not just a string match.

Features

Feature Description
Semantic Search Natural language queries against code and documentation. Finds functions by what they do, not just their names.
Relationship Tracking Call graphs, implementations, and dependencies. Trace how code connects across files.
Document Search Index markdown and text files for RAG workflows. Query project docs alongside code.
MCP Protocol Native integration with Claude, Gemini, Codex, and other AI assistants.
Profiles Package hooks, commands, and agents for different project types.

Performance: parser throughput 76,000-249,000 symbols/second depending on language; warm-server lookups under 10 ms (0.3 ms exact, ~3 ms semantic). Parsing is the fast layer; embedding generation during indexing takes longer and scales with your cores. Measured numbers, machine spec, and reproduction commands: Benchmarks.

Languages: Rust, Python, JavaScript, TypeScript, Java, Kotlin, Go, PHP, C, C++, C#, Clojure, Lua, Swift, GDScript.

Claude Code plugin

Two skills over the index, driven by the agent: it picks the view that fits the question. x-ray covers scoped questions — a symbol's blast radius as a call DAG, module structure as a collapsible tree or radial poster, cross-module calls as an edge-bundle page. graph covers codebase shape: the module disc with hubs at the centre, a commit timeline, and a heatmap. Symbol search, detail panels with highlighted signatures, call-graph navigation. The disc renderer is adapted from vault-graph by Lukas Proprentner (MIT).

/plugin marketplace add bartolli/codanna
/plugin install codanna-toolset@codanna

Integration

Add codanna to any MCP-compatible client. Project-scoped .mcp.json (Claude Code, Cursor, Windsurf):

{
  "mcpServers": {
    "codanna": {
      "command": "codanna",
      "args": ["--config", ".codanna/settings.toml", "serve", "--watch"]
    }
  }
}

--watch keeps the index hot as files change. Transports: stdio, HTTP, HTTPS. See Integration Guides for Claude Desktop, Gemini, Codex, and network setups.

Requirements

  • ~150MB for embedding model (downloaded on first use)
  • macOS: Apple Silicon. ONNX Runtime 1.28 has no Intel macOS build, so 0.17.1 and later do not target Intel Macs; 0.17.0 is the last release that does
  • Linux: glibc 2.38+ and libstdc++ from GCC 13+ for cargo install (the prebuilt ONNX Runtime binaries); the release binaries are built on Ubuntu 24.04 (glibc 2.39)
  • Build from source: Rust 1.85+ and pkg-config
  • Windows support is experimental

Contributing

Contributions welcome. See CONTRIBUTING.md.

License

Apache License 2.0 - See LICENSE.

Attribution required. See NOTICE.


Built with Rust.

排名相邻
同类项目