Конфигурация

Параметры подключения задаются переменными окружения в конфигурации 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.