loading…
Search for a command to run...
loading…
Provides a RAG-based search system for 1C:Enterprise platform documentation using hybrid BM25 and semantic search across multiple versions. It enables developer
Provides a RAG-based search system for 1C:Enterprise platform documentation using hybrid BM25 and semantic search across multiple versions. It enables developers to retrieve API signatures, methods, and usage examples directly within IDEs or through a REST API.
GitHub License Docker Python MCP
MCP сервер с RAG-поиском по официальной справке платформы 1C:Enterprise (через MCP и REST API)
Предоставляет набор MCP tools и REST API для гибридного поиска (BM25 + семантика) по справке платформы 1С. Работает с любым MCP-клиентом (Cursor IDE, Claude Desktop) или через HTTP запросы.
Что это даёт: вместо переключения в браузер, AI-ассистент в вашей IDE получает контекст из справки 1С и отвечает на вопросы типа "Как создать документ?" или "Покажи метод Запрос.Выполнить" с точными данными из нужной версии платформы.
Вариант 1: Точный поиск API элемента (когда LLM знает что искать)
💬 Вы: "Покажи метод HTTPСоединение.ОтправитьДляОбработки"
🤖 AI: [использует search_1c_platform_api → get_1c_platform_element]
📋 HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос, ИмяВыходногоФайла)
Отправляет HTTP-запрос серверу асинхронно для обработки в фоновом режиме.
Параметры:
• HTTPЗапрос (HTTPЗапрос) — объект с параметрами запроса [обязательный]
• ИмяВыходногоФайла (Строка) — имя файла для сохранения ответа [необязательный]
Возвращает: HTTPОтвет
Вариант 2: Семантический поиск (общий вопрос)
💬 Вы: "Как отправить асинхронный HTTP запрос?"
🤖 AI: [использует search_1c_help → search_1c_platform_api → get_1c_platform_element]
📋 Найдено: HTTPСоединение.ОтправитьДляОбработки
Для асинхронной отправки HTTP-запроса используйте метод ОтправитьДляОбработки()
объекта HTTPСоединение. Позволяет не блокировать выполнение кода...
Дополнительный пример: семантика по HTTP-группе методов
💬 Вы: "Как отправить данные для обработки HTTP запросом в 1С?"
🤖 AI: [использует search_1c_help]
📋 Найдено по смыслу:
• HTTPСоединение.ПолучитьЗаголовкиАсинх — HEAD-запрос (асинхронно)
• HTTPЗапрос — тип описания HTTP-запроса
• HTTPСоединение.ПолучитьАсинх — GET-запрос (асинхронно)
• HTTPСоединение.Получить — GET-запрос
• HTTPСоединение.ЗаписатьАсинх — PUT-запрос (асинхронно)
💬 Вы: "Покажи сигнатуру HTTPСоединение.ОтправитьДляОбработки"
🤖 AI: [использует search_1c_platform_api → get_1c_platform_element]
📋 HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос, ИмяВыходногоФайла)
Через REST API:
# Точный поиск
curl -X POST http://localhost:9063/api/platform/element \
-H "Content-Type: application/json" \
-d '{"element_name": "ОтправитьДляОбработки", "parent_type": "HTTPСоединение"}'
# Семантический поиск
curl -X POST http://localhost:9063/api/search \
-H "Content-Type: application/json" \
-d '{"query": "как отправить асинхронный HTTP запрос", "limit": 5}'
docker compose up для запуска всего стекаshcntx_ru.hbk и shcntx_root.hbk из установки платформы)0. Клонируйте репозиторий
git clone https://github.com/rzateev/onec-help-mcp.git
cd onec-help-mcp
1. Подготовьте файлы справки
Скопируйте файлы из установки 1С в каталог проекта:
# Windows: обычно C:\Program Files\1cv8\8.3.26.XXXX\bin\
# Linux: /opt/1cv8/x86_64/8.3.26.XXXX/bin/
mkdir -p data/help1c/8.3.26
# Скопируйте shcntx_ru.hbk и shcntx_root.hbk в data/help1c/8.3.26/
Путь к платформе:
C:\Program Files\1cv8\<версия>\bin\/opt/1cv8/<версия>/bin/Нужные файлы:
shcntx_ru.hbk — справка на русском языке (обязательно)shcntx_root.hbk — корневая справка (обязательно)Имя каталога (8.3.26, 8.3.24) должно соответствовать версии платформы.
2. Запустите сервер
docker compose up -d
Проверьте статус:
curl http://localhost:9063/health
# {"status":"healthy", "service":"MCP 1C Help Server", ...}
Если есть NVIDIA GPU и Docker с NVIDIA Runtime:
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d
Подробнее: DEPLOYMENT.md
3. Настройте Cursor IDE
Добавьте в ~/.cursor/mcp.json (Windows: C:\Users\<имя>\.cursor\mcp.json):
{
"mcpServers": {
"onec-platform-help": {
"url": "http://localhost:9063/mcp",
"timeout": 60
}
}
}
Перезапустите Cursor или перезагрузите окно (Ctrl+Shift+P → Reload Window).
Индексация (один раз для каждой версии):
В чате Cursor напишите:
Вызови тул manage_platform_help с action="index" и version="8.3.26"
Индексация займёт 5-15 минут (CPU) или 2-5 минут (GPU).
Готово! Теперь спрашивайте:
"Как создать HTTP-запрос?"
"Покажи метод Запрос.Выполнить"
"Найди функцию СтрДлина"
"Что такое СправочникОбъект?"
AI автоматически использует инструменты поиска по справке.
| Инструмент | Описание |
|---|---|
| search_1c_help | Поиск по всей справке (естественные запросы) |
| search_1c_platform_api | Поиск API элементов (функции, методы, свойства, типы) |
| get_1c_platform_element | Полная карточка элемента с сигнатурой и примерами |
| get_1c_platform_type_members | Список методов/свойств типа (напр., HTTPЗапрос, Массив) |
| manage_platform_help | Управление версиями: индексация, список версий, настройки |
📖 Подробное описание всех инструментов: TOOLS.md
Все MCP инструменты доступны через HTTP REST API для использования без MCP сессии:
# Поиск в справке
curl -X POST http://localhost:9063/api/search \
-H "Content-Type: application/json" \
-d '{"query": "HTTPЗапрос", "limit": 5}'
# Поиск API элементов
curl -X POST http://localhost:9063/api/platform/search \
-H "Content-Type: application/json" \
-d '{"query": "HTTPСоединение", "element_type": "type"}'
Применение:
📖 Полная документация REST API: REST_API.md
Проверьте индексацию:
💬 "Покажи список проиндексированных версий"
Если версии нет, выполните индексацию:
💬 "Вызови manage_platform_help с action='index' и version='8.3.26'"
Коллекция создана под другую модель. Переиндексируйте:
docker compose down
rm -rf data/qdrant-storage
docker compose up -d
# Затем выполните индексацию в Cursor
Проверьте логи:
docker compose logs onec-help-mcp
docker compose ps # все контейнеры должны быть "Up"
Проверьте здоровье сервисов:
curl http://localhost:9063/health
curl http://localhost:8014/health
Больше решений: TROUBLESHOOTING.md
graph LR
A[Cursor IDE] -->|MCP| B[MCP Server]
B -->|Запрос| C[Hybrid Search]
C -->|Dense| D[Embedding Service]
C -->|Sparse BM25| D
C -->|Векторы| E[Qdrant]
E -->|Результаты| B
B -->|Ответ| A
F[HBK файлы] -->|Парсинг| G[Indexer]
G -->|Эмбеддинги| D
G -->|Хранение| E
Гибридный поиск:
Версионирование:
Каждая версия — отдельная коллекция Qdrant (1c_help_8_3_26). Независимые индексы, параллельная работа.
🔍 Подробнее: ARCHITECTURE.md
services:
onec-help-mcp: # MCP сервер (порт 9063)
onec-help-embedding: # Embedding сервис (порт 8014)
onec-help-qdrant: # Vector DB (порт 6347)
Полезные команды:
docker compose up -d # Запуск
docker compose down # Остановка
docker compose logs -f # Логи
docker compose restart # Перезапуск
curl localhost:9063/health # Health check
MIT License — с указанием авторства Roman Zateev
Copyright (c) 2025-2026 Roman Zateev
См. файл LICENSE для полного текста лицензии.
Возникли проблемы?
docker compose logs onec-help-mcpКонтакты:
Сделано с ❤️ для сообщества 1С
Если проект полезен, поставьте ⭐ на GitHub!
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"onec-platform-help-mcp-server": {
"command": "npx",
"args": []
}
}
}Web content fetching and conversion for efficient LLM usage.
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also