archery-mcp-2fa
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-инструменты:
Инструмент | Описание |
| Инициировать вход или просмотреть статус входа и 2FA-аутентификации текущей учётной записи |
| Отправить текущий 6-значный код TOTP и завершить вход |
Шаги аутентификации:
Вызовите
archery_auth_status.Если возвращено
two_factor_required: true, запросите у пользователя 6-значный код, отображаемый в текущий момент в аутентификаторе.Вызовите
archery_submit_otpс параметром{ "otp": "123456" }.Убедившись, что возвращено
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Часто используемые команды
Команда | Описание |
| Установить зависимости по lock-файлу и автоматически применить патч |
| Установить или обновить зависимости и автоматически применить патч |
| Запустить сервис с указанной TOML-конфигурацией |
| Заново сгенерировать патч после изменения зависимостей |
Не запускайте сервис напрямую через 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-клиента убедитесь, что канал связи доверенный и зашифрованный.
Совместимость и обслуживание
Патч напрямую воздействует на артефакты сборки вышестоящего пакета, поэтому изменение версии вышестоящего пакета может привести к невозможности применения патча или несовместимости поведения. При обновлении рекомендуется:
Обновить версию
@seaxlab/archery-mcpвpackage.json.Выполнить
npm installи проверить конфликты патча.Заново реализовать и проверить изменения 2FA в
node_modules/@seaxlab/archery-mcp.Выполнить
npx patch-package @seaxlab/archery-mcpдля генерации нового патча.Проверить процесс аутентификации отдельно в интерактивном терминале и без него.
Вклад
Приветствуются Issue и Pull Request. Перед отправкой кода убедитесь, что в нём нет реальных учётных записей, паролей, кодов, cookie, внутренних доменных имён или другой чувствительной информации.
Благодарности и заявление
Этот проект создаёт патч на основе публично выпущенного пакета @seaxlab/archery-mcp и не является официальным проектом Archery или мейнтейнеров вышестоящего пакета. Права на Archery и связанные наименования принадлежат их соответствующим владельцам.
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-qualityDmaintenanceAn MCP server for OAuth 2.0 authentication supporting Device Code and Client Credentials flows, enabling secure token management for MCP applications.
- FlicenseBqualityCmaintenanceMCP 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.322
- Alicense-qualityCmaintenanceA simple PHP MCP server that auto-discovers tool classes via reflection and authenticates requests via static bearer token or rotating TOTP codes.1MIT
- Flicense-qualityBmaintenanceAn 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.
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.
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/Auxior/archery-mcp-2fa'
If you have feedback or need assistance with the MCP directory API, please join our Discord server