archery-mcp-2fa
Archery MCP 2FA
@seaxlab/archery-mcp に Archery TOTP 二要素認証(2FA)サポートを追加する永続パッチ。
このプロジェクトはデータベースに直接接続せず、Archery の権限、マスキング、レート制限、監査メカニズムを迂回することもありません。ログインフローを拡張して、TOTP を有効にした Archery アカウントでも 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をサポートしています。TOTP が有効な Archery アカウント、または通常のアカウントとパスワード。
クイックスタート
1. プロジェクトを取得して依存関係をインストールする
git clone <repository-url>
cd archery-mcp-2fa
npm cinpm ci が完了すると、postinstall スクリプトが patches/ 内の 2FA パッチを自動的に適用します。
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/healthTOTP 認証フロー
対話型ターミナル
アカウントで 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 監査ツールを呼び出します。
上記の 2 つの認証ツール以外の MCP ツールは、アップストリームの @seaxlab/archery-mcp と同じです。
MCP クライアント設定
Streamable HTTP をサポートする MCP クライアントを使用して接続します:
{
"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よく使うコマンド
コマンド | 説明 |
| ロックファイルに従って依存関係をインストールし、パッチを自動適用します |
| 依存関係をインストールまたは更新し、パッチを自動適用します |
| 指定した TOML 設定でサービスを起動します |
| 依存関係を変更した後にパッチを再生成します |
npx -y @seaxlab/archery-mcp@3.0.2 を直接使用して起動しないでください。実行されるのは、このプロジェクトの 2FA パッチを含まない公式 npm パッケージです。
セキュリティについて
デフォルトでは
127.0.0.1のみをリッスンします。MCP HTTP エンドポイント自体には認証がないため、パブリックネットワークに直接公開しないでください。マシンをまたいでアクセスする場合は、リバースプロキシ層で TLS、アクセス認証、ネットワークアクセス制御を追加してください。
Archery パスワードは TOML 設定に保存されます。
chmod 600を設定し、専用の最小権限サービスアカウントを使用してください。実際のパスワード、TOTP 認証コード、セッション Cookie、内部 Archery アドレス、本番設定をリポジトリ、Issue、ログにコミットしないでください。
TOTP は MCP リクエストを介して渡されます。リモート MCP クライアントを使用する場合は、通信経路が信頼でき、暗号化されていることを確認してください。
互換性とメンテナンス
パッチはアップストリームパッケージのビルド成果物に直接作用するため、アップストリームのバージョンが変わると、パッチが適用できなくなったり、動作が非互換になったりする可能性があります。アップグレード時には以下を推奨します:
package.json内の@seaxlab/archery-mcpのバージョンを更新します。npm installを実行し、パッチの競合を確認します。node_modules/@seaxlab/archery-mcpで 2FA の変更を再実装し、検証します。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