Skip to main content
Glama

1C AI MCP - MCP-Server für 1C:Assistent

Docker Hub License

MCP-Server (Model Context Protocol) zur Integration von IDEs mit der API 1C:Assistent. Basierend auf FastMCP (Python), verpackt in Docker. Funktioniert mit Cursor, Claude Code und beliebigen MCP-kompatiblen Clients.

12 Tools: Code-Analyse (Prüfung, Review, Refactoring) und Dokumentationssuche (ITS, Plattform, Konfigurationen).

Basiert auf der Idee von comol/1c-code-checker mit Korrekturen des API-Formats (Fehler 422), übernommen aus SteelMorgan/spring-mcp-1c-copilot.

Voraussetzungen

  • Docker (oder Docker Desktop)

  • 1C:Assistent-Token - erhalten Sie auf code.1c.ai (ITS-Abonnement erforderlich)

Related MCP server: 1C_MCP_SERVER_OWN

Schnellstart

Variante A: Fertiges Image von Docker Hub (empfohlen)

docker run -d --name 1c-ai-mcp -p 8007:8007 \
  -e ONEC_AI_TOKEN="ваш-токен" \
  desko77/1c-ai-mcp:latest

Oder über Docker Compose - erstellen Sie die Datei docker-compose.yml:

services:
  1c-ai-mcp:
    image: desko77/1c-ai-mcp:latest
    container_name: 1c-ai-mcp
    ports:
      - "8007:8007"
    environment:
      ONEC_AI_TOKEN: "${ONEC_AI_TOKEN}"
    restart: always
# Создать .env с токеном (не попадает в git)
echo 'ONEC_AI_TOKEN=ваш-токен' > .env

# Запустить
docker compose up -d

Variante B: Build aus dem Quellcode

git clone https://github.com/Desko77/1c-ai-mcp.git
cd 1c-ai-mcp

# Создать .env с токеном
echo 'ONEC_AI_TOKEN=ваш-токен' > .env

# Собрать и запустить
docker compose up -d --build

Funktionsprüfung

# Должен вернуть HTTP 200
curl http://localhost:8007/mcp

Verbindung zur IDE

Cursor

Fügen Sie in ~/.cursor/mcp.json hinzu:

{
  "mcpServers": {
    "1c-naparnik": {
      "url": "http://localhost:8007/mcp"
    }
  }
}

Claude Code

Fügen Sie in ~/.claude/settings.json hinzu:

{
  "mcpServers": {
    "1c-naparnik": {
      "url": "http://localhost:8007/mcp"
    }
  }
}

Andere MCP-Clients

Endpoint: http://localhost:8007/mcp Transport: Streamable HTTP (Standard) oder SSE (USESSE=true).

Tools

Code-Analyse

check_1c_code

Prüfung von 1C-Code: Syntax, Logik, Performance. Im Direct-Mode wird die Syntax über den Upstream-Syntax-Checker geprüft.

Parameter

Typ

Beschreibung

code

string

Zu prüfender 1C-Code

check_type

string

syntax (Standard), logic, performance

ask_1c_ai

Beliebige Frage an 1C:Assistent. Speichert den Dialogkontext zwischen Aufrufen.

Parameter

Typ

Beschreibung

question

string

Frage

create_new_session

bool

Neue Sitzung (Standard false - verwendet die vorherige erneut)

review_1c_code

Code-Review: Stil, ITS-Standards, Benennung, Struktur, Lesbarkeit. Prüft keine Syntax.

Parameter

Typ

Beschreibung

code

string

Zu prüfender 1C-Code

rewrite_1c_code

Die KI schlägt eine eigene verbesserte Version des Codes mit Erklärung der Änderungen vor.

Parameter

Typ

Beschreibung

code

string

Zu überschreibender 1C-Code

goal

string

Richtung: optimize, readability, error handling (optional)

modify_1c_code

Modifikation des Codes gemäß expliziter Anweisung. Wenn kein Code angegeben ist - wird neuer generiert.

Parameter

Typ

Beschreibung

instruction

string

Beschreibung der gewünschten Änderungen

code

string

Quellcode (optional)

explain_1c_syntax

Erklärung eines konkreten Syntaxelements von 1C.

Parameter

Typ

Beschreibung

syntax_element

string

Syntaxelement

context

string

Verwendungskontext (optional)

Dokumentation und Hilfe

its_help

Suche in der ITS-Wissensdatenbank (Standards, Methodiken, Artikel). Gibt Dokument-IDs für fetch_its zurück.

Parameter

Typ

Beschreibung

query

string

Suchanfrage

fetch_its

Lesen eines ITS-Dokuments anhand der ID. Wird nach its_help verwendet.

Parameter

Typ

Beschreibung

id

string

Dokument-ID (root, v8std, its-...-hdoc)

search_1c_documentation

Suche in der Dokumentation der Plattform 1C:Enterprise für eine bestimmte Version.

Parameter

Typ

Beschreibung

query

string

Suchanfrage

version

string

Version (Standard v8.5.1)

onec_help

Suche in der Plattformdokumentation (neueste Version). Wie search_1c_documentation, aber ohne Versionsangabe.

Parameter

Typ

Beschreibung

query

string

Suchanfrage

diff_1c_documentation_versions

Vergleich der Plattformdokumentation zwischen zwei Versionen.

Parameter

Typ

Beschreibung

version_a

string

Frühere Version (z. B. v8.3.25)

version_b

string

Spätere Version (z. B. v8.5.1)

query

string

Fachbereich (optional)

config_help

Suche in der Dokumentation zu angewandten Konfigurationen (ERP, Buchhaltung, ZUP, UT u. a.).

Parameter

Typ

Beschreibung

query

string

Suchanfrage

config_name

string

Name der Konfiguration (optional, wird aus ONEC_CONFIG_NAME übernommen)

Konfiguration

Alle Parameter werden über Umgebungsvariablen übergeben.

Variable

Erforderlich

Standard

Beschreibung

ONEC_AI_TOKEN

Ja*

-

API-Token von 1C:Assistent

ONEC_AI_TOKEN_FILE

Nein

-

Pfad zur Datei mit dem Token (Docker Secrets)

ONEC_AI_BASE_URL

Nein

https://code.1c.ai

Basis-URL der API

ONEC_AI_SKILL_NAME

Nein

raw

Skill für Diskussionen (raw, custom)

ONEC_AI_AUTH_FORMAT

Nein

plain

Authorization-Format: plain oder bearer

ONEC_AI_TIMEOUT

Nein

120

HTTP-Request-Timeout (Sek.)

ONEC_CONFIG_NAME

Nein

-

Konfiguration für config_help (z. B. ERP, ZUP)

MCP_TOOL_CALL_MODE

Nein

standard

Modus: standard (Prompts) / direct (direkter Upstream-Aufruf)

ONEC_AI_INPUT_MAX_LENGTH

Nein

100000

Max. Länge der Eingabedaten (Zeichen)

HTTP_PORT

Nein

8007

Port des MCP-Servers

USESSE

Nein

false

Transport: true=SSE, false=streamable-http

MAX_ACTIVE_SESSIONS

Nein

10

Limit gleichzeitiger Sitzungen

SESSION_TTL

Nein

3600

Sitzungs-TTL (Sek.)

LOG_LEVEL

Nein

INFO

Logging-Level (DEBUG, INFO, WARNING)

* Erforderlich ist ONEC_AI_TOKEN oder ONEC_AI_TOKEN_FILE.

Docker Secrets

Für Produktionsumgebungen kann das Token über eine Datei übergeben werden:

services:
  1c-ai-mcp:
    image: desko77/1c-ai-mcp:latest
    environment:
      ONEC_AI_TOKEN_FILE: /run/secrets/onec_token
    secrets:
      - onec_token

secrets:
  onec_token:
    file: ./onec_token.txt

Direct Mode

Bei MCP_TOOL_CALL_MODE=direct rufen die Dokumentationstools und check_1c_code (syntax) die Upstream-Tools von 1C:Assistent direkt beim Namen auf, statt Text-Prompts zu verwenden. Dies liefert genauere Ergebnisse.

Upstream-Tools:

  • mcp__knowledge-hub__Search_ITS - für its_help

  • mcp__knowledge-hub__Fetch_ITS - für fetch_its

  • mcp__knowledge-hub__Search_Documentation - für search_1c_documentation, onec_help

  • mcp__knowledge-hub__Diff_Documentation_Versions - für diff_1c_documentation_versions

  • mcp__syntax-checker__validate - für check_1c_code (syntax)

Bei einem Fehler des Direct-Aufrufs erfolgt automatisch ein Fallback auf den Prompt-Modus. Standardmäßig standard für Abwärtskompatibilität.

Architektur

MCP-клиент (Cursor / Claude Code)
  -> FastMCP HTTP endpoint (:8007/mcp)
    -> mcp_server.py (обработчики инструментов)
      -> OneCApiClient (HTTP-клиент)
        -> code.1c.ai API (SSE-стриминг)
          -> парсинг ответа -> возврат клиенту

Zwei Betriebsmodi

  • Standard-Modus (Standard): Die Tools erstellen Text-Prompts und senden sie an die API. Die Dokumentationstools verwenden eine Tool-Chain - das Modell entscheidet selbst, welches Server-Tool aufgerufen wird.

  • Direct-Modus (MCP_TOOL_CALL_MODE=direct): Die Tools fordern explizit ein bestimmtes Upstream-Tool beim Namen an, matchen die Antwort und bestätigen den Aufruf. Bei einem Fehler - automatischer Fallback auf den Standard-Modus.

SSE-Parser

Unterstützt drei Antwortformate der API:

Format

Struktur

Typ

Legacy

{"content_delta": "text"}

Inkrementell

OpenAI-like

{"choices": [{"delta": {"content": "text"}}]}

Inkrementell

Completed

{"content": {"text": "vollständiger Text"}}

Final

Zusätzlich:

  • Automatisches Entfernen von <thinking>/ thinking-Blöcken aus Antworten

  • Unicode-Normalisierung und Bereinigung von Steuerzeichen

  • Fallback bei Erhalt von tool_calls - erneute Anfrage mit skill_name="raw"

  • Kürzung der Eingabedaten gemäß ONEC_AI_INPUT_MAX_LENGTH

Entwicklung

Lokaler Start ohne Docker

pip install -r requirements.txt
export ONEC_AI_TOKEN="ваш-токен"
python main.py

Projektstruktur

main.py                       # Точка входа
src/
  mcp_server.py                # MCP-инструменты (@mcp.tool)
  onec_api_client.py           # HTTP-клиент к API 1С:Напарник
Dockerfile                     # Dockerfile
docker-compose.yml             # Compose для сборки из исходников
tests/                         # Тестовые скрипты
.github/workflows/
  docker-publish.yml           # CI: сборка и публикация в Docker Hub

Danksagungen

Lizenz

MIT - siehe LICENSE

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

Related MCP Connectors

  • Get up-to-date, version-specific documentation and code examples from official sources directly in…

  • Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.

  • Provide AI-powered real-time analysis and intelligence on NPM packages, including security, depend…

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/serezhenkov-lab/1c-ai-mcp'

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