archery-mcp-2fa
Archery MCP 2FA
Parche persistente que añade soporte de autenticación de dos factores (2FA) TOTP de Archery para @seaxlab/archery-mcp.
Este proyecto no se conecta directamente a la base de datos ni elude los mecanismos de permisos, enmascaramiento, limitación de tasa o auditoría de Archery. Solo amplía el flujo de inicio de sesión para que las cuentas de Archery con TOTP habilitado también puedan autenticarse a través del servicio MCP.
El parche actual solo se aplica a
@seaxlab/archery-mcp@3.0.2. Antes de actualizar la dependencia ascendente, verifica que el parche siga siendo compatible y regenera el archivo de parche.
Características
Inicia sesión automáticamente al arrancar con la cuenta y contraseña de Archery de la configuración.
Cuando se detecte la verificación TOTP, solicita el código de 6 dígitos en la terminal interactiva.
Cuando no hay terminal interactiva, proporciona herramientas MCP para completar la autenticación.
Reutiliza la misma sesión de Archery después de una autenticación exitosa.
El código TOTP se usa únicamente para la solicitud actual; no se escribe en el archivo de configuración ni en la caché de metadatos.
Usa
patch-packagepara aplicar el parche automáticamente después de instalar las dependencias.
Related MCP server: auth-vault
Requisitos del entorno
Node.js 24 o superior.
npm 10 o superior.
Un servicio Archery accesible; el paquete ascendente indica soporte para Archery
v1.8.5.Una cuenta de Archery con TOTP habilitado, o una contraseña de cuenta normal.
Inicio rápido
1. Obtener el proyecto e instalar las dependencias
git clone <repository-url>
cd archery-mcp-2fa
npm ciCuando npm ci finalice, el script postinstall aplicará automáticamente el parche 2FA en patches/.
2. Preparar el archivo de configuración
Puedes crear la configuración basándote en el ejemplo proporcionado por el paquete ascendente:
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.tomlEdita ~/.config/archery-mcp/pro.toml y completa al menos lo siguiente:
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 = []El archivo de configuración contiene la contraseña en texto plano. Limita siempre los permisos del archivo y no envíes la configuración real al repositorio.
Para la descripción completa de las opciones de configuración, consulta node_modules/@seaxlab/archery-mcp/README.md y config.example.toml del proyecto ascendente después de la instalación.
3. Iniciar el servicio
Especifica el archivo de configuración mediante un argumento de línea de comandos:
npm start -- --config ~/.config/archery-mcp/pro.tomlTambién puedes usar variables de entorno:
ARCHERY_MCP_CONFIG=~/.config/archery-mcp/pro.toml npm startLa dirección MCP predeterminada es:
http://127.0.0.1:3000/mcpLa dirección de verificación de salud es:
http://127.0.0.1:3000/healthFlujo de autenticación TOTP
Terminal interactiva
Si la cuenta tiene TOTP habilitado, la terminal mostrará el siguiente aviso al arrancar:
archery-mcp [env=pro] Archery requires TOTP authentication
请输入当前 6 位 TOTP 验证码:Introduce el código que muestra actualmente el autenticador. Tras una autenticación exitosa, el servicio comienza a escuchar en el puerto:
archery-mcp [env=pro] TOTP authentication succeeded
archery-mcp [env=pro] listening on http://127.0.0.1:3000/mcpSi el código no es válido, puedes reintentarlo directamente. Cuando la sesión de Archery caduque o el proceso se reinicie, será necesario volver a autenticarse.
Sin terminal interactiva
Cuando el servicio se inicia desde un contenedor, una tarea en segundo plano o un administrador de procesos sin terminal interactivo, el servicio sigue arrancando y registra las siguientes herramientas MCP:
工具 | 说明 |
| Inicia el inicio de sesión o consulta el estado de inicio de sesión y autenticación 2FA de la cuenta actual |
| Envía el código TOTP actual de 6 dígitos y completa el inicio de sesión |
Pasos de autenticación:
Llama a
archery_auth_status.Si devuelve
two_factor_required: true, pide al usuario que proporcione el código de 6 dígitos que muestra actualmente el autenticador.Llama a
archery_submit_otpcon el parámetro{ "otp": "123456" }.Después de confirmar que devuelve
authenticated: true, llama a las herramientas de consulta o auditoría SQL.
Aparte de las dos herramientas de autenticación mencionadas, el resto de herramientas MCP se mantienen igual que en el paquete ascendente @seaxlab/archery-mcp.
Configuración del cliente MCP
Conéctate con un cliente MCP compatible con Streamable HTTP:
{
"mcpServers": {
"archery": {
"type": "streamable-http",
"url": "http://127.0.0.1:3000/mcp"
}
}
}Codex se puede configurar en ~/.codex/config.toml:
[mcp_servers.archery]
url = "http://127.0.0.1:3000/mcp"Claude Code se puede agregar mediante la línea de comandos:
claude mcp add --transport http archery http://127.0.0.1:3000/mcpEstructura del proyecto
.
├── patches/
│ └── @seaxlab+archery-mcp+3.0.2.patch # TOTP 支持补丁
├── package.json # 依赖和启动脚本
├── package-lock.json # 锁定依赖版本
└── README.mdComandos habituales
命令 | 说明 |
| Instala las dependencias según el archivo de bloqueo y aplica el parche automáticamente |
| Instala o actualiza las dependencias y aplica el parche automáticamente |
| Inicia el servicio con la configuración TOML especificada |
| Regenera el parche después de modificar las dependencias |
No uses directamente npx -y @seaxlab/archery-mcp@3.0.2 para iniciar, ya que se ejecutaría el paquete npm oficial sin el parche 2FA de este proyecto.
Notas de seguridad
Por defecto solo escucha en
127.0.0.1. El endpoint HTTP de MCP no tiene autenticación por sí mismo y no debe exponerse directamente a Internet.Si necesitas acceso entre máquinas, añade TLS, autenticación de acceso y control de acceso de red en la capa de proxy inverso.
La contraseña de Archery se guarda en la configuración TOML. Establece
chmod 600y utiliza una cuenta de servicio dedicada con privilegios mínimos.No envíes contraseñas reales, códigos TOTP, cookies de sesión, direcciones internas de Archery ni configuraciones de producción a repositorios, issues o registros.
El TOTP se transmite a través de solicitudes MCP. Al usar un cliente MCP remoto, asegúrate de que el canal de comunicación sea confiable y esté cifrado.
Compatibilidad y mantenimiento
El parche actúa directamente sobre los artefactos de compilación del paquete ascendente, por lo que los cambios de versión ascendente pueden hacer que el parche no se aplique o que su comportamiento sea incompatible. Al actualizar, se recomienda:
Actualiza la versión de
@seaxlab/archery-mcpenpackage.json.Ejecuta
npm instally comprueba si hay conflictos con el parche.Reimplementa y verifica las modificaciones 2FA en
node_modules/@seaxlab/archery-mcp.Ejecuta
npx patch-package @seaxlab/archery-mcppara generar el nuevo parche.Verifica el flujo de autenticación tanto en una terminal interactiva como sin terminal interactiva.
Contribuciones
Te invitamos a enviar Issues o Pull Requests. Antes de enviar código, asegúrate de que no incluya cuentas reales, contraseñas, códigos, cookies, dominios internos u otra información sensible.
Agradecimientos y aviso legal
Este proyecto crea un parche basado en el paquete de distribución pública de @seaxlab/archery-mcp; no es un proyecto oficial de Archery ni de los mantenedores del paquete ascendente. Los derechos sobre Archery y los nombres relacionados pertenecen a sus respectivos propietarios.
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