Сервер для проверки и форматирования кода 1C (BSL) для IDE Cursor (и другие).
MCP BSL Server — это мост между вашим AI-помощником (например, в Cursor IDE) и BSL Language Server (инструментом для анализа кода 1C).
- ✅ Анализ кода 1C — находит ошибки, предупреждения, проблемы стиля
 - ✅ Форматирование кода — приводит код к единому стилю
 - ✅ Работа с AI — позволяет Cursor и другим AI-помощникам проверять ваш 1C код
 
- потому что локально быстрее
 
- возможность тестирования MCP Tools через Swagger
 - возможность мониторинга и чтения логов через дашборд Graphana
 - веб-интерфейс для доступа к дополнительным функциям проекта
 
Cursor IDE → MCP BSL Server → BSL Language Server → Анализ кода 1C
AI-помощник может вызывать специальные инструменты (tools) для работы с вашим кодом.
Сервер предоставляет 5 инструментов для работы с кодом:
Проверяет код на ошибки и предупреждения.
Что делает:
- Находит ошибки в синтаксисе
 - Обнаруживает проблемы стиля кода
 - Показывает предупреждения о потенциальных проблемах
 
Пример использования в Cursor:
"Проверь файл Module.bsl на ошибки"
Приводит код к единому стилю.
Что делает:
- Выравнивает отступы
 - Расставляет пробелы
 - Организует структуру кода
 
Пример использования в Cursor:
"Отформатируй все файлы в проекте"
**3-5 - это служебные методы
Создаёт рабочую сессию для проекта (ускоряет повторные проверки).
Проверяет, активна ли сессия.
Завершает рабочую сессию.
- Скачайте Docker Desktop
 - Установите и запустите Docker
 
# Клонируйте репозиторий
git clone https://github.com/yourusername/mcp-bsl-server.git
cd mcp-bsl-server💡 Примечание: Замените yourusername на реальное имя пользователя/организации GitHub.
# Соберите Docker-образ (без GitHub токена)
docker build -t mcp-bsl-server:latest .💡 Опционально: С GitHub токеном (быстрее, без лимитов)
Если у вас есть GitHub токен:
$env:GITHUB_TOKEN = (Get-Content '.secrets\github_token.txt' -Raw).Trim()
docker build --build-arg GITHUB_TOKEN=$env:GITHUB_TOKEN -t mcp-bsl-server:latest .⏱️ Сборка займёт 3-5 минут (скачивается BSL Language Server ~110 МБ).
Примечание:
- Без токена: Скачивание через публичное API (может быть медленнее, есть лимит запросов)
 - С токеном: Скачивание без лимитов (рекомендуется для частых пересборок)
 
# Запустите контейнер в режиме HTTP
docker run --rm -d `
  --name mcp-bsl-server-checker `
  -e MCP_TRANSPORT=http `
  -p 9090:9090 `
  -p 9090:9090 `
  -v 'D:\My Projects\Projects 1C:/workspaces:ro' `
  mcp-bsl-server:latestD:\My Projects\Projects 1C на путь к вашей папке с проектами 1C!
💡 Режимы работы:
MCP_TRANSPORT=http— HTTP API + Web UI (рекомендуется для Cursor)MCP_TRANSPORT=stdio— только stdio + Web UI- Подробнее: docs/TRANSPORT_MODES.md
 
Откройте в браузере: http://localhost:9090
Вы увидите:
- 📊 Статус сервера
 - 📚 Кнопку для открытия Swagger (документация API)
 - 📚 Кнопку для просмотра логов обращения к серверу в Графана
 - ⚙️ Готовую конфигурацию для Cursor IDE (можно скопировать одной кнопкой)
 
Стартовая страница показывает статус сервера, текущую конфигурацию и готовую конфигурацию для Cursor IDE
mcp-bsl-server-checker запущен (см. Шаг 4)!
- 
Убедитесь, что контейнер запущен:
docker ps --filter "name=mcp-bsl-server-checker"
Если контейнер не запущен, вернитесь к Шагу 4.
 - 
Откройте http://localhost:9090
 - 
Найдите блок "⚙️ Cursor IDE Configuration"
 
💡 Как это работает:
- Cursor подключается к уже запущенному контейнеру 
mcp-bsl-server-checker - Используется 
docker execвместоdocker run(быстрее и эффективнее) - Web UI остаётся доступным на http://localhost:9090
 
После подключения вы можете давать команды AI-помощнику:
Анализ:
- "Проверь файл Module.bsl на ошибки"
 - "Найди проблемы в проекте D:\Projects\MyProject"
 - "Покажи все предупреждения в коде"
 
Форматирование:
- "Отформатируй файл Form.bsl"
 - "Приведи все файлы проекта к единому стилю"
 
Работа с сессиями:
- "Создай сессию для проекта D:\Projects\MyProject"
 - "Проверь статус сессии abc-123"
 
docker logs -f mcp-bsl-server-checkerdocker stop mcp-bsl-server-checkerdocker restart mcp-bsl-server-checkerdocker stop mcp-bsl-server-checker
docker rm mcp-bsl-server-checkerДля запуска с полным стеком мониторинга (Grafana + Loki + Prometheus):
# Установите GitHub токен
$env:GITHUB_TOKEN = (Get-Content '.secrets\github_token.txt' -Raw).Trim()
# Запустите весь стек через docker-compose
docker-compose up -d
# Доступные адреса:
# - MCP Server: http://localhost:9090
# - Grafana: http://localhost:3000 (без авторизации)
# - Дашборд логов: http://localhost:3000/d/mcp-bsl-logs
# - Prometheus: http://localhost:9091Grafana по умолчанию работает без авторизации. Просто откройте http://localhost:3000 и сразу увидите интерфейс.
Дефолтный дашборд "MCP BSL Server - Логи" автоматически показывает:
- Временной график логов по уровням (INFO, WARN, ERROR)
 - Все логи с возможностью поиска и фильтрации
 - Распределение логов по уровням (круговая диаграмма)
 - Только ошибки и предупреждения
 
Включение авторизации (опционально):
Если нужна авторизация, отредактируйте grafana/grafana.ini:
[auth.anonymous]
enabled = false  # Было: trueПерезапустите: docker-compose restart grafana. Логин: admin, пароль: admin.
Что запустится:
- ✅ MCP BSL Server (порт 9090)
 - ✅ Grafana (порт 3000) — графический интерфейс
 - ✅ Loki (порт 3100) — сбор логов
 - ✅ Prometheus (порт 9091) — сбор метрик
 
Остановка стека:
docker-compose downПроблема: Error: Cannot connect to the Docker daemon
Решение: Убедитесь, что Docker Desktop запущен.
Проблема: Error: port is already allocated
Решение: Порт 9090 уже занят. Остановите другие приложения или измените порт:
docker run --rm -d `
  --name mcp-bsl-server-checker `
  -p 9091:9090 `
  -p 9091:9090 `
  ... (остальные параметры)Проблема: Permission denied при доступе к файлам
Решение:
- Откройте Docker Desktop
 - Settings → Resources → File Sharing
 - Добавьте путь к вашей папке с проектами
 
Проблема: API rate limit exceeded при сборке Docker-образа
Решение: GitHub ограничивает количество запросов без токена (60 в час). Используйте GitHub токен.
Проблема: 404 Not Found или curl failed при сборке
Решение: Проблема с сетью или GitHub. Попробуйте позже или используйте токен.
- Откройте https://github.com/settings/tokens
 - Generate new token → Fine-grained token
 - Repository access: Public Repositories (read-only)
 - Permissions:
- Contents: Read
 - Metadata: Read
 
 - Скопируйте токен в 
.secrets/github_token.txt - Пересоберите образ с токеном:
$env:GITHUB_TOKEN = (Get-Content '.secrets\github_token.txt' -Raw).Trim() docker build --build-arg GITHUB_TOKEN=$env:GITHUB_TOKEN -t mcp-bsl-server:latest .
 
Примечание: Токен нужен только для сборки, он не сохраняется в образе.
Решение:
- Проверьте, что контейнер запущен: 
docker ps - Проверьте конфигурацию в 
cline_mcp_settings.json - Перезапустите Cursor IDE
 - Проверьте логи: 
docker logs mcp-bsl-server-checker 
После запуска доступны следующие страницы:
| Страница | URL | Описание | 
|---|---|---|
| Главная | http://localhost:9090 | Статус сервера + конфигурация для Cursor | 
| Swagger UI | http://localhost:9090/swagger-ui | Документация и тестирование API | 
| Health Check | http://localhost:9090/actuator/health | Проверка работоспособности | 
| Grafana | http://localhost:3000 | Логи и метрики (без авторизации по умолчанию) | 
| Дашборд логов | http://localhost:3000/d/mcp-bsl-logs | Дашборд с логами MCP сервера | 
💡 Примечание: Grafana доступна только при запуске через docker-compose up (см. раздел "Разработка")
Для разработчиков и продвинутых пользователей:
- docs/TRANSPORT_MODES.md — Режимы работы MCP сервера (stdio, http, sse, ndjson)
 - TECHNICAL.md — Техническая документация (API, архитектура, конфигурация)
 - docs/CURSOR_INTEGRATION.md — Подробная интеграция с Cursor
 - docs/ARCHITECTURE.md — Архитектура сервера
 - docs/WEB_UI.md — Описание Web-интерфейса
 - mcp-config-examples.md — Примеры конфигураций
 
Проблемы и вопросы:
- GitHub Issues: создать issue
 
Полезные ссылки:
MIT License
Версия: 0.1.0
Последнее обновление: Октябрь 2024
