BSL Atlas
Integrates with Ollama to provide semantic code search and context-aware retrieval by using it as a backend for generating embeddings of 1C: Enterprise source code.
Click on "Install 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., "@BSL Atlasfind where the document posting logic is implemented"
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.
BSL Atlas
Публичный MCP-сервер для быстрой индексации и поиска по исходникам 1С. Работает с XML/BSL-выгрузкой конфигурации или расширения и отдает структурный и, при необходимости, семантический поиск для AI-ассистентов.
Что умеет
искать функции, процедуры и модули через SQLite/FTS
искать объекты метаданных, реквизиты и связи
строить контекст по вызовам и структуре модулей
работать в
fastрежиме без внешних embedding APIпереиндексировать проект после новой выгрузки
Related MCP server: onec-meta-mcp
Режимы
Режим | Что дает | Что нужно |
| быстрый структурный поиск | Docker и выгруженные исходники 1С |
| структурный + семантический поиск | Docker, исходники и embedding backend/API key |
fast — основной и рекомендуемый стартовый режим.
Важно: mount исходников обязателен
Если вы запускаете bsl-atlas в Docker, контейнер обязан видеть реальные исходники проекта через bind mount SOURCE_PATH -> /data/source.
SOURCE_PATHнужен для индексации файловесли bind mount настроен неверно,
/data/sourceвнутри контейнера может существовать, но будет пустымв этом случае Atlas честно сообщит, что каталог исходников пустой
Это отдельная тема от RLM: Atlas читает файлы проекта напрямую, поэтому без source mount индексировать нечего.
Быстрый старт
1. Выгрузите исходники 1С
В конфигураторе используйте Конфигурация -> Выгрузить конфигурацию в файлы и укажите пустой каталог.
2. Скачайте конфиги
curl -O https://raw.githubusercontent.com/Arman-Kudaibergenov/bsl-atlas/master/docker-compose.yml
curl -O https://raw.githubusercontent.com/Arman-Kudaibergenov/bsl-atlas/master/.env.example
cp .env.example .env3. Заполните .env
SOURCE_PATH=C:\bsl-src
INDEXING_MODE=fastДля full режима дополнительно укажите embedding provider и нужные ключи.
4. Запустите контейнер
docker compose up -d5. Подключите MCP в Claude
Добавьте в claude_desktop_config.json или в .mcp.json проекта:
{
"mcpServers": {
"bsl-atlas": {
"type": "http",
"url": "http://localhost:8000/mcp"
}
}
}Windows: что важно
Docker Desktop на Windows часто ломается на путях с пробелами или кириллицей. Если реальный путь выглядит как C:\1С\Выгрузки\МояКонфигурация, лучше сначала сделать ASCII-алиас.
cmd /c mklink /D C:\bsl-src "C:\1С\Выгрузки\МояКонфигурация"После этого в .env используйте:
SOURCE_PATH=C:\bsl-srcЕсли Atlas пишет, что SOURCE_PATH пустой, проблема почти всегда в bind mount, а не в самом приложении.
Поддерживаемые структуры
Каталог исходников может выглядеть так:
SOURCE_PATH/
cf/
Catalogs/
Documents/
CommonModules/или так:
SOURCE_PATH/
Catalogs/
Documents/
CommonModules/или так:
SOURCE_PATH/
cfe/
MyExtension/
Catalogs/
CommonModules/Основные инструменты
search_function(name)— найти функцию или процедуру по имениget_module_functions(path)— список функций модуляget_function_context(name)— контекст вызововmetadatasearch(query)— поиск по объектам метаданныхget_object_details(full_name)— структура объектаcodesearch(query)— семантический поиск вfullрежимеhelpsearch(query)— поиск по help/knowledge слою вfullрежимеreindex(force_chromadb)— переиндексация после измененийstats()— статистика индекса
Переиндексация
После новой выгрузки исходников:
curl -X POST http://localhost:8000/reindexEmbedding defaults
рекомендуемое семейство:
qwen3-embedding-8bOpenRouter:
qwen/qwen3-embedding-8bOllama:
qwen3-embedding:8b
LLM-стикеры функций
Стикер — короткое русское описание назначения BSL-функции: что она делает,
что возвращает и какой имеет побочный эффект. Он помогает найти функцию по
смыслу, когда точное имя неизвестно. Стикеры хранятся в
symbols.doc_generated и добавляются к карточке функции при следующей
векторной индексации.
Генерировать стикеры стоит только для функций без хорошего //-комментария:
экспортных методов, обработчиков, точек входа и центральных узлов графа.
Формы и очевидные вспомогательные функции обычно не окупают стоимость генерации.
Пример генерации через Claude Haiku
Актуальный закреплённый ID модели — claude-haiku-4-5-20251001.
import json
import os
from anthropic import Anthropic
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
function = {
"id": 42,
"name": "ОбработкаПроведения",
"module": "Документы/ЗаказКлиента/Ext/ObjectModule.bsl",
"signature": "Процедура ОбработкаПроведения(Отказ, РежимПроведения)",
"body": "Движения.Взаиморасчеты.Записать();",
}
response = client.messages.create(
model="claude-haiku-4-5-20251001",
temperature=0,
max_tokens=200,
system=(
"Создай один русский стикер для поиска по BSL-коду. "
"Укажи назначение, возвращаемое значение и побочный эффект, если они видны. "
"Не выдумывай объекты и бизнес-смысл. Не более 160 символов. "
"Верни только JSON: {\"id\": число, \"description\": \"текст\"}."
),
messages=[{
"role": "user",
"content": json.dumps(function, ensure_ascii=False),
}],
)
print(response.content[0].text)Ожидаемый результат:
{"id": 42, "description": "Проводит заказ клиента и записывает движения по взаиморасчётам."}Для массовой генерации используйте Anthropic Message Batches: пакетный API
дешевле обычных синхронных запросов. Сохраняйте результат как JSON
{symbol_id: description}:
{"42": "Проводит заказ клиента и записывает движения по взаиморасчётам."}Импорт:
python scripts/import_generated_docs.py descriptions.json --db data/bsl_index.dbПосле импорта выполните reindex_changed, чтобы обновить векторы затронутых
модулей. Скрипт не принимает и не хранит токены LLM.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityFmaintenanceAn MCP server that transforms codebases into intelligent, queryable knowledge bases, enabling AI assistants to perform semantic search, explore architecture, and analyze code relationships.Last updated165
- Flicense-qualityCmaintenanceMCP 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.Last updated
- AlicenseBqualityCmaintenanceLightweight MCP server for 1C.ai integration, enabling queries, code analysis, and documentation search via natural language.Last updated82AGPL 3.0
- Alicense-qualityDmaintenanceMCP server for semantic code search and dependency graph analysis. Indexes codebases into a knowledge graph with vector embeddings for AI-powered code understanding.Last updated17MIT
Related MCP Connectors
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
An MCP server that gives your AI access to the source code and docs of all public github repos
GibsonAI MCP server: manage your databases with natural language
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Arman-Kudaibergenov/bsl-atlas'
If you have feedback or need assistance with the MCP directory API, please join our Discord server