gti-1c-mcp
This is an MCP server for 1C:BIT / BIT.STROITELSTVO. It provides:
Knowledge Base: list_instructions (73 instructions), search_instructions, get_instruction, semantic_search_instructions, list_instructions_by_topic, get_instruction_access_requirements.
Access Profiles & RBAC: suggest_access_profile (two-step clarification), get_roles_matrix, validate_roles, get_approval_level, explain_profile, search_by_role, get_profiles_by_function, get_access_wizard.
Job-to-Profile Mapping: suggest_profile_by_job (based on 417 anonymized jobs), list_jobs.
Live 1C Integration: onec_health, list_1c_users, get_1c_access_groups, execute_1c_query, get_1c_metadata, get_1c_documents.
Additional: get_user_access_journey for end-to-end access review.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gti-1c-mcp suggest access profile for a new warehouse manager"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gti-1c-mcp
MCP-сервер (Model Context Protocol) для 1С:БИТ / БИТ.СТРОИТЕЛЬСТВО.
Три независимых блока:
База знаний инструкций — полнотекстовый поиск и выдача 73 инструкций пользователя 1С.БИТ
Профили доступа RBAC — keyword-подбор профиля группы доступа, матрица ролей, валидация, уровень согласования
Маппинг должность → профили — типовые профили доступа по должности на основе реальных обезличенных данных (417 должностей)
Не содержит LLM-зависимостей и логики провижининга заявок — это отдельный сервис.
Репозитории
Платформа | URL |
GitHub | |
GitLab |
Related MCP server: INFATON MCP35
Инструменты (22)
База знаний
Инструмент | Назначение |
| Список всех инструкций (фильтры по коду/ключевому слову) |
| Keyword-поиск (scoring по TF + позиции) |
| Полный текст по id или коду (ИП-301, ИП-403 и т.д.) |
| Семантический поиск (TF-IDF + cosine similarity, офлайн) |
| Инструкции по тематическому разделу |
Профили доступа
Инструмент | Назначение |
| Keyword-подбор профиля группы доступа (режим |
| Полная матрица ролей RBAC (с фильтрами) |
| Проверка корректности набора ролей |
| Уровень согласования по набору ролей |
| Объяснение профиля на языке бизнеса: что делает, какие разделы, какое согласование |
| Поиск профиля по роли 1С (для администраторов) |
| Профили доступа, покрывающие указанную бизнес-функцию RBAC |
Маппинг должность → профили (обезличенные данные)
Инструмент | Назначение |
| Типовые профили доступа по названию должности (417 должностей, нечёткий поиск) |
| Список всех должностей из базы данных с фильтром по подстроке |
Новые инструменты — управление доступом (v2.1)
Инструмент | Назначение |
| [Идея 2] Какие профили и роли нужны для выполнения действий из конкретной инструкции. Отвечает: «Почему сотрудник не может это сделать?» |
| [Идея 1] Интерактивный мастер подбора прав. Шаг 1: вопросы для уточнения контекста. Шаг 2: список профилей + готовый текст заявки на доступ |
| [Идея 3] Полная цепочка «Должность → Профили → Бизнес-функции → Роли → Согласование → Инструкции». Для HR и руководителей |
Примеры использования новых инструментов
get_user_access_journey — «Что получит кладовщик в 1С?»
Пользователь: "Что видит кладовщик в 1С?"
Агент: get_user_access_journey(job_title="кладовщик")
Результат:
journey_for: "Кладовщик"
total_persons_in_db: 36
summary:
what_employee_will_see_in_1c: [складские документы, заявки на МПЗ, ...]
overall_approval_level: "accounting"
overall_approvers: ["Линейный руководитель", "Главный бухгалтер"]
access_chain: [8 профилей с % охвата по реальным данным]
relevant_instructions: [5 релевантных инструкций]get_access_wizard — «Оформить заявку на доступ»
Шаг 1 — получить вопросы:
get_access_wizard(employee_description="новый кладовщик склад ТМЦ")
→ status: NEED_CLARIFICATION, questions: [5 уточняющих вопросов]
Шаг 2 — передать ответы:
get_access_wizard(
employee_description="новый кладовщик склад ТМЦ",
answers=["Кладовщик", "Склад №3", "Нет", "Нет", "Да, приём и отпуск ТМЦ"]
)
→ status: OK
→ recommended_profiles: [...] с объяснением что сможет делать сотрудник
→ ready_to_use_request_text: готовый текст заявки на доступget_instruction_access_requirements — «Почему сотрудник не может создать заявку РДС?»
Пользователь: "Иванов не может создать заявку на расходование ДС"
Агент: get_instruction_access_requirements(instruction_id="wiki-kazn-zayavka-rds.md")
Результат:
required_profiles: [БИТ.Исполнитель казначейства, БИТ.Казначей, ...]
approval_level: "accounting"
approvers_required: ["Линейный руководитель", "Главный бухгалтер"]
if_access_denied_hint: "Используйте get_user_access_journey для проверки..."Установка и подключение
Сервер поддерживает два режима работы:
Режим | Транспорт | Когда использовать |
stdio (рекомендуется) | stdin/stdout | Локально в IDE — IDE сама запускает и останавливает процесс |
HTTP | HTTP/SSE | Корпоративный сервер — один экземпляр для всей команды |
Режим stdio — запуск через IDE (рекомендуется)
Требования
Node.js 18+ — скачать
Больше ничего не нужно. IDE сама запускает сервер при открытии и останавливает при закрытии. Никаких daemon-процессов, открытых портов и ручных перезапусков.
OpenCode
Добавить в ~/.config/opencode/opencode.json:
{
"mcp": {
"gti-1c": {
"type": "local",
"command": ["npx", "-y", "gti-1c-mcp"],
"enabled": true
}
}
}Готово. После сохранения файла перезапустите OpenCode.
Claude Desktop
Файл конфигурации: %APPDATA%\Claude\claude_desktop_config.json (Windows) или ~/Library/Application Support/Claude/claude_desktop_config.json (macOS).
{
"mcpServers": {
"gti-1c": {
"command": "npx",
"args": ["-y", "gti-1c-mcp"]
}
}
}Cursor
Файл .cursor/mcp.json в корне проекта или ~/.cursor/mcp.json глобально:
{
"mcpServers": {
"gti-1c": {
"command": "npx",
"args": ["-y", "gti-1c-mcp"]
}
}
}Continue.dev
В файле ~/.continue/config.json:
{
"mcpServers": [
{
"name": "gti-1c",
"command": "npx",
"args": ["-y", "gti-1c-mcp"]
}
]
}Передача переменных окружения (1С-подключение)
Если нужно подключить живую базу 1С, передайте переменные через env:
OpenCode:
{
"mcp": {
"gti-1c": {
"type": "local",
"command": ["npx", "-y", "gti-1c-mcp"],
"enabled": true,
"environment": {
"ONEC_URL": "http://ваш-сервер/база",
"ONEC_USERNAME": "технический_пользователь",
"ONEC_PASSWORD": "пароль"
}
}
}
}Claude Desktop / Cursor:
{
"mcpServers": {
"gti-1c": {
"command": "npx",
"args": ["-y", "gti-1c-mcp"],
"env": {
"ONEC_URL": "http://ваш-сервер/база",
"ONEC_USERNAME": "технический_пользователь",
"ONEC_PASSWORD": "пароль"
}
}
}
}Режим HTTP — корпоративный сервер
Используйте если один экземпляр сервера обслуживает несколько пользователей.
Требования
Node.js 18+ или Docker
Git
Вариант A — локальный запуск (Node.js)
git clone https://github.com/RomanSaranindev/gti-1c-mcp.git
cd gti-1c-mcp
npm install
cp .env.example .env
# Отредактировать .env — задать MCP_API_TOKEN
npm startПроверить:
curl http://localhost:3031/healthВариант B — Docker
git clone https://github.com/RomanSaranindev/gti-1c-mcp.git
cd gti-1c-mcp
cp .env.example .env
# Отредактировать .env — задать MCP_API_TOKEN
docker-compose up -dПодключение клиентов к HTTP-серверу
OpenCode:
{
"mcp": {
"gti-1c": {
"type": "remote",
"url": "http://192.168.1.100:3031/mcp",
"headers": { "X-MCP-Token": "ВАШ_ТОКЕН" },
"enabled": true
}
}
}Claude Desktop / Cursor:
{
"mcpServers": {
"gti-1c": {
"url": "http://192.168.1.100:3031/mcp",
"headers": { "X-MCP-Token": "ВАШ_ТОКЕН" }
}
}
}Открыть порт в брандмауэре (если сервер удалённый):
New-NetFirewallRule -DisplayName "gti-1c-mcp" -Direction Inbound -Protocol TCP -LocalPort 3031 -Action AllowПеременные окружения
Переменная | По умолчанию | Назначение |
|
| Порт HTTP-сервера |
|
| Токен авторизации (смените!) |
|
| Путь к папке с .md-инструкциями |
Структура
gti-1c-mcp/
├── src/
│ ├── server.js # HTTP + MCP (12 инструментов)
│ ├── knowledge_base.js # загрузка/поиск/выдача инструкций + fs.watch автоперезагрузка
│ ├── rbac_matrix.js # матрица RBAC и профили доступа (122 профиля)
│ ├── job_profiles.js # маппинг должность → профили (417 должностей, обезличенные данные)
│ └── vector_search.js # TF-IDF + cosine similarity семантический поиск (офлайн)
├── knowledge/
│ └── instructions/ # 73 инструкции пользователя 1С.БИТ (.md)
├── .env.example
├── Dockerfile
├── docker-compose.yml
└── package.jsonБезопасность
Смените
MCP_API_TOKENперед публичным деплоем.Эндпоинты
/healthи/доступны без токена, все остальные — нет.Не публикуйте
.envфайл в репозиторий (он добавлен в.gitignore).
Available Tools
18 toolsexecute_1c_queryA
Выполняет произвольный запрос к данным 1С через расширение. Агент может запросить данные из любого справочника, регистра или документа БИТ.ФИНАНС — например, сотрудников, ТМЦ, договоры, путевые листы. ВАЖНО: запросы только на чтение (SELECT), изменение данных не поддерживается. Требует настроенного подключения к 1С.
Inputs: query_text (required), limit, params.
explain_profileA
Объясняет профиль доступа 1С на языке бизнеса: что сотрудник сможет делать, какие разделы программы будут доступны, какое согласование требуется. Принимает id или название профиля.
Inputs: profile_id (required).
get_1c_access_groupsA
Получает группы доступа из рабочей базы 1С и назначенных пользователей. Позволяет узнать реальные роли конкретного сотрудника или все группы в системе. Требует настроенного подключения к 1С.
Inputs: group_name, user_login, include_roles.
get_1c_documentsA
Получает документы из рабочей базы 1С:БИТ.ФИНАНС — путевые листы, платёжные поручения, заявки на оплату, расходные ордера на ГСМ и т.д. Поддерживает фильтрацию по типу документа, периоду, статусу, контрагенту. Требует настроенного подключения к 1С.
Inputs: document_type (required), limit, status, date_to, +2 more.
get_1c_metadataA
Возвращает метаданные конфигурации 1С: список объектов (справочники, документы, регистры и т.д.) с их реквизитами. Используйте перед execute_1c_query чтобы узнать правильные имена таблиц и полей. Требует настроенного подключения к 1С.
Inputs: object_name, object_type, include_attributes.
get_approval_levelA
Определяет уровень согласования для набора ролей: standard (руководитель), accounting (+главбух), transport (+нач. АТ), transport_accounting (+оба).
Inputs: roles (required).
get_instructionA
Возвращает полный текст инструкции пользователя 1С.БИТ по id (из list_instructions/search_instructions) или по коду (ИП-301, ИП-403 и т.д.).
Inputs: id (required), max_chars.
get_roles_matrixA
Возвращает полную матрицу ролей RBAC для 1С:БИТ.ФИНАНС. Используйте для изучения доступных бизнес-функций и их маппинга на роли 1С.
Inputs: search_keyword, filter_requires_transport, filter_requires_accounting.
list_1c_usersA
Получает список пользователей из рабочей базы 1С. Возвращает ФИО, логин, должность, подразделение, группы доступа. Требует настроенного подключения к 1С (ONEC_URL, ONEC_USERNAME, ONEC_PASSWORD в .env).
Inputs: limit, search, department, include_inactive.
list_instructionsB
Возвращает список инструкций пользователя 1С.БИТ, загруженных в базу знаний MCP сервера. Каждая инструкция имеет id, код (ИП-XXX), название и источник.
Inputs: filter_code, filter_keyword.
list_jobsA
Возвращает список должностей из базы данных сотрудников (417 должностей). Поддерживает фильтрацию по подстроке. Помогает найти точное название должности перед вызовом suggest_profile_by_job.
Inputs: limit, filter.
onec_healthA
Проверяет доступность HTTP-сервиса рабочей базы 1С. Показывает статус подключения, конфигурацию и список инструментов, которые расширение предоставляет агенту. Вызывайте первым при любой работе с живой базой 1С.
Inputs: no named parameters.
search_by_roleA
Находит профили доступа и бизнес-функции 1С по конкретному названию роли (например 'бит_ИсполнительКазначейства'). Полезно для администраторов 1С, которые видят роль в базе и хотят понять к какому профилю она относится.
Inputs: role_name (required).
search_instructionsA
Ищет инструкции пользователя 1С.БИТ по ключевым словам (полнотекстовый поиск по базе знаний). Возвращает релевантные инструкции с оценкой соответствия. Используйте для ответа на вопросы 'как сформировать...', 'где найти...', 'как заполнить...' в 1С.БИТ.
Inputs: query (required), limit.
semantic_search_instructionsA
Семантический поиск по инструкциям 1С.БИТ на основе TF-IDF + косинусного сходства. Понимает смысловые запросы лучше, чем keyword-поиск: находит документы по близким понятиям. Например: 'как оформить расход топлива' найдёт инструкции по заправке и ведомостям ГСМ.
Inputs: query (required), limit, min_score.
suggest_access_profileA
Подбирает профиль(и) группы доступа 1С:БИТ.ФИНАНС по описанию задач сотрудника (без LLM, по ключевым словам). Режим 'single' — один лучший профиль. Режим 'multi' — все подходящие профили (для должностей с несколькими профилями, например кладовщик).
ДВУХШАГОВЫЙ ПРОТОКОЛ УТОЧНЕНИЯ:
ШАГ 1: Вызовите инструмент БЕЗ параметра answers. Сервер вернёт { status: 'NEED_CLARIFICATION', questions: [...] } — 5 адаптивных вопросов, подобранных под должность/задачи сотрудника. Задайте эти вопросы пользователю последовательно и соберите ответы.
ШАГ 2: Вызовите инструмент повторно с параметром answers — массивом строк (ответы в том же порядке, что и вопросы из шага 1). Сервер обогатит запрос ответами и вернёт подобранные профили.
ВАЖНО: Никогда не пропускайте шаг 1. Не передавайте answers при первом вызове.
Inputs: request_text (required), mode, answers.
suggest_profile_by_jobA
Подбирает типовые профили доступа 1С по названию должности сотрудника. Использует реальные обезличенные данные из базы сотрудников (417 должностей). Возвращает профили, которые встречаются у >= 40% сотрудников данной должности, с указанием % охвата и количества сотрудников. Поддерживает нечёткий поиск по подстроке названия должности.
Inputs: job_title (required), limit, min_pct.
validate_rolesA
Проверяет корректность набора ролей 1С: какие роли существуют в матрице, какие не найдены, и рекомендует обязательные роли.
Inputs: roles (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 18 tools
Most tools have clearly distinct purposes, but there is overlap between keyword and semantic search, and between suggest_access_profile and suggest_profile_by_job. Descriptions help an agent differentiate them, though occasional ambiguity remains.
Naming mixes verb_noun (list_instructions), verb_by_noun (search_by_role), and non-verb forms (onec_health). The inconsistency is readable but not predictable, making it harder to guess tool names.
18 tools is on the heavier side but justified by the server's three subdomains: instructions, RBAC profiles, and live 1C queries. Each tool has a specific role, though the count slightly exceeds the ideal range.
The tool surface covers the full read-only workflow: listing, searching, retrieving, explaining, validating, and checking health. Minor gaps exist such as no write/update capabilities, but for the apparent advisory purpose, coverage is solid.
Related MCP Connectors
MCP server for Support & Service Management
MCP server for Russian books search, details, and recommendation candidates.
MCP gateway and company brain: 731 connectors (SAP, ERP, SQL), file search, memory and skills.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP server for 1C:Enterprise that provides AI assistants with access to configuration data via vector search, structural indexing, and call graphs. It enables semantic code queries and rapid metadata object lookups without requiring the direct reading of raw files.79AGPL 3.0

INFATON MCP35official
AlicenseBqualityBmaintenanceMCP server for 1C:Enterprise ERP with 35 tools: metadata inspection, document CRUD, register queries, and BSP integration. First MCP server for Russian ERP systems (300,000+ organizations). JSON-RPC 2.0 compliant BSL implementation.5147MIT- FlicenseNot gradedqualityBmaintenanceMCP server for searching and analyzing 1C enterprise metadata and BSL code using a SQLite backend. Enables querying configuration structure, code routines, and performing compliance checks via natural language.-
- AlicenseNot gradedqualityDmaintenanceMCP server for RAG-based search over 1C Enterprise configuration documentation, enabling natural language queries to find objects like справочники, документы, and отчеты.MIT