1c-lsp-mcp-skill

1с-lsp-mcp-skill

Менеджер bsl-language-server для нескольких проектов 1С с доступом через MCP или скиллы и CLI, без Docker

  • 26 ★ репозитория
  • Последний коммит
  • LGPL-3.0
MCP-сервер

Расширенный доступ

Почему такой уровень

  • Запускает скачанные бинарники и Java-сервер на локальной машине
  • Открывает локальные HTTP-порты для веб-интерфейса и MCP
  • Может устанавливаться как фоновая служба
Все причины и проверки
Российский стек

fserg/1c-lsp-mcp-skill

Установка

Ручная установка

../lsp-skill install-path

Сначала установите JVM, скачайте релиз bsl-language-server и запустите lsp-skill-server. Команда добавляет CLI в PATH для работы через скиллы.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Запускает скачанные бинарники и Java-сервер на локальной машине
  • Открывает локальные HTTP-порты для веб-интерфейса и MCP
  • Может устанавливаться как фоновая служба

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Запускает отдельный bsl-language-server для каждого проекта 1С и управляет ими через веб-интерфейс. Агент получает проверку синтаксиса и навигацию по коду: символы, определения, ссылки, входящие и исходящие вызовы. Доступ возможен через два MCP-сервера или через скиллы 1c-check и 1c-lsp, которые вызывают CLI lsp-skill.

Для кого. Разработчикам 1С, которые ведут несколько конфигураций и не хотят ставить Docker.

Подходит, если

  • Нужно проверять синтаксис модулей 1С прямо из агента
  • Агенту нужна навигация по символам и иерархия вызовов в типовых конфигурациях
  • Вы работаете с несколькими проектами 1С и хотите держать индексы в фоне
  • Docker недоступен или нежелателен

Не подходит, если

  • Нужен рефакторинг и переименование: проект сосредоточен на диагностике и навигации
  • Нет возможности поставить JVM

Пример запроса к агенту

Проверь синтаксис общего модуля ОбщийМодуль1 и покажи, какие процедуры вызывают функцию ПолучитьЦену

MCP

Транспорт
http
Авторизация
не нужна

Переменные окружения

PROJECT_ID обязательная
ID проиндексированного проекта в файле .env для работы через скиллы

Ограничения

Нужны JVM и отдельно скачанный bsl-language-server, проверялось на версии 0.29.0. Индексация типовых конфигураций УТ, БП и УНФ занимает несколько минут. Ответы bsl-language-server пока многословны. Пути к файлам передаются относительно корня проекта, абсолютные пути сервер отклоняет.

Как отключить. Удалите MCP-серверы 1c-lsp-diagnostics и 1c-lsp-navigation из mcp.json или папки скиллов из .claude/skills, затем остановите lsp-skill-server. Если ставили службу, выполните lsp-skill-server service uninstall.

Частые вопросы

Что выбрать, MCP или скиллы?

Оба варианта дают одинаковые возможности. Для скиллов нужен .env с PROJECT_ID и CLI в PATH, для MCP нужен заголовок x-project-id в конфиге.

Можно ли выделить больше памяти большому проекту?

Да, каждый инстанс bsl-language-server запускается со своими ключами JVM и своим конфигурационным файлом.

Обсуждение

Вопросов и отзывов пока нет.

Российский стек

MCP-мост к BSL Language Server: навигация, диагностика и рефакторинг кода 1С и OneScript для агентов

MCP-серверРасширенный доступ69Звезды репозитория
Российский стек

MCP-сервер, который открывает облачного ассистента 1С:Напарник (1C.ai) и локальный BSL Language Server агентам в Cursor и других IDE

MCP-серверРасширенный доступ22Звезды репозитория
Российский стек

MCP-сервер в Docker, который держит запущенным BSL Language Server и отдает агенту навигацию по коду 1С, диагностику и рефакторинг вместо grep-поиска

MCP-серверРасширенный доступ1Звезды репозитория

Установщик BSL Language Server

BSL Language Server installer

Российский стек

Скрипт ставит BSL Language Server как systemd-сервис на Linux и по флагу открывает MCP-эндпоинт для AI-агентов

MCP-серверРасширенный доступ
Российский стек

Набор скиллов, правил и MCP-серверов для разработки на 1С:Предприятие 8.3: агент работает по реальному коду и справке, а не по памяти

СкиллШирокий доступ34Звезды репозитория
Российский стек

Небольшой MCP-сервер, который запускает BSL Language Server как JAR-файл и отдает агенту анализ и форматирование BSL-кода в JSON

MCP-серверРасширенный доступ6Звезды репозитория

Коротко о README

Кроссплатформенное приложение состоит из HTTP-сервера lsp-skill-server с веб-интерфейсом и CLI lsp-skill. Оно запускает несколько bsl-language-server с прогрессом индексации, передает им изменения файлов и отвечает на запросы диагностики и навигации. В релизе есть бинарники для Windows, Linux и macOS, два скилла, пример mcp.json и примеры AGENTS.md. Лицензия LGPL-3.0.

Бейдж для README

Исходный SKILL.md

---
name: 1c-lsp
description: "Use when developing, reviewing, or debugging 1C:Enterprise 8.3 / BSL code in a repository connected to the local `lsp-skill` service and you need semantic navigation through `bsl-language-server`. Covers `symbols`, `definition`, `references`, `incoming-calls`, `outgoing-calls`, and `workspace-symbols` for configured 1C projects. Prefer this skill over plain text search when you need symbol-aware answers about procedures, functions, variables, common modules, forms, object modules, and cross-file usage in 1C (`1С`) projects."
---

# 1c-lsp

Use the local `lsp-skill` CLI as the primary semantic navigation tool while working on 1C code.

Treat it as a thin wrapper over `bsl-language-server` and LSP. Use it first for symbol-aware navigation, then open the real source files to inspect surrounding code before editing behavior.

## How It Connects

The CLI discovers `PROJECT_ID` from a `.env` file in the current directory or a parent directory, and discovers the server address from `runtime.json`.

If the project is not ready (starting, stopped, error), commands will return an error — handle it when it happens instead of checking upfront. You can run `lsp-skill status` to inspect project state if needed for troubleshooting.

## Output Format

Navigation commands read `use_toon_format` from `lsp-skill` config.

- `false` keeps pretty JSON.
- `true` switches to compact TOON with aliases such as `range -> range_sl/range_sc/range_el/range_ec`, `selectionRange -> selection_range_*`, `location -> location_*`, `targetUri -> target_uri`, `containerName -> container_name`, and inlined `from_*` / `to_*`.

Example:

```text
references[2]{range_ec,range_el,range_sc,range_sl,uri}:
  5,1,0,1,"file:///a.bsl"
  9,2,4,2,"file:///b.bsl"
```

## Use Safe Coordinates And Paths

Each project has two root paths:

- **`root_path`** — the BSL root where `bsl-language-server` indexes code (e.g. `d:\projects\myproject\1c-src`).
- **`project_root_path`** — the root of the entire project where LLM agents and CLI run from (e.g. `d:\projects\myproject`).

Pass `file_path` **relative to `project_root_path`**. The server resolves the path and verifies it falls inside `root_path` automatically.

- Do not use absolute paths. The server rejects absolute or escaping paths.
- Preserve the exact directory names, including Cyrillic segments.
- Convert editor coordinates carefully: LSP `line` and `character` are zero-based.
- Re-check the exact symbol position before calling `definition` or `references`. Off-by-one mistakes are common when converting from editors or code review comments.

Сообщить о проблеме

Foxx AI1c-lsp-mcp-skill
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.