Skip to main content
Glama
Bek85
by Bek85

Code Context MCP

A multi-provider embedding MCP server with local Milvus for semantic code search. Works with Claude Code, Cursor, Windsurf, and other MCP-compatible IDEs.

Features

  • Multi-provider embeddings: Local Qwen (free), OpenAI, or DeepSeek

  • Dimension mismatch detection: Warns before indexing if dimensions don't match

  • Zero cloud dependency: Use local Qwen for completely offline operation

  • Dual deployment: Docker or local with pnpm

Related MCP server: nexus-mcp-ci

Architecture

┌─────────────────┐     ┌────────────────────┐     ┌─────────────────┐
│  Your Codebase  │────▶│  Embedding Provider │────▶│  Local Milvus   │
│                 │     │  (Qwen/OpenAI/etc) │     │  (Vector Store) │
└─────────────────┘     └────────────────────┘     └─────────────────┘
         │                                                  │
         │         ┌────────────────────────────┐          │
         └────────▶│     code-context-mcp       │◀─────────┘
                   │       (MCP Server)         │
                   └────────────────────────────┘
                            │
              ┌─────────────┴─────────────┐
              ▼             ▼             ▼
        Claude Code      Cursor      Windsurf

Quick Start

# 1. Configure
cp .env.example .env
# Edit .env with your settings

# 2. Start all services
docker-compose up -d

# 3. Verify (~60 seconds to initialize)
curl http://localhost:9091/healthz   # Milvus
curl http://localhost:3100/health    # MCP Server

IDE Configuration (Docker):

{
  "mcpServers": {
    "code-context": {
      "url": "http://localhost:3100/sse"
    }
  }
}

Option B: Local Development

# 1. Start only Milvus in Docker
docker-compose up -d milvus

# 2. Install and build
pnpm install
pnpm build

# 3. Configure IDE (see below)

IDE Configuration (Local):

{
  "mcpServers": {
    "code-context": {
      "command": "node",
      "args": ["/path/to/code-context-mcp/dist/index.js"],
      "env": {
        "EMBEDDING_PROVIDER": "qwen-local",
        "QWEN_LOCAL_BASE_URL": "http://172.18.35.123:8001/v1",
        "QWEN_LOCAL_MODEL": "Qwen3-Embedding-4B",
        "MILVUS_ADDRESS": "127.0.0.1:19530"
      }
    }
  }
}

MCP Tools

Tool

Description

index_codebase

Index a directory into Milvus

search_code

Semantic search across indexed code

check_dimensions

Check provider/collection dimension compatibility

drop_collection

Delete a collection (for re-indexing)

get_provider_info

Show current provider configuration

Usage:

index_codebase /path/to/your/project
search_code "authentication logic"
check_dimensions

Embedding Providers

Provider

Model

Dimensions

Cost

qwen-local

Qwen3-Embedding-4B

2560

Free

openai

text-embedding-3-small

1536

$0.02/1M tokens

openai

text-embedding-3-large

3072

$0.13/1M tokens

deepseek

deepseek-embedding-v2

768

Paid

Environment Variables

Variable

Description

Default

EMBEDDING_PROVIDER

openai, qwen-local, deepseek

openai

MILVUS_ADDRESS

Milvus server address

127.0.0.1:19530

DIMENSION_CHECK_ENABLED

Check dimensions before indexing

true

MCP_TRANSPORT

stdio or http

stdio

MCP_PORT

HTTP port (http mode)

3100

Provider-specific:

Provider

Variables

Local Qwen

QWEN_LOCAL_BASE_URL, QWEN_LOCAL_MODEL

OpenAI

OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_EMBEDDING_MODEL

DeepSeek

DEEPSEEK_API_KEY, DEEPSEEK_BASE_URL, DEEPSEEK_EMBEDDING_MODEL

Dimension Mismatch Handling

Different providers produce different dimensions. Switching providers requires re-indexing:

drop_collection code_context confirm=true
index_codebase /path/to/project

Docker Commands

docker-compose up -d              # Start all
docker-compose up -d milvus       # Start only Milvus
docker-compose logs -f            # View logs
docker-compose down               # Stop all
docker-compose down -v            # Reset (delete data)
docker-compose build --no-cache   # Rebuild

Local Development

pnpm install    # Install dependencies
pnpm build      # Build TypeScript
pnpm dev        # Run in dev mode
pnpm start      # Run production build

Project Structure

code-context-mcp/
├── docker-compose.yml      # Milvus + MCP server
├── Dockerfile
├── package.json
├── tsconfig.json
├── .env.example
└── src/
    ├── index.ts            # Entry point (stdio + HTTP)
    ├── config.ts           # Configuration
    ├── providers/          # Embedding providers
    │   ├── base.ts
    │   ├── openai.ts
    │   ├── qwen-local.ts
    │   └── deepseek.ts
    ├── milvus/             # Milvus integration
    │   ├── client.ts
    │   └── dimension-checker.ts
    └── tools/              # MCP tools
        ├── index-codebase.ts
        ├── search-code.ts
        └── check-dimensions.ts

License

MIT

F
license - not found
-
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.

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/Bek85/code-context-mcp'

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