Skip to main content
Glama

code-context-mcp

MCP server for semantic code search and dependency graph analysis. Indexes codebases into a knowledge graph (Apache AGE) with vector embeddings (pgvector + Ollama) for AI-powered code understanding.

Supported Languages

  • TypeScript (.ts, .tsx) — functions, classes, types, interfaces, imports

  • Rust (.rs) — functions, structs, enums, traits, impl blocks, modules, use declarations

  • Solidity (.sol) — contracts, functions, events, modifiers, structs, enums, interfaces, imports

  • C - functions, enums

Related MCP server: code-graph-mcp

Prerequisites

  • Docker and Docker Compose

  • Node.js >= 18

Quick Start

# Start PostgreSQL (with AGE + pgvector) and Ollama
docker-compose up -d

# Install dependencies and build
npm install
npm run build

Indexing a Codebase

# Index a directory (project name auto-derived from directory basename)
node dist/cli/index.js index ./src

# Override the project name
node dist/cli/index.js index ./src --project my-project

# Index multiple codebases
node dist/cli/index.js index /path/to/frontend --project frontend
node dist/cli/index.js index /path/to/backend --project backend

The indexer will:

  1. Parse all supported source files (TypeScript, Rust, Solidity) using tree-sitter

  2. Build a code graph with functions, classes, types, contracts, traits, and their relationships

  3. Generate vector embeddings for semantic search via Ollama

  4. Show a progress bar during indexing

Re-running the indexer on the same directory skips unchanged files (detected via content hash).

Claude Desktop Configuration

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "code-context": {
      "command": "node",
      "args": ["dist/mcp/server.js"],
      "cwd": "/path/to/code-context-mcp",
      "env": {
        "PGHOST": "localhost",
        "PGPORT": "5433",
        "PGDATABASE": "rag_db",
        "PGUSER": "postgres",
        "PGPASSWORD": "postgres",
        "OLLAMA_URL": "http://localhost:11434"
      }
    }
  }
}

MCP Tools

list_projects

List all indexed projects and their node counts.

Parameters: none

search_code

Semantic search across the indexed codebase. Finds functions, classes, types, and imports by meaning.

Parameter

Type

Required

Description

query

string

yes

Natural language search query

limit

number

no

Maximum results (default: 10)

project

string

no

Scope search to a project

get_call_stack

Trace the call dependency tree from a function.

Parameter

Type

Required

Description

functionName

string

yes

Function to trace from

depth

number

no

Max traversal depth, 1-10 (default: 3)

project

string

no

Scope to a project

get_function_context

Gather full context for a function: callers, callees, types it uses.

Parameter

Type

Required

Description

functionName

string

yes

Function to get context for

project

string

no

Scope to a project

get_impact_analysis

Analyze impact of changes to a file. Shows all external code that depends on definitions in the file.

Parameter

Type

Required

Description

filePath

string

yes

Relative path of the file (as indexed)

project

string

no

Scope to a project

Environment Variables

Variable

Default

Description

PGHOST

localhost

PostgreSQL host

PGPORT

5433

PostgreSQL port

PGDATABASE

rag_db

Database name

PGUSER

postgres

Database user

PGPASSWORD

postgres

Database password

OLLAMA_URL

http://localhost:11434

Ollama API endpoint

Testing

Unit Tests

Unit tests run without Docker and cover extractors, scanner, registry, progress bar, embeddings, and DB queries.

npm test              # Run all unit tests
npm run test:watch    # Watch mode

Integration Tests

Integration tests require separate Docker containers to avoid interfering with development data.

# Start test infrastructure (separate ports: PG=5434, Ollama=11435)
docker compose -f docker-compose.test.yml up -d

# Run integration tests
npm run test:integration

Integration tests cover the full indexing pipeline and multi-language graph population.

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    F
    maintenance
    An MCP server that transforms codebases into intelligent, queryable knowledge bases, enabling AI assistants to perform semantic search, explore architecture, and analyze code relationships.
    Last updated
    165
  • A
    license
    -
    quality
    A
    maintenance
    A high-performance code knowledge graph server implementing MCP, indexing codebases into a structured AST knowledge graph with semantic search, call graph traversal, and HTTP route tracing.
    Last updated
    4,759
    60
    MIT
  • A
    license
    -
    quality
    F
    maintenance
    MCP server for semantic code search that indexes your codebase and allows AI editors to search using natural language queries.
    Last updated
    58
    54
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    MCP server for AI coding agents that builds a complete code structure graph and semantic vector index, enabling fast querying of code entities, relationships, and impact analysis.
    Last updated
    25
    8

View all related MCP servers

Related MCP Connectors

  • An MCP server that gives your AI access to the source code and docs of all public github repos

  • Local-first RAG engine with MCP server for AI agent integration.

  • User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/RafaelC457ro/code-context-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server