Context+
Context+
Семантический интеллект для крупномасштабной разработки.
Context+ — это MCP-сервер, созданный для разработчиков, которым требуется точность 99%. Объединяя RAG, AST Tree-sitter, спектральную кластеризацию и связывание в стиле Obsidian, Context+ превращает огромную кодовую базу в доступный для поиска иерархический граф функций.
Пока вы здесь, взгляните на мой другой проект Airena. Соберите команду ИИ-агентов и сразитесь с другими оркестраторами. Первое место в таблице лидеров получает приз в $1600!
https://github.com/user-attachments/assets/a97a451f-c9b4-468d-b036-15b65fc13e79
Инструменты
Обнаружение
Инструмент | Описание |
| Структурное AST-дерево проекта с заголовками файлов и диапазонами символов (номера строк для функций/классов/методов). Динамическая обрезка автоматически сокращает вывод. |
| Сигнатуры функций, методы классов и определения типов с диапазонами строк, без чтения полных тел функций. Показывает API-поверхность. |
| Поиск по смыслу, а не по точному тексту. Использует эмбеддинги заголовков файлов/символов и возвращает строки с определениями найденных символов. |
| Семантический поиск на уровне идентификаторов для функций/классов/переменных с ранжированием мест вызова и номерами строк. |
| Просмотр кодовой базы по смыслу с использованием спектральной кластеризации. Группирует семантически связанные файлы в помеченные кластеры. |
Анализ
Инструмент | Описание |
| Отслеживание каждого файла и строки, где символ импортируется или используется. Предотвращает появление «осиротевших» ссылок. |
| Запуск нативных линтеров и компиляторов для поиска неиспользуемых переменных, «мертвого» кода и ошибок типов. Поддерживает TypeScript, Python, Rust, Go. |
Операции с кодом
Инструмент | Описание |
| Единственный способ записи кода. Проверяет изменения на соответствие строгим правилам перед сохранением. Создает теневую точку восстановления перед записью. |
| Навигатор по хабам функций в стиле Obsidian. Хабы — это |
Контроль версий
Инструмент | Описание |
| Список всех теневых точек восстановления, созданных |
| Восстановление файлов до состояния, предшествующего конкретному изменению ИИ. Использует теневые точки восстановления. Не затрагивает git. |
Память и RAG
Инструмент | Описание |
| Создание или обновление узла памяти (концепция, файл, символ, заметка) с автоматически сгенерированными эмбеддингами. |
| Создание типизированных связей между узлами (relates_to, depends_on, implements, references, similar_to, contains). |
| Семантический поиск с обходом графа — находит прямые совпадения, затем переходит к соседям 1-го/2-го порядка. |
| Удаление устаревших связей (e^(-λt) ниже порога) и осиротевших узлов с низким количеством обращений. |
| Массовое добавление узлов с автоматическим связыванием по сходству (косинус ≥ 0.72 автоматически создает связи). |
| Начало с узла и обход наружу — возвращает всех достижимых соседей, ранжированных по затуханию и глубине. |
Дополнительный сервер: 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 |
|
Cursor |
|
VS Code |
|
Windsurf |
|
OpenCode |
|
Подкоманды 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 | Бесплатно, офлайн, приватно |
OpenAI-совместимый |
| API ключ | Gemini (бесплатный уровень), OpenAI, Groq, vLLM |
Ollama (по умолчанию)
Дополнительная настройка не требуется. Просто запустите Ollama с моделью эмбеддингов:
ollama pull nomic-embed-text
ollama serveGoogle 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. Трекер в реальном времени инкрементально обновляет измененные файлы/функции.
Конфигурация
Переменная | Тип | По умолчанию | Описание |
| string |
| Бэкенд эмбеддингов: |
| string |
| Модель эмбеддингов Ollama |
| string | - | API-ключ Ollama Cloud |
| string |
| Чат-модель Ollama для маркировки кластеров |
| string | - | API-ключ для OpenAI-совместимого провайдера (алиас: |
| string |
| URL OpenAI-совместимого эндпоинта (алиас: |
| string |
| OpenAI-совместимая модель эмбеддингов (алиас: |
| string |
| OpenAI-совместимая чат-модель для маркировки (алиас: |
| string (число) |
| Размер пакета эмбеддингов на вызов GPU, ограничен 5-10 |
| string (число) |
| Символов на чанк до слияния, ограничен 256-8000 |
| string (число) |
| Пропускать текстовые файлы не-кода больше этого размера в байтах |
| string (число) | - | Опциональный переопределитель |
| string (число) | - | Опциональный переопределитель |
| string (число) | - | Опциональный переопределитель |
| string (число) | - | Опциональный переопределитель |
| string (число) | - | Опциональный переопределитель |
| string (boolean) | - | Опциональный переопределитель |
| string (boolean) |
| Включить обновление эмбеддингов в реальном времени при изменениях файлов |
| string (число) |
| Макс. измененных файлов за тик трекера, ограничен 5-10 |
| string (число) |
| Окно дебаунса перед обновлением трекера |
Тестирование
npm test
npm run test:demo
npm run test:allResources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
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