SkillAgentSearch skills...

1c Templates MCP

MCP-сервер с семантическим поиском по шаблонам кода 1С (BSL). 2200+ шаблонов, CRUD веб-UI с Monaco Editor, ChromaDB + embeddings.

Install / Use

/learn @Desko77/1c Templates MCP

README

1c-templates-mcp

MCP-сервер с семантическим поиском по шаблонам кода 1С (BSL). 2200+ шаблонов из сообщества, CRUD веб-интерфейс с Monaco Editor, ChromaDB + embeddings для поиска по смыслу.

<!-- screenshot -->

Возможности

  • Семантический поиск - гибридный (vector + full-text) поиск шаблонов кода на русском языке
  • 6 MCP-инструментов - поиск, просмотр, создание, редактирование, удаление шаблонов
  • Веб-интерфейс - полный CRUD с Monaco Editor и подсветкой BSL-синтаксиса
  • 2257 шаблонов - предустановленная база шаблонов кода 1С
  • Гибкие embeddings - OpenAI-совместимый API или локальная модель SentenceTransformer
  • Docker - готовый docker-compose для быстрого запуска

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

git clone https://github.com/<your-username>/1c-templates-mcp.git
cd 1c-templates-mcp
docker compose up -d

Сервер доступен:

  • Веб-интерфейс: http://localhost:8004
  • MCP endpoint: http://localhost:8004/mcp (POST, Streamable HTTP)

Подключение к Claude Code

{
  "mcpServers": {
    "1c-templates-mcp": {
      "type": "url",
      "url": "http://localhost:8004/mcp"
    }
  }
}

MCP-инструменты

| Инструмент | Параметры | Описание | |------------|-----------|----------| | templatesearch | query: str | Гибридный семантический + полнотекстовый поиск шаблонов | | list_templates | offset?, limit? | Список шаблонов с пагинацией (по умолчанию 50, макс 200). Для поиска используйте templatesearch | | get_template | template_id: int | Получить полный шаблон с кодом по ID | | add_template | name, description, code, tags? | Добавить новый шаблон | | update_template | template_id, name?, description?, code?, tags? | Обновить существующий шаблон | | delete_template | template_id: int | Удалить шаблон по ID |

Веб-интерфейс

| Маршрут | Описание | |---------|----------| | GET / | Список шаблонов с поиском | | GET /new | Форма создания шаблона (Monaco Editor) | | GET /{id} | Просмотр шаблона | | GET /{id}/edit | Редактирование шаблона | | POST /{id}/delete | Удаление шаблона |

Конфигурация

| Переменная | По умолчанию | Описание | |------------|-------------|----------| | HTTP_PORT | 8004 | Порт сервера | | EMBEDDING_MODEL | intfloat/multilingual-e5-small | Модель для локальных embeddings | | OPENAI_API_BASE | http://localhost:1234 | URL OpenAI-совместимого API для embeddings | | OPENAI_API_KEY | lm-studio | API-ключ | | OPENAI_MODEL | - | Имя модели на API-сервере (переопределяет EMBEDDING_MODEL) | | RESET_CHROMA | false | Пересоздать ChromaDB-индекс при старте | | RESET_CACHE | false | Очистить кеш модели при старте | | USESSE | false | Использовать SSE-транспорт вместо Streamable HTTP | | DATA_DIR | /app/data | Директория для runtime-данных (SQLite, ChromaDB) |

Архитектура

                     MCP Clients (Claude Code, Cursor, ...)
                              |
                         POST /mcp
                              |
                    +---------+---------+
                    |    FastAPI app     |
                    |                   |
                    |  /mcp -> FastMCP  |  6 MCP tools
                    |  /    -> Web UI   |  CRUD + Monaco Editor
                    +----+--------+----+
                         |        |
                    +----+--+  +--+------+
                    | SQLite |  | ChromaDB |
                    | (SoT)  |  | (index)  |
                    +--------+  +----+-----+
                                     |
                              +------+------+
                              | Embeddings  |
                              | OpenAI API  |
                              | or local ST |
                              +-------------+
  • SQLite - источник истины (Source of Truth), хранит шаблоны
  • ChromaDB - векторный индекс для семантического поиска, производный от SQLite
  • Embeddings - OpenAI-совместимый API (LM Studio, Ollama) или локальный SentenceTransformer

Embedding-модели

OpenAI-совместимый API (рекомендуется)

Если доступен сервер с OpenAI-совместимым API (LM Studio, Ollama, vLLM), сервер автоматически использует его:

environment:
  - OPENAI_API_BASE=http://host.docker.internal:1234
  - OPENAI_MODEL=text-embedding-qwen3-embedding-0.6b

Локальная модель (fallback)

Если API недоступен, автоматически скачивается и используется intfloat/multilingual-e5-small через SentenceTransformer. Поддерживается GPU (CUDA/ROCm) и CPU.

Локальный запуск (без Docker)

pip install -r requirements.txt
python -m app.main

Для подсветки BSL в веб-интерфейсе клонировать bsl_console рядом с проектом:

git clone --depth 1 https://github.com/salexdv/bsl_console.git

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

Лицензия

MIT

View on GitHub
GitHub Stars10
CategoryDevelopment
Updated12h ago
Forks1

Languages

Python

Security Score

80/100

Audited on Mar 20, 2026

No findings