Content
# MCP сервер для AI-ассистентов (справка по синтаксису и объектной модели 1С:Предприятие)
**MCP (Model Context Protocol) сервер** — это инструмент для интеграции с AI-ассистентами (например, Claude Desktop, Cursor IDE), предоставляющий быстрый и стандартизированный доступ к справочной информации по встроенным функциям, типам данных, методам и свойствам платформы 1С:Предприятие. MCP сервер позволяет AI-ассистентам работать с "Синтаксис-помощником" 1С в интерактивном режиме.
## Обзор
Приложение `mcp-bsl-context` предназначено исключительно для интеграции с AI-ассистентами, чтобы они могли выполнять поиск по справке платформы 1С:Предприятие и получать детальную информацию о встроенных функциях, типах, методах и свойствах (аналогично работе с "Синтаксис-помощником" или официальной документацией 1С).
### 🤖 Возможности MCP сервера
- **Поиск по справке платформы 1С** — нечеткий поиск по встроенным функциям, методам, свойствам и типам данных
- **Детальная справка** — получение подробной информации о функциях, методах, свойствах и типах, включая сигнатуры и описания
- **Навигация по объектной модели** — просмотр методов и свойств конкретных типов данных
- **Информация о конструкторах** — способы создания объектов платформы 1С
- **Интеграция с AI** — стандартизированный протокол MCP для взаимодействия с AI-ассистентами
- **Два режима работы** — STDIO для локальной разработки и SSE для сетевого доступа
Проект использует Spring Boot и Spring AI для создания MCP сервера на базе Kotlin.
## Режимы работы
### STDIO режим (по умолчанию)
- **Назначение** — локальная интеграция с MCP клиентами
- **Транспорт** — стандартный ввод/вывод (stdin/stdout)
- **Применение** — Claude Desktop, Cursor IDE, VS Code
- **Преимущества** — простота настройки, низкие накладные расходы
### SSE режим (Server-Sent Events)
- **Назначение** — сетевая интеграция и веб-интерфейс
- **Транспорт** — HTTP с Server-Sent Events
- **Применение** — веб-клиенты, удаленные подключения, REST API
- **Преимущества** — сетевой доступ, встроенный веб-интерфейс, real-time коммуникация
## Требования
### Системные требования
- **Java**: версия 17 или выше
- **Операционная система**: Linux, macOS, Windows
- **Память**: минимум 512 МБ RAM для работы приложения
- **Место на диске**: 100 МБ для установки приложения
### Для MCP сервера
- **Платформа 1С Предприятие**: версия 8.3.20 или выше (рекомендуется)
- **MCP клиент**: Claude Desktop, Cursor IDE или другой совместимый MCP клиент
- **Сетевое подключение**: для загрузки зависимостей при первом запуске
### Зависимости времени выполнения
Все необходимые зависимости включены в исполняемый JAR-файл:
- Spring Boot 3.5.0
- Spring AI 1.0.0
- Jackson 2.15.2
- Kotlin Coroutines
## Сборка
Проект собирается с помощью Gradle. Для сборки выполните следующую команду в корневой директории проекта:
```bash
./gradlew build
```
После успешной сборки исполняемый JAR-файл будет находиться в директории `build/libs/`.
## Использование
### Запуск MCP сервера
Linux
```bash
java -jar mcp-bsl-context-<версия>.jar [опции]
```
Windows
```bash
java -Dfile.encoding=UTF-8 -jar mcp-bsl-context-<версия>.jar [опции]
```
**Опции:**
- `--platform-path`, `-p` - путь к каталогу установки 1С Предприятия
- `--help`, `-h` - показать справку по использованию
- `--verbose` - включить отладочное логирование
- `--mode`, `-m` - режим работы: sse (HTTP Server-Sent Events) или stdio (стандартный ввод/вывод) (по умолчанию stdio)
- `--port` - порт для SSE сервера (по умолчанию 8080)
**Примеры:**
```bash
# STDIO режим (по умолчанию)
java -jar mcp-bsl-context-0.3.0.jar --platform-path "/opt/1cv8/x86_64/8.3.25.1257"
# SSE режим (HTTP Server-Sent Events)
java -jar mcp-bsl-context-0.3.0.jar --mode sse --platform-path "/opt/1cv8/x86_64/8.3.25.1257"
# SSE режим с кастомным портом
java -jar mcp-bsl-context-0.3.0.jar --mode sse --port 9000 --platform-path "/opt/1cv8/x86_64/8.3.25.1257"
# Сокращенная форма
java -jar mcp-bsl-context-0.3.0.jar -m stdio -p "/opt/1cv8/x86_64/8.3.25.1257"
# Показать справку
java -jar mcp-bsl-context-0.3.0.jar --help
```
**Примеры запуска в Windows:**
```cmd
# STDIO режим (по умолчанию)
java -Dfile.encoding=UTF-8 -jar mcp-bsl-context-0.3.0.jar --platform-path "C:\Program Files\1cv8\8.3.27.1606"
```
### Возможности MCP сервера
#### Инструменты (Tools) доступные через MCP:
- **search** - поиск по API платформы 1С Предприятие
- **info** - получение детальной информации об элементе API
- **getMember** - получение информации о методе или свойстве конкретного типа
- **getMembers** - получение полного списка всех методов и свойств для указанного типа
- **getConstructors** - получение списка конструкторов для указанного типа
Подробная документация по использованию MCP сервера доступна в [MCP_SERVER_USAGE.md](documentation/README.md).
## Интеграция с AI клиентами
### STDIO режим (по умолчанию)
Для локального использования с AI клиентами через stdin/stdout.
**Claude Desktop** - добавьте конфигурацию в `claude_desktop_config.json`:
```json
{
"mcpServers": {
"1c-platform": {
"command": "java",
"args": [
"-jar",
"/path/to/mcp-bsl-context.jar",
"--platform-path",
"/opt/1cv8/x86_64/8.3.25.1257"
]
}
}
}
```
Пример настройки для работы в Windows
```json
"mcpServers": {
"1c-platform": {
"type": "stdio",
"command": "java",
"args": [
"-Dfile.encoding=UTF-8",
"-jar",
"C:\\your_path\\mcp-bsl-context-0.3.0.jar",
"--platform-path",
"C:\\Program Files\\1cv8\\8.3.27.1606"
],
"env": {
"LOG_FILE": "C:\\cmd\\mcp-server.log"
}
}
}
```
**Cursor IDE** - создайте файл `.cursor/mcp.json` в корне проекта:
```json
{
"mcpServers": {
"1c-platform": {
"command": "java",
"args": [
"-jar",
"/path/to/mcp-bsl-context.jar",
"--platform-path",
"/opt/1cv8/x86_64/8.3.25.1257"
]
}
}
}
```
Пример настройки для работы в Windows
```json
"mcpServers": {
"1c-platform": {
"type": "stdio",
"command": "java",
"args": [
"-Dfile.encoding=UTF-8",
"-jar",
"C:\\your_path\\mcp-bsl-context-0.3.0.jar",
"--platform-path",
"C:\\Program Files\\1cv8\\8.3.27.1606"
],
"env": {
"LOG_FILE": "C:\\cmd\\mcp-server.log"
}
}
}
```
### SSE режим (HTTP Server-Sent Events)
Для сетевого доступа и веб-интерфейса.
**Запуск сервера:**
```bash
java -jar mcp-bsl-context.jar --mode sse --platform-path "/opt/1cv8/x86_64/8.3.25.1257"
```
**Доступные эндпоинты:**
- `http://localhost:8080/sse` - SSE соединение
**Подключение через URL:**
```json
{
"mcpServers": {
"1c-platform-sse": {
"url": "http://localhost:8080/mcp/sse"
}
}
}
```
**Пример HTTP запроса:**
```bash
curl -X POST http://localhost:8080/mcp/request \
-H "Content-Type: application/json" \
-d '{
"id": "req-1",
"method": "search",
"params": {
"query": "СтрНайти",
"type": "method",
"limit": 5
}
}'
```
## Документация
- [Обзор](documentation/00_OVERVIEW.md) - общий обзор и быстрый старт
- [Возможности](documentation/01_CAPABILITIES.md) - описание доступных инструментов и функций
- [Установка и запуск](documentation/02_SETUP.md) - инструкции по установке и настройке
- [Docker](documentation/03_DOCKER.md) - работа с Docker контейнерами
- [Техническая документация](documentation/04_TECHNICAL.md) - архитектура и технические детали
- [Интеграция](documentation/05_INTEGRATION.md) - интеграция с IDE и AI клиентами
- [SSE режим](documentation/SSE_USAGE.md) - подробная документация по SSE режиму
- [Использование MCP сервера](documentation/README.md) - базовое использование
## Алгоритм поиска
Поиск выполняется по принципу нечеткого соответствия с ранжированием:
1. **Точное совпадение** (100 баллов) - имя полностью совпадает с запросом
2. **Префиксное совпадение** (80 баллов) - имя начинается с запроса
3. **Частичное совпадение** (60 баллов) - имя содержит запрос
4. **Совпадение в сигнатуре** (40 баллов) - запрос найден в сигнатуре
5. **Совпадение в описании** (20 баллов) - запрос найден в описании
6. **Fuzzy matching** (0-50 баллов) - на основе расстояния Левенштейна
## Зависимости
Основные зависимости проекта:
- Spring Boot 3.5.0
- Spring AI MCP Server
- Kotlin с Coroutines
- Jackson (для работы с JSON)
- Logback для логирования
## Использованные идеи
Алгоритм чтения справки базируется на идеях [bsl-context](https://github.com/1c-syntax/bsl-context) (от [1c-syntax](https://github.com/1c-syntax/)).
## Лицензия
Этот проект распространяется под лицензией MIT. Подробную информацию смотрите в файле [LICENSE](LICENSE).
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Agent-Reach
Give your AI agent eyes to see the entire internet. Read & search Twitter,...