codegraph MCP server
2026년 11월 14일 커밋로컬 우선 SQLite 지식 그래프를 통해 AI 코딩 어시스턴트에게 저장소의 심층적인 구조적 인지 능력을 제공합니다.
다른 이름 isink17/codegraph
- 스타
- 4
- Tools
- 28
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 11월 14일
- 라이선스
- —
codegraph MCP란?
codegraph은(는) MCP server입니다. 로컬 우선 SQLite 지식 그래프를 통해 AI 코딩 어시스턴트에게 저장소의 심층적인 구조적 인지 능력을 제공합니다. 28개 도구를 제공합니다. 예: find_symbol, search_symbols, search_semantic.
프로젝트 README에서 생성된 요약
codegraph MCP server 정보
codegraph는 로컬 우선 지식 그래프를 통해 AI 코딩 어시스턴트에게 저장소의 심층적인 구조적 인지 능력을 제공합니다. 소스 코드에 대한 영구적인 SQLite 데이터베이스를 구축하여, 에이전트가 데이터를 클라우드로 전송하지 않고도 심볼, 호출 그래프 및 의존성을 이해할 수 있도록 합니다. 이 도구는 컨텍스트 수집 과정에서 토큰 소모를 줄여야 하는 Claude Code, Cursor, Windsurf 또는 Gemini CLI와 같은 AI 어시스턴트 사용자들을 위해 설계되었습니다.
이 서버는 외부 데이터베이스, Docker 또는 API 키가 필요 없는 단일 Go 바이너리로 작동합니다. tree-sitter를 사용하여 12가지 언어를 파싱하며 클라이언트에 29개의 구조화된 MCP 도구를 제공합니다. 사용자는 Ollama를 통한 벡터 유사도 검색 또는 표준 전체 텍스트 검색을 사용하여 하이브리드 검색을 수행할 수 있습니다. context_for_task와 같은 도구를 사용하면 에이전트가 파일을 하나씩 읽는 대신 관련 함수, 호출자 및 피호출자를 즉시 검색할 수 있습니다.
단순한 검색을 넘어, 이 시스템은 중요한 심볼을 찾기 위한 PageRank나 순환 의존성을 식별하기 위한 사이클 감지와 같은 고급 그래프 분석을 지원합니다. 또한 서로 다른 코딩 세션 전반에 걸쳐 결정 사항과 사실을 유지하는 세션 메모리 기능도 갖추고 있습니다.
활용 사례
- 1탐색 중 토큰 사용량 최소화AI 에이전트는 단 한 번의 도구 호출로 특정 코딩 작업에 필요한 모든 파일과 관계를 가져올 수 있습니다.
- 2변경 사항에 대한 영향 분석 수행개발자는 수정을 적용하기 전에 코드베이스의 어느 부분이 영향을 받는지 확인할 수 있습니다.
- 3저장소 내 데드 코드 식별프로젝트 내에서 활성 참조나 호출자가 없는 심볼을 찾아낼 수 있습니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
codegraph MCP 도구 28
README에서 감지됨find_symbolsearch_symbolssearch_semanticfind_callersfind_calleesget_impact_radiustrace_dependenciesfind_related_testsfind_dead_codecontext_for_taskarchitecture_overviewgraph_analytics
| find_symbol | — | |
| search_symbols | — | |
| search_semantic | — | |
| find_callers | — | |
| find_callees | — | |
| get_impact_radius | — | |
| trace_dependencies | — | |
| find_related_tests | — | |
| find_dead_code | — | |
| context_for_task | — | |
| architecture_overview | — | |
| graph_analytics | — |
도구 28개 모두 보기도구 수 줄이기
detect_frameworkscross_language_linksbenchmark_tokensindex_repoupdate_graphlist_filesgraph_statssupported_languageslist_reposlist_scanslatest_scan_errorssession_logsession_historysession_hot_filessession_contextagentic_query
| detect_frameworks | — | |
| cross_language_links | — | |
| benchmark_tokens | — | |
| index_repo | — | |
| update_graph | — | |
| list_files | — | |
| graph_stats | — | |
| supported_languages | — | |
| list_repos | — | |
| list_scans | — | |
| latest_scan_errors | — | |
| session_log | — | |
| session_history | — | |
| session_hot_files | — | |
| session_context | — | |
| agentic_query | — |
자동 검사
2026년 11월 15일에 실행됨전체 보고서 →아직 인증되지 않았습니다. 서버는 80점 이상의 점수, 심각한 결함 없음, 그리고 검사에 충분한 데이터를 갖추어야 합니다. 검사 방식 · 점수를 높이기 위해 수정할 항목
- 소스 저장소 연결 및 접근 가능isink17/codegraph is public and reachablegithub.com/isink17/codegraph ↗통과
- 패키지가 이 저장소를 소스로 명시검사되지 않음
- 빌드 출처(Sigstore 증명)검사되지 않음
- 오픈 소스 라이선스 (OSI)No license결함 발견
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-13github.com/isink17/codegraph ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음검사되지 않음
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음28 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨No tool named like delete, drop or exec통과
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기codegraph is a local-first code context engine and MCP server that builds a persistent knowledge graph of your source repositories in SQLite. It gives AI coding assistants deep structural awareness — symbols, call graphs, dependencies, and semantic search — without sending a single byte to the cloud.
Single binary. Zero config. No external databases. No API keys.
Why codegraph?
AI coding assistants are powerful, but they spend most of their token budget discovering what to change — grepping files, reading code, reconstructing call graphs from partial evidence.
codegraph shifts that cost. One call to context_for_task returns the exact files, symbols, and relationships an agent needs. One call to agentic_query gets a synthesized answer backed by graph traversal and semantic search.
❌ Without codegraph
AI reads files one by one → greps for patterns → burns tokens on context-gathering
✅ With codegraph
AI calls context_for_task("add retry logic to HTTP client")
→ instantly gets relevant files, functions, callers, callees, and tests
How It Works
Your Code ──▶ tree-sitter AST ──▶ SQLite Graph ──▶ MCP Tools ──▶ AI Assistant
│ │ │
12 languages symbols, edges 29 tools
framework detect embeddings agentic reasoning
import resolution session memory hybrid search
codegraph index . walks your repo, parses every file with tree-sitter, resolves imports using four strategies (exact, name, suffix, method-receiver), and writes a fully-linked symbol graph into a local codegraph.sqlite. The MCP server then exposes that graph to any compatible AI assistant via 29 structured tools — no cloud, no Docker, no API keys.
Features
🔍 Parsing & Indexing
- Tree-sitter parsing for all 12 supported languages — robust AST extraction, not regex
- 4-strategy import resolution — exact, name, suffix, and method-receiver matching
- Cross-language linking — connects symbols across language boundaries
- Incremental updates — only re-indexes changed files; fast on large repos
- Framework detection — recognizes 20+ frameworks (Express, Django, gin, React, Spring, Laravel, …)
🔎 Search & Query
- Hybrid search — vector similarity (Ollama embeddings) + FTS5, fused with Reciprocal Rank Fusion
- Semantic search — find code by meaning, not just text
- Call graph traversal — callers, callees, transitive dependency chains
- Impact analysis — know what breaks before you change it
- Dead code detection — find symbols with zero references
- Architecture overview — language breakdown, entry points, hub symbols, coupling metrics
🤖 AI Integration
- 29 MCP tools — comprehensive API for AI coding assistants
- Agentic reasoning — ReAct loop over a local Ollama LLM that chains tools and synthesizes answers
- Context building — one tool call returns everything an agent needs for a task
- Session memory — persist reads, edits, decisions, and facts across sessions
- Token benchmarking — measure savings vs. naive file reading
📊 Graph Analytics
- PageRank — find the most important symbols in your codebase
- Coupling metrics — identify tightly coupled file pairs
- Cycle detection — find circular dependencies at the file level
- Interactive visualization — D3.js force-directed graph with search and zoom
🛠 Developer Experience
- Single Go binary — no runtime dependencies, cross-platform
- Zero-config SQLite — no Docker, no external databases
codegraph install— auto-detects and configures Claude Code, Cursor, Windsurf, Gemini CLI- File watching — automatic re-indexing on changes
- 100% local — no data leaves your machine
Supported Languages
All languages use tree-sitter for AST parsing:
| Language | Extensions |
|---|---|
| Go | .go |
| Python | .py |
| TypeScript | .ts, .tsx |
| JavaScript | .js, .jsx, .mjs |
| Java | .java |
| Kotlin | .kt, .kts |
| Rust | .rs |
| C# | .cs |
| Ruby | .rb |
| Swift | .swift |
| PHP | .php |
| C / C++ | .c, .h, .cpp, .hpp, .cc |
Node.js repos are supported; full tree-sitter node support is still in progress.
Quick Start
1. Install
go install github.com/isink17/codegraph/cmd/codegraph@latest
Requires Go 1.23+ and a C compiler (for tree-sitter CGo bindings).
Build from source
git clone https://github.com/isink17/codegraph
cd codegraph
go build ./cmd/codegraph
go test ./...
Requires Go 1.23+ and a C compiler (for tree-sitter CGo bindings).
Clean rebuild
cd your-project
codegraph index . --rebuild
Use this after parser or indexer changes when you need a true full reindex from scratch.
codegraph index . --rebuild needs exclusive access to the repo database.
If rebuild fails because the DB is in use, stop codegraph serve or other codegraph processes and retry.
Use codegraph clean . for database maintenance tasks like WAL checkpointing, VACUUM, FTS optimize, ANALYZE, and incremental vacuum.
Version
codegraph --version
codegraph version
Prints the installed local version only. It does not contact GitHub.
Normal commands check GitHub Releases at most once every 24 hours. Set
DO_NOT_TRACK or CODEGRAPH_NO_UPDATE_CHECK to a non-empty value other than
0 or false to disable the check. This also prevents creation or update of
the local version-check state file.
2. Auto-configure your AI tool
codegraph install
Detects Claude Code, Cursor, Windsurf, and Gemini CLI and writes the MCP config automatically.
3. Index your project
cd your-project
codegraph index .
4. Start the MCP server
codegraph serve
Repo root is auto-detected from git (or falls back to your current working directory).
That's it. Your AI assistant now has deep structural code understanding.
MCP Setup
Auto-configure (recommended)
codegraph install
Manual Setup
{
"mcpServers": {
"codegraph": {
"command": "codegraph",
"args": ["serve"]
}
}
}
{
"mcpServers": {
"codegraph": {
"command": "codegraph",
"args": ["serve"]
}
}
}
[mcp_servers.codegraph]
command = "codegraph"
args = ["serve"]
startup_timeout_sec = 60
See the examples/ directory for more configuration samples.
MCP Tools (29)
Code Intelligence
| Tool | Description |
|---|---|
find_symbol |
Find symbols by exact or fuzzy query |
search_symbols |
Search symbol names, signatures, and docs (FTS5) |
search_semantic |
Hybrid semantic search (vector + FTS when embeddings enabled) |
find_callers |
Find what calls a given function |
find_callees |
Find what a given function calls |
get_impact_radius |
Estimate affected symbols and files around a change |
trace_dependencies |
Trace transitive dependency chains (upstream/downstream) |
find_related_tests |
Find tests for a symbol, file, or set of changed files |
find_dead_code |
Find symbols with no callers or references |
context_for_task |
Build a focused context bundle for a natural-language task |
Architecture & Analysis
| Tool | Description |
|---|---|
architecture_overview |
Language breakdown, directories, entry points, hub symbols |
graph_analytics |
PageRank, coupling metrics, or cycle detection |
detect_frameworks |
Detect frameworks and libraries used in the repo |
cross_language_links |
Find and create cross-language symbol references |
benchmark_tokens |
Estimate token savings vs. reading raw files |
Repository Management
| Tool | Description |
|---|---|
index_repo |
Index a repository into the local code graph |
update_graph |
Update only changed files |
list_files |
List indexed files with optional path filter |
graph_stats |
Repository graph statistics |
supported_languages |
List supported languages and extensions |
list_repos |
List known repositories |
list_scans |
List recent scans |
latest_scan_errors |
List indexer errors from the last scan |
Session Memory
| Tool | Description |
|---|---|
session_log |
Log a session event (read, edit, decision, task, fact) |
session_history |
Get session event history |
session_hot_files |
Get most frequently accessed files |
session_context |
Get aggregated session context for pre-loading |
Agentic
| Tool | Description |
|---|---|
agentic_query |
Ask a question answered by a local AI agent that reasons over the code graph (requires Ollama) |
CLI Reference
# Setup
codegraph install # Auto-configure AI tools
codegraph doctor # Check installation health
codegraph config show # Show current config
codegraph --version # Print current version
codegraph version # Print current version
# Indexing
codegraph index <path> # Full index
codegraph update <path> # Incremental update
codegraph watch <path> # Watch and auto-reindex
codegraph clean <path> # Clean database
# MCP Server
codegraph serve [--repo-root <path>] # Start MCP server (auto-detects repo root)
# Query
codegraph stats <path> # Graph statistics
codegraph find-symbol <path> <query> # Find symbols
codegraph search <path> <query> # Full-text symbol search
codegraph callers <path> --symbol <name> # Find callers
codegraph callees <path> --symbol <name> # Find callees
codegraph impact <path> --symbol <name> # Impact analysis
# Testing
codegraph affected-tests [--stdin] <files> # Tests affected by changed files
# Visualization & Export
codegraph visualize [--repo-root <path>] # Interactive D3.js graph (auto-detects repo root)
codegraph graph export <path> --format dot # Export as Graphviz DOT
codegraph graph export <path> --format json # Export as JSON
# Benchmarking
codegraph benchmark # Token savings benchmark
Affected Tests with Git
# Find tests affected by uncommitted changes
git diff --name-only | codegraph affected-tests --stdin
# CI integration
TESTS=$(git diff --name-only HEAD~1 | codegraph affected-tests --stdin)
go test $TESTS
Replace --repo-root . with nothing if you are already in the repo you want to inspect.
Optional: Embeddings & Agentic Mode
codegraph works fully without any external services. Enable these for enhanced capabilities:
Vector Embeddings (via Ollama)
Enables hybrid semantic search (vector + FTS):
# Install and pull embedding model
ollama pull nomic-embed-text
# Initialize repo config
codegraph config init --repo .
Edit .codegraph/config.json:
{
"embedding": {
"enabled": true,
"model": "nomic-embed-text"
}
}
Then re-index to generate embeddings:
codegraph index . --force
Agentic Reasoning (via Ollama)
The agentic_query tool uses a local LLM to reason over the graph with a ReAct loop:
ollama pull llama3.2
Edit .codegraph/config.json:
{
"agent": {
"enabled": true,
"model": "llama3.2"
}
}
Configuration
Global config
| Platform | Path |
|---|---|
| macOS | ~/Library/Application Support/codegraph/config.json |
| Linux | ${XDG_CONFIG_HOME:-~/.config}/codegraph/config.json |
| Windows | %AppData%\codegraph\config.json |
Repo config
Created with codegraph config init --repo . at .codegraph/config.json:
{
"include": [],
"exclude": ["vendor/**", "node_modules/**"],
"languages": [],
"embedding": {
"enabled": false,
"model": "nomic-embed-text"
},
"agent": {
"enabled": false,
"model": "llama3.2"
}
}
Repo Root Resolution
When --repo-root (CLI) or repo_root (MCP tool parameter) is omitted, codegraph resolves the repo root using:
- Per-call
repo_rootMCP tool parameter --repo-rootCLI flag (process-level default)git rev-parse --show-toplevelfrom the current working directoryos.Getwd()(current working directory)- Return error
Ignore file
Create .codegraphignore in the repo root (same syntax as .gitignore):
build/
dist/
*.generated.go
Note: Common generated directories (
node_modules,.next,.nuxt, etc.) are always skipped and cannot be un-ignored.
Architecture
cmd/codegraph CLI entrypoint
internal/
agent/ Agentic reasoning (ReAct loop over Ollama)
cli/ Command handlers and MCP auto-configuration
config/ Config loading and path resolution
embedding/ Vector embedding (Ollama HTTP client)
export/ JSON and DOT graph export
framework/ Framework detection (20+ frameworks)
graph/ Core types (Symbol, Edge, Reference, …)
indexer/ Repository scan, incremental updates, embedding
mcp/ MCP stdio server (29 tools)
parser/ Parser interface and adapters
treesitter/ Tree-sitter adapters (12 languages)
golang/ Go AST parser (legacy)
python/ Python heuristic parser (legacy)
heuristic/ Regex-based parsers (legacy fallback)
query/ Query orchestration and hybrid search
store/ SQLite storage, migrations, graph analytics
viz/ Interactive D3.js graph visualization
watcher/ File watch and debounced updates
Building from Source
git clone https://github.com/isink17/codegraph
cd codegraph
go build ./cmd/codegraph
go test ./...
Requires Go 1.23+ and a C compiler for the tree-sitter CGo bindings.
For a clean rebuild after parser/indexer changes:
codegraph index . --rebuild
This rebuild path needs exclusive access to the repo database. If it fails because another codegraph process is holding the DB, stop that process and retry.
License
This project is licensed under the Functional Source License, Version 1.1, MIT Future License (FSL-1.1-MIT).
On the second anniversary of each version's release, that version converts to the MIT License. See LICENSE for full terms.
codegraph MCP 질문
codegraph MCP는 어떤 도구를 제공하나요?
28개 도구를 제공합니다. 예: find_symbol, search_symbols, search_semantic, find_callers, find_callees.
codegraph를 사용하려면 인터넷 연결이나 클라우드 서비스가 필요한가요?
아니요, 데이터를 클라우드로 전송하지 않고 작동하는 로컬 우선 엔진입니다.
AI 어시스턴트에 codegraph를 어떻게 설정하나요?
Claude Code, Cursor, Windsurf, Gemini CLI를 자동으로 감지하는 자동 설정 명령어를 사용할 수 있습니다.
codegraph가 지원하는 언어는 무엇인가요?
Go, Python, TypeScript, JavaScript, Java, Kotlin, Rust, C#, Ruby, Swift, PHP, C/C++를 포함한 12개 언어를 지원합니다.
외부 데이터베이스 설정 없이 사용할 수 있나요?
네, 외부 데이터베이스나 Docker가 필요 없는 제로 설정 SQLite 워크플로우를 사용합니다.