Skip to main content
Glama

Context+

Семантический интеллект для крупномасштабной разработки.

Context+ — это MCP-сервер, созданный для разработчиков, которым требуется точность 99%. Объединяя RAG, AST Tree-sitter, спектральную кластеризацию и связывание в стиле Obsidian, Context+ превращает огромную кодовую базу в доступный для поиска иерархический граф функций.

Пока вы здесь, взгляните на мой другой проект Airena. Соберите команду ИИ-агентов и сразитесь с другими оркестраторами. Первое место в таблице лидеров получает приз в $1600!

https://github.com/user-attachments/assets/a97a451f-c9b4-468d-b036-15b65fc13e79

Инструменты

Обнаружение

Инструмент

Описание

get_context_tree

Структурное AST-дерево проекта с заголовками файлов и диапазонами символов (номера строк для функций/классов/методов). Динамическая обрезка автоматически сокращает вывод.

get_file_skeleton

Сигнатуры функций, методы классов и определения типов с диапазонами строк, без чтения полных тел функций. Показывает API-поверхность.

semantic_code_search

Поиск по смыслу, а не по точному тексту. Использует эмбеддинги заголовков файлов/символов и возвращает строки с определениями найденных символов.

semantic_identifier_search

Семантический поиск на уровне идентификаторов для функций/классов/переменных с ранжированием мест вызова и номерами строк.

semantic_navigate

Просмотр кодовой базы по смыслу с использованием спектральной кластеризации. Группирует семантически связанные файлы в помеченные кластеры.

Анализ

Инструмент

Описание

get_blast_radius

Отслеживание каждого файла и строки, где символ импортируется или используется. Предотвращает появление «осиротевших» ссылок.

run_static_analysis

Запуск нативных линтеров и компиляторов для поиска неиспользуемых переменных, «мертвого» кода и ошибок типов. Поддерживает TypeScript, Python, Rust, Go.

Операции с кодом

Инструмент

Описание

propose_commit

Единственный способ записи кода. Проверяет изменения на соответствие строгим правилам перед сохранением. Создает теневую точку восстановления перед записью.

get_feature_hub

Навигатор по хабам функций в стиле Obsidian. Хабы — это .md файлы с [[wikilinks]], которые связывают функции с файлами кода.

Контроль версий

Инструмент

Описание

list_restore_points

Список всех теневых точек восстановления, созданных propose_commit. Каждая фиксирует состояние файла до изменений ИИ.

undo_change

Восстановление файлов до состояния, предшествующего конкретному изменению ИИ. Использует теневые точки восстановления. Не затрагивает git.

Память и RAG

Инструмент

Описание

upsert_memory_node

Создание или обновление узла памяти (концепция, файл, символ, заметка) с автоматически сгенерированными эмбеддингами.

create_relation

Создание типизированных связей между узлами (relates_to, depends_on, implements, references, similar_to, contains).

search_memory_graph

Семантический поиск с обходом графа — находит прямые совпадения, затем переходит к соседям 1-го/2-го порядка.

prune_stale_links

Удаление устаревших связей (e^(-λt) ниже порога) и осиротевших узлов с низким количеством обращений.

add_interlinked_context

Массовое добавление узлов с автоматическим связыванием по сходству (косинус ≥ 0.72 автоматически создает связи).

retrieve_with_traversal

Начало с узла и обход наружу — возвращает всех достижимых соседей, ранжированных по затуханию и глубине.

Дополнительный сервер: pmll-memory-mcp (npx pmll-memory-mcp) — это отдельный MCP-сервер от @drQedwards, который адаптирует граф долгосрочной памяти Context+ и добавляет краткосрочную KV-память контекста, дедупликацию Q-promise и движок решений. Подробности см. в drQedwards/PPM.

Настройка

Быстрый старт (npx / bunx)

Установка не требуется. Добавьте Context+ в конфигурацию MCP вашей IDE.

Для Claude Code, Cursor и Windsurf используйте mcpServers:

{
  "mcpServers": {
    "contextplus": {
      "command": "bunx",
      "args": ["contextplus"],
      "env": {
        "OLLAMA_EMBED_MODEL": "nomic-embed-text",
        "OLLAMA_CHAT_MODEL": "gemma2:27b",
        "OLLAMA_API_KEY": "YOUR_OLLAMA_API_KEY"
      }
    }
  }
}

Для VS Code (.vscode/mcp.json) используйте servers и inputs:

{
  "servers": {
    "contextplus": {
      "type": "stdio",
      "command": "bunx",
      "args": ["contextplus"],
      "env": {
        "OLLAMA_EMBED_MODEL": "nomic-embed-text",
        "OLLAMA_CHAT_MODEL": "gemma2:27b",
        "OLLAMA_API_KEY": "YOUR_OLLAMA_API_KEY"
      }
    }
  },
  "inputs": []
}

Если вы предпочитаете npx, используйте:

  • "command": "npx"

  • "args": ["-y", "contextplus"]

Или сгенерируйте файл конфигурации MCP прямо в текущей директории:

npx -y contextplus init claude
bunx contextplus init cursor
npx -y contextplus init opencode

Поддерживаемые имена агентов кодирования: claude, cursor, vscode, windsurf, opencode.

Расположение файлов конфигурации:

IDE

Файл конфигурации

Claude Code

.mcp.json

Cursor

.cursor/mcp.json

VS Code

.vscode/mcp.json

Windsurf

.windsurf/mcp.json

OpenCode

opencode.json

Подкоманды CLI

  • init [target] — генерация конфигурации MCP (цели: claude, cursor, vscode, windsurf, opencode).

  • skeleton [path] или tree [path](Новое) просмотр структурного дерева проекта с заголовками файлов и определениями символов прямо в терминале.

  • [path] — запуск MCP-сервера (stdio) для указанного пути (по умолчанию — текущая директория).

Из исходного кода

npm install
npm run build

Провайдеры эмбеддингов

Context+ поддерживает два бэкенда эмбеддингов, управляемых через CONTEXTPLUS_EMBED_PROVIDER:

Провайдер

Значение

Требует

Лучше всего для

Ollama (по умолчанию)

ollama

Локальный сервер Ollama

Бесплатно, офлайн, приватно

OpenAI-совместимый

openai

API ключ

Gemini (бесплатный уровень), OpenAI, Groq, vLLM

Ollama (по умолчанию)

Дополнительная настройка не требуется. Просто запустите Ollama с моделью эмбеддингов:

ollama pull nomic-embed-text
ollama serve

Google Gemini (бесплатный уровень)

Пример полного .mcp.json для Claude Code:

{
  "mcpServers": {
    "contextplus": {
      "command": "npx",
      "args": ["-y", "contextplus"],
      "env": {
        "CONTEXTPLUS_EMBED_PROVIDER": "openai",
        "CONTEXTPLUS_OPENAI_API_KEY": "YOUR_GEMINI_API_KEY",
        "CONTEXTPLUS_OPENAI_BASE_URL": "https://generativelanguage.googleapis.com/v1beta/openai",
        "CONTEXTPLUS_OPENAI_EMBED_MODEL": "text-embedding-004"
      }
    }
  }
}

Получите бесплатный API-ключ в Google AI Studio.

OpenAI

{
  "mcpServers": {
    "contextplus": {
      "command": "npx",
      "args": ["-y", "contextplus"],
      "env": {
        "CONTEXTPLUS_EMBED_PROVIDER": "openai",
        "OPENAI_API_KEY": "sk-...",
        "OPENAI_EMBED_MODEL": "text-embedding-3-small"
      }
    }
  }
}

Другие OpenAI-совместимые API (Groq, vLLM, LiteLLM)

Работает любой эндпоинт, реализующий OpenAI Embeddings API:

{
  "mcpServers": {
    "contextplus": {
      "command": "npx",
      "args": ["-y", "contextplus"],
      "env": {
        "CONTEXTPLUS_EMBED_PROVIDER": "openai",
        "CONTEXTPLUS_OPENAI_API_KEY": "YOUR_KEY",
        "CONTEXTPLUS_OPENAI_BASE_URL": "https://your-proxy.example.com/v1",
        "CONTEXTPLUS_OPENAI_EMBED_MODEL": "your-model-name"
      }
    }
  }
}

Примечание: Инструмент semantic_navigate также использует чат-модель для маркировки кластеров. При использовании провайдера openai установите CONTEXTPLUS_OPENAI_CHAT_MODEL (по умолчанию: gpt-4o-mini).

Для VS Code, Cursor или OpenCode используйте тот же блок env внутри формата конфигурации MCP вашей IDE (см. таблицу Расположение файлов конфигурации выше).

Архитектура

Три уровня, построенные на TypeScript поверх stdio с использованием протокола Model Context Protocol:

Core (src/core/) — многоязычный парсинг AST (tree-sitter, 43 расширения), обход с учетом gitignore, векторные эмбеддинги Ollama с кэшем на диске, граф хабов с вики-ссылками, графы свойств в памяти с оценкой затухания.

Tools (src/tools/) — 17 инструментов MCP, предоставляющих возможности структурного, семантического, операционного анализа и графа памяти.

Git (src/git/) — система теневых точек восстановления для отмены изменений без затрагивания истории git.

Runtime Cache (.mcp_data/) — создается при запуске сервера; хранит повторно используемые эмбеддинги файлов, идентификаторов и мест вызова, чтобы избежать повторной работы GPU/CPU. Трекер в реальном времени инкрементально обновляет измененные файлы/функции.

Конфигурация

Переменная

Тип

По умолчанию

Описание

CONTEXTPLUS_EMBED_PROVIDER

string

ollama

Бэкенд эмбеддингов: ollama или openai

OLLAMA_EMBED_MODEL

string

nomic-embed-text

Модель эмбеддингов Ollama

OLLAMA_API_KEY

string

-

API-ключ Ollama Cloud

OLLAMA_CHAT_MODEL

string

llama3.2

Чат-модель Ollama для маркировки кластеров

CONTEXTPLUS_OPENAI_API_KEY

string

-

API-ключ для OpenAI-совместимого провайдера (алиас: OPENAI_API_KEY)

CONTEXTPLUS_OPENAI_BASE_URL

string

https://api.openai.com/v1

URL OpenAI-совместимого эндпоинта (алиас: OPENAI_BASE_URL)

CONTEXTPLUS_OPENAI_EMBED_MODEL

string

text-embedding-3-small

OpenAI-совместимая модель эмбеддингов (алиас: OPENAI_EMBED_MODEL)

CONTEXTPLUS_OPENAI_CHAT_MODEL

string

gpt-4o-mini

OpenAI-совместимая чат-модель для маркировки (алиас: OPENAI_CHAT_MODEL)

CONTEXTPLUS_EMBED_BATCH_SIZE

string (число)

8

Размер пакета эмбеддингов на вызов GPU, ограничен 5-10

CONTEXTPLUS_EMBED_CHUNK_CHARS

string (число)

2000

Символов на чанк до слияния, ограничен 256-8000

CONTEXTPLUS_MAX_EMBED_FILE_SIZE

string (число)

51200

Пропускать текстовые файлы не-кода больше этого размера в байтах

CONTEXTPLUS_EMBED_NUM_GPU

string (число)

-

Опциональный переопределитель num_gpu для Ollama

CONTEXTPLUS_EMBED_MAIN_GPU

string (число)

-

Опциональный переопределитель main_gpu для Ollama

CONTEXTPLUS_EMBED_NUM_THREAD

string (число)

-

Опциональный переопределитель num_thread для Ollama

CONTEXTPLUS_EMBED_NUM_BATCH

string (число)

-

Опциональный переопределитель num_batch для Ollama

CONTEXTPLUS_EMBED_NUM_CTX

string (число)

-

Опциональный переопределитель num_ctx для Ollama

CONTEXTPLUS_EMBED_LOW_VRAM

string (boolean)

-

Опциональный переопределитель low_vram для Ollama

CONTEXTPLUS_EMBED_TRACKER

string (boolean)

true

Включить обновление эмбеддингов в реальном времени при изменениях файлов

CONTEXTPLUS_EMBED_TRACKER_MAX_FILES

string (число)

8

Макс. измененных файлов за тик трекера, ограничен 5-10

CONTEXTPLUS_EMBED_TRACKER_DEBOUNCE_MS

string (число)

700

Окно дебаунса перед обновлением трекера

Тестирование

npm test
npm run test:demo
npm run test:all
Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A tier

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/ForLoopCodes/contextplus'

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