Skip to main content
Glama

1C Buddy - Чат, MCP сервер и OpenAI совместимый API шлюз для общения с 1С:Напарник

Возможности

💬 Веб-интерфейс чата

  • Современный, адаптивный интерфейс чата

  • Управление историей разговоров с изолированными контекстами (история хранится локально в браузере)

  • Ответы в реальном времени с потоковой передачей

  • Отдельное отображение tool call / tool result / follow-up блоков

  • Пользовательские инструкции рабочего пространства

  • Подключение внешних HTTP MCP серверов прямо из настроек чата

  • Отображение reasoning-дельт в процессе генерации

  • Подсветка синтаксиса для кода 1C (BSL) и XML с автоопределением

  • Прикрепление файлов (.bsl, .xml, .txt)

  • Просмотр содержимого прикрепленных файлов в браузере

  • Поиск по содержимому прикрепленных файлов

  • Визуализация mermaid диаграмм с возможностью сохранить в png

  • Поиск по истории сообщений

  • Экспорт истории разговоров в JSON

  • Отображение статистики токенов (входящие/исходящие/всего)

  • Копирование сообщений в буфер обмена

  • Контекстное меню форматирования кода с горячими клавишами

Интерфейс чата

🔧 MCP сервер

  • Два транспорта поверх одного набора инструментов:

    • HTTPPOST /mcp внутри основного сервиса (нужен запущенный контейнер или 1c-buddy http)

    • stdio1c-buddy-mcp для Codex / IDE: не открывает порт, не поднимает чат, не требует FastAPI

  • Доступные инструменты:

    • ask_1c_ai - общие вопросы по платформе 1С и практическим сценариям

    • explain_1c_syntax - объяснение конкретного объекта, метода или конструкции 1С

    • check_1c_code - синтаксическая проверка или code review фрагмента кода 1С

    • modify_1c_code - изменение кода 1С по явному заданию пользователя

    • search_1c_documentation - поиск по документации платформы 1С:Предприятие

    • search_its - поиск по базе знаний ИТС

    • fetch_its - получение содержимого конкретного документа или раздела ИТС по id

    • diff_1c_documentation_versions - сравнение документации платформы между двумя версиями

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

  • OpenAI-совместимый формат для /v1/models и /v1/chat/completions

  • Потоковые и непотоковые ответы с поддержкой Server-Sent Events (SSE)

  • Стандартная аутентификация с Bearer токенами

Related MCP server: 1C MCP Server

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

  1. Получите токен code.1c.ai с сайта code.1c.ai

  2. Запустите с Docker:

    docker pull roctup/1c-buddy
    
    docker run -d --name 1c-buddy --restart unless-stopped -p 6002:6002 -e "ONEC_AI_TOKEN=<your_1c_ai_token>" roctup/1c-buddy 

    Если нужен также OpenAI API шлюз:

    docker pull roctup/1c-buddy
    
    docker run -d --name 1c-buddy --restart unless-stopped -p 6002:6002 -e "ONEC_AI_TOKEN=<your_1c_ai_token>" -e "OPENAI_COMPAT_API_KEY=<your_custom_api_key>" roctup/1c-buddy 
  3. Начните общение:

    Дополнительные настройки чата скрыты по умолчанию. Чтобы включить пользовательские инструкции и внешние MCP серверы, запустите контейнер с флагами:

    docker run -d --name 1c-buddy --restart unless-stopped -p 6002:6002 \
      -e "ONEC_AI_TOKEN=<your_1c_ai_token>" \
      -e "CHAT_CUSTOM_INSTRUCTIONS_ENABLED=true" \
      -e "CHAT_CUSTOM_MCP_ENABLED=true" \
      roctup/1c-buddy

    После этого в чате появится кнопка настроек. В ней можно задать инструкции рабочего пространства и подключить внешние Streamable HTTP MCP серверы, например http://192.168.0.1:6003/mcp.

    Запуск за корпоративным прокси. Сертификат передаётся снаружи через volume, образ не меняется:

    docker run -d --name 1c-buddy --restart unless-stopped -p 6002:6002 \
      -v "$PWD/certs/company-ca-bundle.pem:/certs/company-ca-bundle.pem:ro" \
      -e "SSL_CERT_FILE=/certs/company-ca-bundle.pem" \
      -e "HTTPS_PROXY=http://proxy.company.local:3128" \
      -e "NO_PROXY=localhost,127.0.0.1" \
      -e "ONEC_AI_TOKEN=<your_1c_ai_token>" \
      roctup/1c-buddy

    SSL_CERT_FILE должен указывать на полный PEM-бандл: если он задан, публичные корневые сертификаты берутся только из него, поэтому в файле должны быть и публичные CA, и корпоративный. Подробности и аварийный режим SSL_VERIFY=false — в README_FULL.md.

  4. Настройте MCP для IDE (HTTP-транспорт, нужен запущенный сервис):

    {
      "mcpServers": {   
        "onec-buddy-mcp": {
          "url": "http://localhost:6002/mcp",
          "connection_id": "1c_buddy_service_001",
          "alwaysAllow": [],
          "type": "streamable-http",
          "timeout": 300,
          "disabled": false
       }
     }
    }
  5. Отправляйте запросы по OpenAI API:

    Используйте любой OpenAI SDK или клиентскую библиотеку:

    from openai import OpenAI
    
    client = OpenAI(
        base_url="http://localhost:6002/v1",
        api_key="your_custom_api_key"
    )
    
    # Непотоковый режим
    response = client.chat.completions.create(
        model="1c-buddy",
        messages=[{"role": "user", "content": "Как создать HTTPСоединение в 1С?"}]
    )
    print(response.choices[0].message.content)
    
    # Потоковый режим
    for chunk in client.chat.completions.stream(
        model="1c-buddy",
        messages=[{"role": "user", "content": "Объясни объект Запрос"}]
    ):
        print(chunk.choices[0].delta.content, end="")

Запуск без Docker

Проект устанавливается как обычный Python-пакет (требуется Python 3.10+). Зависимости разделены: HTTP-сервису не нужен MCP SDK, а stdio-режиму не нужен FastAPI.

Нативный HTTP-сервис (чат + HTTP MCP + опциональный OpenAI API)

Windows:

py -m venv .venv
& .\.venv\Scripts\python.exe -m pip install ".[http]"
& .\.venv\Scripts\1c-buddy.exe --env-file .env http

Linux / macOS:

python3 -m venv .venv
./.venv/bin/python -m pip install ".[http]"
./.venv/bin/1c-buddy --env-file .env http

Опции: --host (по умолчанию 0.0.0.0), --port (6002), --log-level, --reload.

⚠️ По умолчанию сервис слушает 0.0.0.0, а чат и /mcp не имеют встроенной аутентификации. Не выставляйте порт в недоверенную сеть; для локальной работы используйте --host 127.0.0.1. Маршруты /v1/* монтируются только при заданном OPENAI_COMPAT_API_KEY.

MCP через stdio для Codex / IDE

Этот режим даёт только MCP-инструменты через stdin/stdout: порт не открывается, чат и OpenAI API не поднимаются.

Windows:

py -m venv .venv
& .\.venv\Scripts\python.exe -m pip install ".[stdio]"
[Environment]::SetEnvironmentVariable("ONEC_AI_TOKEN", "<your_1c_ai_token>", "User")

Linux / macOS:

python3 -m venv .venv
./.venv/bin/python -m pip install ".[stdio]"
export ONEC_AI_TOKEN=<your_1c_ai_token>   # лучше прописать в ~/.profile

Есть и минимальный вариант. Отдельный дистрибутив 1c-buddy-mcp содержит только MCP — без чата, OpenAI API, статики и tiktoken:

& .\.venv\Scripts\python.exe -m pip install .\mcp-package          # stdio
& .\.venv\Scripts\python.exe -m pip install ".\mcp-package[http]"  # + HTTP MCP

Оба дистрибутива ставят console script с именем 1c-buddy-mcp, поэтому конфиг Codex ниже подходит и полному пакету, и минимальному. Но ставить их рядом, в один venv, нельзя: они делят модули app/ и саму команду. Подробности и порядок восстановления — в README_FULL.md.

Конфигурация Codex (~/.codex/config.toml) — Windows:

[mcp_servers.onec-buddy]
command = 'C:\Users\<user>\.codex\mcp\1c-buddy\.venv\Scripts\1c-buddy-mcp.exe'
startup_timeout_sec = 30

[mcp_servers.onec-buddy.env]
ONEC_AI_UI_LANGUAGE = "russian"
ONEC_AI_TIMEOUT = "30"
MCP_TOOL_CALL_MODE = "direct"

Linux / macOS:

[mcp_servers.onec-buddy]
command = "/home/<user>/.codex/mcp/1c-buddy/.venv/bin/1c-buddy-mcp"
startup_timeout_sec = 30

[mcp_servers.onec-buddy.env]
ONEC_AI_UI_LANGUAGE = "russian"
ONEC_AI_TIMEOUT = "30"
MCP_TOOL_CALL_MODE = "direct"

Токен лучше держать в пользовательском окружении, а не в конфиге. Явная альтернатива — передать файл: 1c-buddy-mcp --env-file C:\path\to\.env. После изменения пользовательского окружения Codex нужно перезапустить.

.env никогда не подхватывается автоматически из текущего каталога — только через --env-file. Значения уже существующего окружения имеют приоритет над значениями из файла.

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

Подробная документация доступна в README_FULL.md.

Благодарности

Огромное спасибо автору оригинального проекта MCP сервера для 1С:Напарник: artesk/1copilot_MCP

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
3dResponse time
7wRelease cycle
5Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    A
    maintenance
    An MCP server for 1C:Enterprise that provides AI assistants with access to configuration data via vector search, structural indexing, and call graphs. It enables semantic code queries and rapid metadata object lookups without requiring the direct reading of raw files.
    Last updated
    67
    AGPL 3.0
  • F
    license
    -
    quality
    D
    maintenance
    Acts as a bridge between AI agents (Claude, Cursor) and 1C:Enterprise databases, enabling metadata retrieval, configuration analysis, and code generation through natural language using the MCP protocol.
    Last updated
  • A
    license
    -
    quality
    A
    maintenance
    Integrates AI agents with 1C:Enterprise databases via MCP and REST API, supporting a built-in HTTP server (no Python required) or a Python proxy mode.
    Last updated
    216
    GPL 3.0
  • F
    license
    -
    quality
    C
    maintenance
    MCP server for searching and analyzing 1C enterprise metadata and BSL code using a SQLite backend. Enables querying configuration structure, code routines, and performing compliance checks via natural language.
    Last updated

View all related MCP servers

Related MCP Connectors

  • MCP server for AI dialogue using various LLM models via AceDataCloud

  • MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.

  • Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.

View all MCP Connectors

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/ROCTUP/1c-buddy'

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