CodeGraph

CodeGraph

Enables AI agents to search code by meaning, explore codebase structure, store and query knowledge with temporal facts, and read source code through a set of MCP tools.

Category
Visit Server

README

CodeGraph

A code knowledge graph and search system for AI agents. Indexes your codebase into a graph database, embeds symbols and documentation, and exposes search through a Model Context Protocol (MCP) server.

What it does

  • Search code by meaning — vector embeddings + cross-encoder reranking find the function, class, or interface you describe, even when you don't know the name. Internal benchmark: MRR 0.969, Success@1 94%, Success@5 100%, ~447ms latency on a project of ~2.3K nodes.
  • Understand structure — tree-sitter parsers extract Functions, Classes, Interfaces, Variables, and Types across 5 first-class languages (TypeScript, Python, Go, Rust, Markdown), with tree-sitter coverage for additional languages via the generic plugin.
  • Track decisions over time — bitemporal knowledge graph stores facts with valid_at / invalid_at timestamps, supporting point-in-time queries ("what was true on March 1st?").
  • Plug into AI agents — exposes 4 MCP tool groups (search, knowledge, codebase, query) for use in Claude Desktop, Cursor, Claude Code, or any MCP client.

Quickstart

git clone https://github.com/Phoenixrr2113/codebase-graph.git
cd codebase-graph
pnpm install
pnpm build

# Option A — embedded database (no Docker required)
brew install redis  # macOS — FalkorDBLite needs redis-server
echo "CODEGRAPH_DRIVER=falkordblite" > .env
echo "CODEGRAPH_DB_PATH=.codegraph/falkordb" >> .env

# Option B — FalkorDB via Docker
# pnpm docker:db
# echo "CODEGRAPH_DRIVER=falkordb" > .env

# Index a project
pnpm --filter @codegraph/cli start configure --projects /path/to/your/project
pnpm --filter @codegraph/cli start reindex

# Run the MCP server (stdio transport)
pnpm --filter @codegraph/mcp-server start

Use with an MCP client

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "codegraph": {
      "command": "node",
      "args": ["/absolute/path/to/codebase-graph/packages/mcp-server/dist/index.js"],
      "env": {
        "VOYAGE_API_KEY": "your-key",
        "JINA_API_KEY": "your-key"
      }
    }
  }
}

Claude Code

claude mcp add codegraph node /absolute/path/to/codebase-graph/packages/mcp-server/dist/index.js

MCP tools

Four persona-based tool groups by default. Set CODEGRAPH_RAW_TOOLS=1 to expose the underlying handlers individually.

Tool What it does
search Find code/symbols by name or meaning; get context for a file or symbol
knowledge Store and recall entities, relationships, and facts (with bitemporal queries)
codebase Configure projects, reindex, check status/stats, read source code
query Execute read-only Cypher against the graph (power users)

See CLAUDE.md for the complete tool reference (parameters, examples, workflows).

Architecture

  • Graph storage: FalkorDB (Docker) or FalkorDBLite (embedded), with HNSW vector indexes per node type.
  • Embeddings: pluggable — Voyage AI (voyage-code-3, 1024-dim), OpenRouter, or local nomic-embed via @huggingface/transformers (768-dim, runs on CPU).
  • Reranker: cross-encoder via Jina (jina-reranker-v2-base-multilingual) or Voyage.
  • Indexer: tree-sitter for AST parsing, SHA-256 file-hash incremental change detection.
  • MCP server: 4 persona tools by default; raw mode exposes the underlying handlers.

Configuration

Environment variables (set in .env at the repo root):

# Embedding provider (auto-detected from API keys)
CODEGRAPH_EMBEDDING_PROVIDER=voyage    # voyage | local | openrouter
VOYAGE_API_KEY=...

# Reranker provider (auto-detected from API keys)
CODEGRAPH_RERANK_PROVIDER=jina         # jina | voyage
JINA_API_KEY=...

# LLM (for knowledge extraction + chain-of-thought search)
LLM_PROVIDER=cerebras
CEREBRAS_API_KEY=...

# Graph driver
CODEGRAPH_DRIVER=falkordblite          # falkordblite | falkordb
CODEGRAPH_DB_PATH=.codegraph/falkordb  # for falkordblite

Packages

Package Description
@codegraph/core Indexer, search pipelines, service layer, git sync
@codegraph/graph Graph DB driver abstraction, knowledge operations, Cypher templates
@codegraph/plugin-nlp Embeddings, reranker, entity resolution, conversation/document ingestion
@codegraph/mcp-server MCP server with 4 persona tools
@codegraph/api Express REST API for the dashboard
@codegraph/cli CLI wrapper around the core service
@codegraph/plugin-typescript TS/JS/JSX tree-sitter plugin
@codegraph/plugin-python Python tree-sitter plugin
@codegraph/plugin-go Go tree-sitter plugin
@codegraph/plugin-rust Rust tree-sitter plugin
@codegraph/plugin-markdown Markdown parser
@codegraph/plugin-generic Tree-sitter fallback for additional languages
@codegraph/plugin-common Shared extraction utilities (complexity, AST helpers)
@codegraph/plugin-languages Plugin registry coordination
@codegraph/logger Structured logging + tracing decorator
@codegraph/types Shared TypeScript type definitions

Plus apps/web (Next.js dashboard with Graph Explorer + Operations tabs at localhost:3000).

Development

pnpm install        # Install dependencies
pnpm build          # Build all packages
pnpm dev            # Start dev mode
pnpm test           # Run all tests
pnpm docker:db      # Start FalkorDB via Docker

Status

Active development. Public on 2026-04-25. No releases yet — install from source.

License

MIT — see LICENSE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured