Onec Platform Help MCP Server

Onec Platform Help MCP Server

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.

Category
Visit Server

README

Onec Platform Help MCP Server

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}'

✨ Возможности

  • 🔍 Гибридный поиск — точные совпадения (BM25) + семантический поиск понимают ваш вопрос на русском/английском
  • 📚 Поддержка версий — работа с несколькими версиями платформы одновременно (8.3.24, 8.3.26...)
  • 🎯 Структурированный API — поиск функций, методов, свойств, типов с сигнатурами и примерами
  • 🌐 Два способа доступа — MCP protocol для IDE или REST API для scripts/skills
  • Встроенные сервисы — Qdrant и embedding-сервис из коробки, не требует внешних зависимостей
  • 🐳 Docker-ready — один docker compose up для запуска всего стека
  • 🎮 Режимы CPU/GPU — быстрая индексация на GPU или экономичная на CPU

🚀 Быстрый старт

Требования

  • Docker и Docker Compose
  • Cursor IDE (или другой MCP клиент)
  • Файлы справки 1С (shcntx_ru.hbk и shcntx_root.hbk из установки платформы)

Установка за 3 шага

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/

<details> <summary>Где найти файлы справки?</summary>

Путь к платформе:

  • Windows: C:\Program Files\1cv8\<версия>\bin\
  • Linux: /opt/1cv8/<версия>/bin/

Нужные файлы:

  • shcntx_ru.hbk — справка на русском языке (обязательно)
  • shcntx_root.hbk — корневая справка (обязательно)

Имя каталога (8.3.26, 8.3.24) должно соответствовать версии платформы. </details>

2. Запустите сервер

docker compose up -d

Проверьте статус:

curl http://localhost:9063/health
# {"status":"healthy", "service":"MCP 1C Help Server", ...}

<details> <summary>Запуск в GPU-режиме (опционально)</summary>

Если есть NVIDIA GPU и Docker с NVIDIA Runtime:

docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d

Подробнее: DEPLOYMENT.md </details>

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 автоматически использует инструменты поиска по справке.


🛠️ Доступные MCP инструменты

Инструмент Описание
search_1c_help Поиск по всей справке (естественные запросы)
search_1c_platform_api Поиск API элементов (функции, методы, свойства, типы)
get_1c_platform_element Полная карточка элемента с сигнатурой и примерами
get_1c_platform_type_members Список методов/свойств типа (напр., HTTPЗапрос, Массив)
manage_platform_help Управление версиями: индексация, список версий, настройки

📖 Подробное описание всех инструментов: TOOLS.md

🌐 REST API (альтернатива MCP)

Все 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"}'

Применение:

  • ✅ Claude Code skills без MCP
  • ✅ Интеграция с другими сервисами
  • ✅ Тестирование и отладка
  • ✅ Скрипты автоматизации

📖 Полная документация REST API: REST_API.md


📚 Документация

  • TOOLS.md — детальное описание MCP инструментов, параметров, примеров
  • REST_API.md — HTTP REST API для доступа без MCP сессии
  • DEPLOYMENT.md — развёртывание (CPU/GPU режимы), настройка, переменные окружения
  • ARCHITECTURE.md — архитектура проекта, гибридный поиск, парсинг HBK
  • TROUBLESHOOTING.md — решение проблем, FAQ

🔧 Часто встречающиеся вопросы

<details> <summary><b>Поиск ничего не находит</b></summary>

Проверьте индексацию:

💬 "Покажи список проиндексированных версий"

Если версии нет, выполните индексацию:

💬 "Вызови manage_platform_help с action='index' и version='8.3.26'"

</details>

<details> <summary><b>Ошибка "expected dim: 768, got 384"</b></summary>

Коллекция создана под другую модель. Переиндексируйте:

docker compose down
rm -rf data/qdrant-storage
docker compose up -d
# Затем выполните индексацию в Cursor

</details>

<details> <summary><b>Сервис не запускается</b></summary>

Проверьте логи:

docker compose logs onec-help-mcp
docker compose ps  # все контейнеры должны быть "Up"

Проверьте здоровье сервисов:

curl http://localhost:9063/health
curl http://localhost:8014/health

</details>

Больше решений: 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

Гибридный поиск:

  • BM25 (sparse) — точные совпадения ключевых слов ("Запрос.Выполнить")
  • Semantic (dense) — понимание смысла ("как выполнить SQL запрос")
  • RRF Fusion — объединение лучших результатов из обоих методов

Версионирование: Каждая версия — отдельная коллекция Qdrant (1c_help_8_3_26). Независимые индексы, параллельная работа.

🔍 Подробнее: ARCHITECTURE.md


🐳 Docker конфигурация

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 для полного текста лицензии.


📞 Поддержка

Возникли проблемы?

  1. Проверьте TROUBLESHOOTING.md
  2. Посмотрите логи: docker compose logs onec-help-mcp
  3. Создайте Issue в GitHub

Контакты:


<div align="center">

Сделано с ❤️ для сообщества 1С

Если проект полезен, поставьте ⭐ на GitHub!

⭐ Star🐛 Report Bug💡 Request Feature

</div>

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured