Enum Class McpSetupKeys

java.lang.Object
java.lang.Enum<McpSetupKeys>
ru.bitel.bgbilling.plugins.mcp.server.bean.enums.McpSetupKeys
All Implemented Interfaces:
Serializable, Comparable<McpSetupKeys>, Constable, ParameterMapKey

public enum McpSetupKeys extends Enum<McpSetupKeys> implements ParameterMapKey
Настройки плагина MCP (план §7.8).

Ключи и значения по умолчанию живут здесь, а не в настройках сервера: конфигурация плагина хранится в таблице plugin_config и приходит в BGPluginServer.getSetup(). Глобальный Setup для этого не годится: настройка должна быть per-plugin.

Три текста у константы разные, и путать их нельзя: getName() — то, что администратор пишет в конфигурации плагина, getTitle() — подпись в панели, getDescription() — текст справки.

  • Enum Constant Details

    • ENABLE

      public static final McpSetupKeys ENABLE

      Включение MCP

      mcp.enable=false

      Общее включение MCP-сервера. Проверяется в каждом запросе, при выключенном сервлет отвечает 503

    • TOKEN_HEADER

      public static final McpSetupKeys TOKEN_HEADER

      Заголовок с токеном

      mcp.token.header=Authorization

      Имя HTTP-заголовка, в котором передаётся API-токен

    • TOKEN_PREFIX

      public static final McpSetupKeys TOKEN_PREFIX

      Префикс значения токена

      mcp.token.prefix=Bearer

      Префикс перед токеном в значении заголовка

    • QUERY_TOKEN_ENABLE

      public static final McpSetupKeys QUERY_TOKEN_ENABLE

      Токен в query

      mcp.query.token.enable=false

      Разрешить передачу токена в параметре ?token=. Запасной вариант для клиентов, не умеющих задавать заголовки. По умолчанию выключено, потому что access-лог пишет query-строку

    • RATE_LIMIT_DEFAULT

      public static final McpSetupKeys RATE_LIMIT_DEFAULT

      Лимит частоты

      mcp.rate.limit.default=60

      Число вызовов в минуту на один токен, 0 — без лимита

    • CALL_MAX_PARALLEL

      public static final McpSetupKeys CALL_MAX_PARALLEL

      Параллельные вызовы

      mcp.call.max.parallel=8

      Число одновременно идущих вызовов на один токен, 0 — без лимита

    • CALL_TIMEOUT

      public static final McpSetupKeys CALL_TIMEOUT

      Таймаут вызова

      mcp.call.timeout=60000

      Таймаут одного вызова инструмента, миллисекунды

    • MAX_BODY_SIZE

      public static final McpSetupKeys MAX_BODY_SIZE

      Размер тела запроса

      mcp.max.body.size=1048576

      Максимальный размер тела запроса, байт. Превышение отклоняется с 413

    • LOG_RETENTION_DAYS

      public static final McpSetupKeys LOG_RETENTION_DAYS

      Хранение журнала вызовов

      mcp.log.retention.days=30

      Срок хранения журнала вызовов, дней

    • ORIGIN_ALLOWED

      public static final McpSetupKeys ORIGIN_ALLOWED

      Разрешённые origin

      mcp.origin.allowed=

      Список разрешённых origin через запятую. Пусто — проверяется только наличие заголовка

    • TOOL_CACHE_TTL

      public static final McpSetupKeys TOOL_CACHE_TTL

      TTL кэша инструментов

      mcp.tool.cache.ttl=300

      Срок жизни кэша пользовательских инструментов, секунды

    • CUSTOM_MODULE_ID

      public static final McpSetupKeys CUSTOM_MODULE_ID

      Модуль для пользовательских инструментов

      mcp.custom.moduleId=0

      Идентификатор модуля для серверного контекста эндпоинта /custom. Пользовательские классы глобальны, модуль из адреса не выводится

    • OUTPUT_MAX_LENGTH

      public static final McpSetupKeys OUTPUT_MAX_LENGTH

      Длина вывода инструмента

      mcp.output.max.length=65536

      Максимальная длина текстового вывода инструмента, символов

  • Method Details

    • values

      public static McpSetupKeys[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static McpSetupKeys valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getName

      public String getName()
      Specified by:
      getName in interface ParameterMapKey
    • getDefaultValue

      public String getDefaultValue()
      Specified by:
      getDefaultValue in interface ParameterMapKey
    • getTitle

      public String getTitle()
      Specified by:
      getTitle in interface ParameterMapKey
    • getDescription

      public String getDescription()
      Specified by:
      getDescription in interface ParameterMapKey