AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT Self-run

1c Bsp Context

mcp-phill752-1c-bsp-context · by phill752

MCP server from phill752/1c-bsp-context.

No reviews yet
0 installs
31 views
0.0% view→install

Install

$ agentstack add mcp-phill752-1c-bsp-context

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-phill752-1c-bsp-context)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of 1c Bsp Context? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

1c-bsp-context

[](https://modelcontextprotocol.io) [](https://kotlinlang.org) [](https://spring.io/projects/spring-boot) [](LICENSE) [](https://github.com/phill752/1c-bsp-context/actions/workflows/build.yml)

MCP-сервер, предоставляющий AI-агентам точный и проверяемый справочник по API Библиотеки стандартных подсистем (БСП) 1С:Предприятие 8.3.

Сервер парсит выгрузку конфигурации БСП в формате EDT (XML) и индексирует все общие модули (процедуры, функции, параметры, описания, привязки к подсистемам), а затем отвечает на запросы моделей через 6 MCP-инструментов.

Архитектура

  LLM (ChatGPT, Claude, Cascade, Kilo Code)
                    │
              MCP-клиент (SSE / stdio)
                    │
           1c-bsp-context (Kotlin + Spring AI)
                    │
         EDT-выгрузка БСП (CommonModules/ + Subsystems/)

При старте сервер индексирует ~800 модулей и ~20 000 процедур в памяти за ` для сверки

  • Compact-режим — описание + параметры + сигнатура без исходного кода (экономия ~80% токенов)
  • Явное отсутствие данных_нет описания_ вместо пустых полей, чтобы модель не додумывала
  • Фильтрация АПК — служебные пометки АПК:* исключаются из описания, но сохраняются в raw docblock
  • In-memory индекс — ~800 модулей / ~20 000 процедур за SSE_ADDRESS=0.0.0.0 нужен в Docker, чтобы сервер слушал внутри контейнера. По умолчанию (без Docker) сервер доступен только на 127.0.0.1.

Docker Compose

services:
  bsp-context:
    build: /path/to/mcp-bsp
    ports:
      - "127.0.0.1:8085:8085"
    volumes:
      - /path/to/ssl-edt-export:/app/bsp:ro
    environment:
      - BSP_SOURCE_PATH=/app/bsp
      - SSE_ADDRESS=0.0.0.0
    restart: unless-stopped

Источник данных

Ожидается каталог выгрузки конфигурации 1С в формате EDT:

ssl/
  CommonModules/
    АдресныйКлассификатор/
      Ext/Module.bsl
    АдресныйКлассификатор.xml
    ...
  Subsystems/
    СтандартныеПодсистемы/
      Subsystems/
        ЗагрузкаДанныхИзФайла.xml
        ...

При старте сервер:

  1. Рекурсивно обходит CommonModules/ — для каждого модуля парсит .xml (метаданные)

и Ext/Module.bsl (исходный код)

  1. Рекурсивно обходит Subsystems/ — для каждой подсистемы извлекает синоним, дочерние

подсистемы и список модулей из секции ``

  1. Строит обратную карту moduleName → subsystemName
  2. Индексирует всё в памяти

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

| Инструмент | Назначение | Параметры | |---|---|---| | search_bsp_api | Поиск процедур/функций по термину и/или подсистеме | query, subsystem?, limit? | | get_bsp_procedure_info | Полная информация о процедуре: описание, параметры, типы, возвращаемое значение, примеры, предупреждения, исходный код, сырой docblock | name, module?, compact? | | get_bsp_module_info | Информация об общем модуле + список всех экспортных процедур/функций | moduleName, nameFilter? | | list_bsp_procedures | Лёгкий список процедур модуля: имя, тип, сигнатура, назначение, источник. Без исходного кода и параметров | moduleName, nameFilter? | | get_bsp_subsystem_overview | Обзор подсистемы: модули и ключевые процедуры каждой | subsystemName | | get_bsp_usage_example | Готовый фрагмент BSL-кода с вызовом процедуры и параметрами-заглушками | procedureName, moduleName? |

Compact-режим (get_bsp_procedure_info)

Параметр compact=true отключает вывод исходного кода, примеров, предупреждений и синтетического примера вызова. Остаётся: описание, параметры с типами, сигнатура, сырой docblock. Экономит ~80% токенов.

Фильтрация по имени (get_bsp_module_info, list_bsp_procedures)

Параметр nameFilter фильтрует процедуры по подстроке в имени (case-insensitive). Например, nameFilter="Реквизит" вернёт только процедуры с «Реквизит» в имени.

Проверяемость

Каждый результат get_bsp_procedure_info и list_bsp_procedures содержит:

  • Источник — путь к файлу и номер строки (CommonModules/ОбщегоНазначения/Ext/Module.bsl:64)
  • Сырой docblock — оригинальные строки // ... в блоке `` для сверки с исходником

Дисциплина отсутствия данных

  • Параметр без описания в docblock → _описание отсутствует в исходнике_
  • Процедура без docblock → _нет описания_
  • Служебные пометки АПК:* исключаются из описания, но сохраняются в сыром docblock

Подключение в MCP-клиентах

Cascade (Windsurf) — ~/.codeium/windsurf/mcp_config.json

"1c-bsp-context": {
  "url": "http://localhost:8085/sse",
  "disabled": false
}

Kilo Code — ~/.config/Code/User/globalStorage/kilocode.kilo-code/settings/mcp_settings.json

"1c-bsp-context": {
  "autoApprove": [],
  "disabled": false,
  "timeout": 60,
  "type": "sse",
  "url": "http://localhost:8085/sse"
}

Claude Desktop — claude_desktop_config.json

"1c-bsp-context": {
  "url": "http://localhost:8085/sse"
}

Структура проекта

mcp-bsp/
├── build.gradle.kts
├── settings.gradle.kts
├── gradle/libs.versions.toml
├── Dockerfile
├── README.md
├── LICENSE
├── CHANGELOG.md
└── src/main/
    ├── kotlin/ru/bsp/context/
    │   ├── McpServerApplication.kt              # entry point (--mode, --port, --bsp-path)
    │   ├── business/
    │   │   ├── model/                           # BspModule, BspProcedure, BspParameter, BspSubsystem
    │   │   └── services/
    │   │       └── BspFormatterService.kt       # Markdown-форматирование результатов
    │   ├── infrastructure/
    │   │   ├── configuration/
    │   │   │   └── BspContextConfiguration.kt
    │   │   ├── edt/
    │   │   │   ├── EdtXmlParser.kt              # парсинг CommonModule XML
    │   │   │   ├── SubsystemParser.kt           # парсинг Subsystem XML
    │   │   │   └── BslParser.kt                 # парсинг Module.bsl + docblock
    │   │   ├── persistent/
    │   │   │   ├── BspContextLoader.kt          # обход файлов + построение индекса
    │   │   │   └── BspContextStorage.kt         # in-memory хранилище
    │   │   └── search/
    │   │       ├── BspSearchEngine.kt           # поиск со скорингом
    │   │       └── SearchHit.kt                 # модели результатов
    │   └── presentation/
    │       └── mcp/
    │           ├── BspContextMcpController.kt   # 6 @Tool-методов
    │           └── McpConfiguration.kt          # Spring AI ToolCallbackProvider
    └── resources/
        ├── application.yml
        ├── application-sse.yml
        ├── application-stdio.yml
        └── logback-mcp.xml

Юридическая оговорка

Репозиторий не содержит БСП или исходный код конфигураций 1С. Пользователь самостоятельно предоставляет локальную выгрузку БСП и несёт ответственность за соблюдение условий её лицензирования. Лицензия MIT распространяется только на код данного MCP-сервера.

Лицензия

[MIT](LICENSE)

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.