Конфигурация
Параметры подключения задаются переменными окружения в конфигурации MCP-клиента. Переменные читаются при старте процесса (Program.cs); учётная запись администратора читается при первом обращении к админскому API (PilotConnection.cs).
Переменные окружения
| Переменная | Описание | Обязательная |
|---|---|---|
PILOT_SERVER_URL |
URL сервера, например http://localhost:5545/u_db_name |
да |
PILOT_LOGIN |
Логин пользователя | да |
PILOT_PASSWORD |
Пароль пользователя | да |
PILOT_DATABASE |
Имя базы данных; если пусто, берётся из URL | нет |
PILOT_LICENSE_TYPE |
Код лицензии, по умолчанию 100 |
нет |
PILOT_READONLY |
Режим только чтения: true (без учёта регистра) или 1 |
нет |
PILOT_ADMIN_LOGIN |
Логин администратора сервера для инструментов администрирования | нет |
PILOT_ADMIN_PASSWORD |
Пароль администратора сервера | нет |
Подключение
- Автоподключение при старте выполняется, только если заданы все три переменные:
PILOT_SERVER_URL,PILOT_LOGIN,PILOT_PASSWORD. Иначе сервер запускается без подключения, а инструменты сообщают, что подключения нет. PILOT_DATABASE: если задано и в URL нет пути, имя базы дописывается к URL; заданное имя базы используется при авторизации вместо имени из URL.PILOT_LICENSE_TYPE: пустое значение означает100. Значение разбирается как целое число; нечисловое значение даёт код0.- Сбой автоподключения не останавливает сервер: ошибка пишется в stderr, при следующем вызове инструмента подключение повторяется по тем же переменным окружения.
Режим только чтения
PILOT_READONLY принимает только true (в любом регистре) или 1; любое другое значение оставляет запись включённой.
В режиме только чтения:
- при инициализации сервер передаёт модели инструкцию, что запись заблокирована, и просит сообщить об этом пользователю;
- каждый инструмент записи возвращает ошибку «РЕЖИМ ТОЛЬКО ЧТЕНИЯ АКТИВЕН» и ничего не выполняет.
Какие инструменты блокируются, видно в справочнике по столбцу «Тип» (запись). Этот список генерируется по коду и сверяется со списком заблокированных инструментов в README проекта.
Учётная запись администратора
Инструменты управления пользователями и оргструктурой, метаданными (типы, атрибуты, состояния, машины состояний) и автоматизациями (создание, изменение, удаление, проверка скрипта), а также UpdatePerson и ChangeSettings работают через админский API сервера, как Pilot-myAdmin. Им нужна учётная запись администратора сервера.
- Админское подключение создаётся лениво, при первом вызове такого инструмента: отдельный клиент и вход через
LoginServerAdministrator. - Если
PILOT_ADMIN_LOGINзадан, используютсяPILOT_ADMIN_LOGINиPILOT_ADMIN_PASSWORD. - Если
PILOT_ADMIN_LOGINпуст или не задан, используются основные логин и пароль. Это работает, если основной пользователь является администратором сервера. - URL сервера для админского подключения берётся из основного подключения.
- При обрыве админского подключения оно сбрасывается, следующий вызов подключится заново, а сам прерванный вызов не повторяется (см. Архитектура).
Коды лицензий
Код лицензии передаётся серверу при входе. Таблица кодов в проекте не ведётся; по умолчанию используется 100, в примере конфигурации в README указан 103. Актуальные коды берите из документации Pilot.
Файлы на диске
Сервер пишет во временную папку %TEMP%\pilot-mcp:
- файлы результатов
*.jsonl(удаляются при старте, если старше 24 часов); - скачанные документы и PNG страниц документов;
- журнал вызовов инструментов
tools.log.