Skip to main content
Glama
Auxior

archery-mcp-2fa

by Auxior

Archery MCP 2FA

Постоянный патч, добавляющий поддержку двухфакторной аутентификации (2FA) Archery TOTP для @seaxlab/archery-mcp.

Этот проект не подключается напрямую к базе данных и не обходит механизмы прав доступа, десенсибилизации, ограничения частоты запросов или аудита Archery. Он лишь расширяет процесс входа, позволяя учётным записям Archery с включённым TOTP проходить аутентификацию через MCP-сервис.

Текущий патч применим только к @seaxlab/archery-mcp@3.0.2. Перед обновлением вышестоящей зависимости убедитесь, что патч по-прежнему совместим, и заново сгенерируйте файл патча.

Возможности

  • Автоматический вход при запуске с использованием учётной записи и пароля Archery из конфигурации.

  • При обнаружении запроса TOTP — интерактивный запрос 6-значного кода в терминале.

  • При отсутствии интерактивного терминала — предоставление MCP-инструментов для завершения аутентификации.

  • Повторное использование одной и той же сессии Archery после успешной аутентификации.

  • Код TOTP используется только для текущего запроса и не записывается в файл конфигурации или кэш метаданных.

  • Автоматическое применение патча после установки зависимостей с помощью patch-package.

Related MCP server: auth-vault

Требования к окружению

  • Node.js 24 или новее.

  • npm 10 или новее.

  • Доступный сервис Archery; вышестоящий пакет указывает поддержку Archery v1.8.5.

  • Учётная запись Archery с включённым TOTP или обычная учётная запись с паролем.

Быстрый старт

1. Получение проекта и установка зависимостей

git clone <repository-url>
cd archery-mcp-2fa
npm ci

После завершения npm ci скрипт postinstall автоматически применит патч 2FA из patches/.

2. Подготовка файла конфигурации

Можно создать конфигурацию на основе примера, предоставляемого вышестоящим пакетом:

mkdir -p ~/.config/archery-mcp
cp node_modules/@seaxlab/archery-mcp/config.example.toml \
  ~/.config/archery-mcp/pro.toml
chmod 600 ~/.config/archery-mcp/pro.toml

Отредактируйте ~/.config/archery-mcp/pro.toml, заполнив как минимум следующее:

env = "pro"

[server]
host = "127.0.0.1"
port = 3000

[archery]
base_url = "https://archery.example.com"
username = "mcp_service"
password = "replace-with-a-strong-password"

[query]
default_limit = 100
max_limit = 500

[cache]
enabled = true
ttl_seconds = 604800
exclude_instance_names = []
exclude_instance_ids = []

Файл конфигурации содержит пароль в открытом виде — всегда ограничивайте права доступа к файлу и не коммитьте реальную конфигурацию в репозиторий.

Полное описание параметров конфигурации см. в node_modules/@seaxlab/archery-mcp/README.md и config.example.toml после установки вышестоящего проекта.

3. Запуск сервиса

Укажите файл конфигурации через аргумент командной строки:

npm start -- --config ~/.config/archery-mcp/pro.toml

Также можно использовать переменные окружения:

ARCHERY_MCP_CONFIG=~/.config/archery-mcp/pro.toml npm start

Адрес MCP по умолчанию:

http://127.0.0.1:3000/mcp

Адрес проверки работоспособности:

http://127.0.0.1:3000/health

Процесс аутентификации TOTP

Интерактивный терминал

Если у учётной записи включён TOTP, при запуске терминал выведет запрос:

archery-mcp [env=pro] Archery requires TOTP authentication
请输入当前 6 位 TOTP 验证码:

Введите код, отображаемый в текущий момент в приложении-аутентификаторе. После успешной аутентификации сервис начнёт прослушивать порт:

archery-mcp [env=pro] TOTP authentication succeeded
archery-mcp [env=pro] listening on http://127.0.0.1:3000/mcp

При неверном коде можно сразу повторить попытку. После истечения сессии Archery или перезапуска процесса потребуется повторная аутентификация.

Без интерактивного терминала

Когда сервис запускается контейнером, фоновой задачей или менеджером процессов и интерактивный терминал отсутствует, сервис всё равно запускается и регистрирует следующие MCP-инструменты:

Инструмент

Описание

archery_auth_status

Инициировать вход или просмотреть статус входа и 2FA-аутентификации текущей учётной записи

archery_submit_otp

Отправить текущий 6-значный код TOTP и завершить вход

Шаги аутентификации:

  1. Вызовите archery_auth_status.

  2. Если возвращено two_factor_required: true, запросите у пользователя 6-значный код, отображаемый в текущий момент в аутентификаторе.

  3. Вызовите archery_submit_otp с параметром { "otp": "123456" }.

  4. Убедившись, что возвращено authenticated: true, вызывайте инструменты запросов или SQL-аудита.

За исключением двух указанных выше инструментов аутентификации, остальные MCP-инструменты идентичны вышестоящему @seaxlab/archery-mcp.

Конфигурация MCP-клиента

Подключитесь с помощью MCP-клиента, поддерживающего Streamable HTTP:

{
  "mcpServers": {
    "archery": {
      "type": "streamable-http",
      "url": "http://127.0.0.1:3000/mcp"
    }
  }
}

Codex можно настроить в ~/.codex/config.toml:

[mcp_servers.archery]
url = "http://127.0.0.1:3000/mcp"

Claude Code можно добавить через командную строку:

claude mcp add --transport http archery http://127.0.0.1:3000/mcp

Структура проекта

.
├── patches/
│   └── @seaxlab+archery-mcp+3.0.2.patch  # TOTP 支持补丁
├── package.json                           # 依赖和启动脚本
├── package-lock.json                      # 锁定依赖版本
└── README.md

Часто используемые команды

Команда

Описание

npm ci

Установить зависимости по lock-файлу и автоматически применить патч

npm install

Установить или обновить зависимости и автоматически применить патч

npm start -- --config <path>

Запустить сервис с указанной TOML-конфигурацией

npx patch-package @seaxlab/archery-mcp

Заново сгенерировать патч после изменения зависимостей

Не запускайте сервис напрямую через npx -y @seaxlab/archery-mcp@3.0.2 — в этом случае будет запущен официальный npm-пакет без патча 2FA из этого проекта.

Замечания по безопасности

  • По умолчанию сервис прослушивает только 127.0.0.1. HTTP-эндпоинт MCP сам по себе не имеет аутентификации и не должен быть напрямую доступен из публичной сети.

  • Для доступа с других машин добавьте на уровне обратного прокси TLS, аутентификацию доступа и контроль сетевого доступа.

  • Пароль Archery хранится в TOML-конфигурации — установите chmod 600 и используйте выделенную служебную учётную запись с минимальными правами.

  • Не коммитьте реальные пароли, коды TOTP, сессионные cookie, внутренние адреса Archery или производственные конфигурации в репозиторий, Issue или журналы.

  • Код TOTP передаётся через MCP-запросы. При использовании удалённого MCP-клиента убедитесь, что канал связи доверенный и зашифрованный.

Совместимость и обслуживание

Патч напрямую воздействует на артефакты сборки вышестоящего пакета, поэтому изменение версии вышестоящего пакета может привести к невозможности применения патча или несовместимости поведения. При обновлении рекомендуется:

  1. Обновить версию @seaxlab/archery-mcp в package.json.

  2. Выполнить npm install и проверить конфликты патча.

  3. Заново реализовать и проверить изменения 2FA в node_modules/@seaxlab/archery-mcp.

  4. Выполнить npx patch-package @seaxlab/archery-mcp для генерации нового патча.

  5. Проверить процесс аутентификации отдельно в интерактивном терминале и без него.

Вклад

Приветствуются Issue и Pull Request. Перед отправкой кода убедитесь, что в нём нет реальных учётных записей, паролей, кодов, cookie, внутренних доменных имён или другой чувствительной информации.

Благодарности и заявление

Этот проект создаёт патч на основе публично выпущенного пакета @seaxlab/archery-mcp и не является официальным проектом Archery или мейнтейнеров вышестоящего пакета. Права на Archery и связанные наименования принадлежат их соответствующим владельцам.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • F
    license
    -
    quality
    D
    maintenance
    An MCP server for OAuth 2.0 authentication supporting Device Code and Client Credentials flows, enabling secure token management for MCP applications.
  • F
    license
    B
    quality
    C
    maintenance
    MCP server for secure credential management, browser-based login automation, and TOTP/2FA auto-solving. Encrypts credentials with AES-256-GCM and automates login flows via Playwright.
    32
    2
  • A
    license
    -
    quality
    C
    maintenance
    A simple PHP MCP server that auto-discovers tool classes via reflection and authenticates requests via static bearer token or rotating TOTP codes.
    1
    MIT
  • F
    license
    -
    quality
    B
    maintenance
    An MCP server with HTTP/stdio support, a web admin panel for managing services, capabilities, and user permissions with Bearer token authentication, enabling relay and access control for MCP tools.

View all related MCP servers

Related MCP Connectors

  • An MCP server for Arcjet - the runtime security platform that ships with your AI code.

  • MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2

  • Official remote MCP server for Archivist AI TTRPG campaign memory: characters, sessions, and more.

View all MCP Connectors

Latest Blog Posts

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/Auxior/archery-mcp-2fa'

If you have feedback or need assistance with the MCP directory API, please join our Discord server