MCP сервер шаблонов 1С
MCP-сервер для хранения и поиска шаблонов BSL-кода. Управление шаблонами — через веб-интерфейс.
Запуск
docker compose up -d
После первого запуска автоматически создаются два демо-шаблона:
- Модуль печатной формы
- Отчёт СКД по таблице значений
Шаблоны хранятся в папке data/templates/ на хосте (Docker volume).
Веб-интерфейс
Откройте в браузере: http://localhost:8023
- Список шаблонов с поиском
- Создание и редактирование шаблонов (код в редакторе)
- Удаление шаблонов
Подключение в Cursor
Сервер использует транспорт Streamable HTTP (не SSE). В настройках Cursor → MCP укажите сервер с явным типом транспорта:
{
"mcpServers": {
"1c-templates": {
"type": "streamableHttp",
"url": "http://localhost:8023/mcp"
}
}
}
MCP-инструменты
| Инструмент | Описание |
|---|---|
list_templates() |
Список всех шаблонов (id, name, description, tags) |
get_template(template_id) |
Полный шаблон с кодом по id |
search_templates(query) |
Поиск по подстроке в названии, описании и тегах |
Пример использования в Cursor
В чате Cursor напишите:
Найди шаблон печатной формы и вставь код в текущий модуль
Cursor через MCP вызовет search_templates("печатная форма"), получит id шаблона, затем get_template(id) — и вернёт BSL-код.
Структура проекта
.
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
├── app/
│ ├── main.py # FastAPI + FastMCP
│ ├── storage.py # CRUD по JSON-файлам
│ ├── seeds.py # Начальные шаблоны
│ └── html/ # Jinja2-шаблоны веб-UI
└── data/
└── templates/ # JSON-файлы шаблонов
Добавление шаблона вручную
Создайте файл data/templates/my_template.json:
{
"id": "my_template",
"name": "Мой шаблон",
"description": "Описание",
"tags": ["тег1", "тег2"],
"code": "// BSL код..."
}
Файл подхватывается мгновенно — перезапуск контейнера не нужен.