mcpField
Q
qontoctl

qontoctl

ローカル
qontoctl.org開発ツール415 週間前に更新

qontoctl について

qontoctlは、Qontoの銀行APIを自動化するオープンソースのコマンドラインツール、MCPサーバー、ライブラリです。銀行業務、送金、請求書をスクリプトやAIで扱うチームや運用担当者向けです。

主な機能

  1. 01口座と取引の管理
  2. 02送金の作成と管理
  3. 03請求書、見積書、顧客の処理
  4. 04カード、メンバー、Webhookの管理
  5. 05組織ごとの名前付きプロファイル

活用シーン

  1. 01定期的なQonto操作の自動化
  2. 02顧客向け請求書の作成と送信
  3. 03取引と明細書の確認
  4. 04スクリプトによる支払い処理

MCP 対応

ローカルMCPサーバーが、設定済みの認証情報を使ってQonto操作をAIアシスタント向けのツールとして公開します。コマンドラインツールやライブラリと併用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"qontoctl": {
"command": "npx",
"args": [
"-y",
"qontoctl"
],
"env": {
"QONTOCTL_ORGANIZATION_SLUG": "<QONTOCTL_ORGANIZATION_SLUG>",
"QONTOCTL_SECRET_KEY": "<QONTOCTL_SECRET_KEY>"
}
}
}
}
起動コマンドnpx -y qontoctl
設定が必要な環境変数
QONTOCTL_ORGANIZATION_SLUGQonto organization slug
QONTOCTL_SECRET_KEYシークレットQonto API secret key

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmqontoctl3.0.1

ツール

128

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
file_pathstringはいアップロードするファイルの絶対パス

詳細

QontoCtl:Qonto 用の完全な CLI と MCP

CI Codecov npm version npm downloads GitHub Repo stars License

Qonto 銀行 API 用の CLI と MCP サーバーです。

このプロジェクトは Alexey Pelykh によって提供されています。

非公式プロジェクトです。 QontoCtl は独立したプロジェクトであり、Qonto との提携、承認、支援を受けていません。詳しくは免責事項をご覧ください。

できること

QontoCtl を使うと、AI アシスタント(Claude など)が Model Context Protocol を通じて Qonto を操作できます。次のことができます。

  • 組織 — 組織の詳細と設定を取得
  • 口座 — 銀行口座の一覧表示、作成、更新、閉鎖、IBAN 証明書のダウンロード
  • 取引 — 銀行取引の一覧表示、検索、絞り込み、取引の添付ファイルの管理
  • 銀行明細書 — 銀行明細書の一覧表示、閲覧、ダウンロード
  • ラベル — 取引のラベルとカテゴリを管理
  • メンバーシップ — チームメンバーの閲覧、現在のメンバーシップの表示、新しいメンバーの招待
  • SEPA 受取人 — SEPA 受取人の一覧表示、追加、更新、信頼設定と信頼解除
  • SEPA 振込 — 振込の一覧表示、作成、キャンセル、証明書のダウンロード、受取人の確認
  • 内部振込 — 同じ組織内の口座間で振込を作成
  • 一括振込 — SEPA 一括振込の一覧表示、閲覧、作成
  • 定期振込 — 定期振込の一覧表示、閲覧、作成、キャンセル
  • 国際振込(SWIFT) — SWIFT 振込の作成と国際受取人の管理
  • カード — カードの一覧表示、作成、更新、ロックとロック解除、紛失・盗難の報告、破棄
  • チーム — チームの一覧表示と作成
  • Webhook — Webhook サブスクリプションの作成と管理
  • 決済リンク — Stripe を利用した決済リンクの作成、無効化、管理
  • 保険 — 保険契約の表示、作成、更新、書類の管理
  • 端末(POS) — Qonto 端末の一覧表示と端末決済の開始
  • 商品 — 商品カタログの一覧表示
  • クライアント — クライアントの一覧表示、作成、更新、削除
  • クライアント請求書 — ライフサイクル全体:作成、更新、確定、送信、支払済みとして記録、キャンセル、ファイルのアップロード
  • 見積書 — 見積書の作成、更新、削除、送信
  • クレジットノート — クレジットノートの一覧表示と閲覧
  • 仕入先請求書 — 仕入先請求書の一覧表示、閲覧、一括作成
  • リクエスト — 組織のリクエストの一覧表示
  • 添付ファイル — 添付ファイルのアップロードと閲覧
  • 電子請求書 — 電子請求書の設定を取得

QontoCtl と Qonto 公式 MCP

QontoCtl は独立した非公式プロジェクトであり、Qonto との提携や Qonto による推奨は受けていません。

Qonto は独自の公式 MCP サーバーを提供しています。ホスト型で、すべてのプランで無料で利用でき、Claude、ChatGPT、Cursor などからタップひとつでインストールできます。財務について「残高を表示して」「先月の支出をグラフにして」「請求書の下書きを作成して」などと_話しかけたい_場合、優れた、よくできた選択肢です。

QontoCtl は別の用途、つまり Qonto と会話するだけでなく、Qonto を自動化するために作られています。

公式 MCP は、ユーザーとしてログインして利用するホスト型アシスタントです。QontoCtl は、CLI、MCP サーバー、ライブラリを備えたローカルのオープンソースツールキットです。自身の認証情報を使って自分のマシン上で実行でき、ヘッドレスのサービスアカウントとしても利用できます。

公式 MCPQontoCtl
ヘッドレスで実行 — CI、cron、スクリプト、チャット不要対話形式のみ✅ CLI + MCP + ライブラリ
認証OAuth、ユーザーごと✅ API キー(サービスアカウント)または OAuth
SEPA/内部/定期振込を実行承認リクエストを準備✅ 対応、SCA を処理*
API のカバー範囲厳選された一部✅ 包括的
セルフホスト可能 · 自身の認証情報 · オープンソースQonto がホスト✅ AGPL-3.0、ローカルファースト

比較は、2026 年 7 月時点の Qonto 公開 MCP ドキュメントに基づいています。

* 信頼されていない受取人への振込には、当然ながら Strong Customer Authentication による承認が引き続き必要です。QontoCtl は SCA の続行処理を行うため、信頼済みの受取人への振込や自身の口座間の振込といったスクリプト化されたフローは、端末で人が操作しなくても完了します。

QontoCtl は、名前付きプロファイルを使って、1 つのセットアップから複数の Qonto 組織にも対応します。会計士、持株会社、複数の法人の帳簿を管理する人に便利です。

公式 MCP は Qonto と会話します。QontoCtl は Qonto を自動化します。 多くの人は両方を使うでしょう。チャットウィンドウでは公式 MCP、パイプラインでは QontoCtl を利用できます。

前提条件

  • Node.js >= 24
  • API アクセスが可能な Qonto ビジネスアカウント

インストール

npm install -g qontoctl

または npx で直接実行します。

npx qontoctl --help

または Homebrew でインストールします。

brew install qontoctl/tap/qontoctl

クイックスタート

# 1. Install
npm install -g qontoctl

# 2. Create a profile with your Qonto API credentials
qontoctl profile add mycompany

# 3. Test the connection
qontoctl profile test --profile mycompany

# 4. List your accounts
qontoctl account list --profile mycompany

MCP 統合

QontoCtl は Model Context Protocol(MCP)を実装しており、AI アシスタントが自然言語を通じて Qonto アカウントを操作できます。

MCP クライアントの設定
Claude Desktop

Claude Desktop の設定(claude_desktop_config.json)に追加します。

{
    "mcpServers": {
        "qontoctl": {
            "command": "npx",
            "args": ["qontoctl", "mcp"]
        }
    }
}
Claude Code
claude mcp add qontoctl -- npx qontoctl mcp
Cursor

プロジェクトのルートにある .cursor/mcp.json に追加します。

{
    "mcpServers": {
        "qontoctl": {
            "command": "npx",
            "args": ["qontoctl", "mcp"]
        }
    }
}
Windsurf

~/.codeium/windsurf/mcp_config.json に追加します。

{
    "mcpServers": {
        "qontoctl": {
            "command": "npx",
            "args": ["qontoctl", "mcp"]
        }
    }
}
MCP の設定ファイルにデフォルト以外のファイルを指定する

MCP サーバーには CLI フラグがありません。~/.qontoctl.yaml 以外の設定ファイルから認証情報を読み込むには、ホストの env ブロックで QONTOCTL_CONFIG_FILE を設定します。

{
    "mcpServers": {
        "qontoctl": {
            "command": "npx",
            "args": ["qontoctl", "mcp"],
            "env": {
                "QONTOCTL_CONFIG_FILE": "/abs/path/to/qontoctl.yaml",
            },
        },
    },
}

パスはサーバーの起動時に取得されます。解決順序の詳細については、docs/configuration.md を参照してください。

利用可能な MCP ツール
ツール説明
組織
org_show名前、スラッグ、銀行口座など、組織の詳細を表示します
口座
account_list組織のすべての銀行口座を一覧表示します
account_show特定の銀行口座の詳細を表示します
account_iban_certificate銀行口座の IBAN 証明書 PDF をダウンロードします
account_create新しい銀行口座を作成します
account_update既存の銀行口座を更新します
account_close銀行口座を閉鎖します
取引
transaction_list任意のフィルターを指定して、銀行口座の取引を一覧表示します
transaction_show特定の取引の詳細を表示します
transaction_attachment_list取引の添付ファイルを一覧表示します
transaction_attachment_add取引にファイルを添付します
transaction_attachment_remove取引から添付ファイルを削除します
明細書
statement_list任意のフィルターを指定して、銀行明細書を一覧表示します
statement_show特定の銀行明細書の詳細を表示します
ラベル
label_list組織のすべてのラベルを一覧表示します
label_show特定のラベルの詳細を表示します
メンバーシップ
membership_list組織のすべてのメンバーシップを一覧表示します
membership_show現在認証されているユーザーのメンバーシップを表示します
membership_invite新しいメンバーを組織に招待します
SEPA 受取人
beneficiary_list組織の SEPA 受取人を一覧表示します
beneficiary_show特定の SEPA 受取人の詳細を表示します
beneficiary_add新しい SEPA 受取人を作成します
beneficiary_update既存の SEPA 受取人を更新します
beneficiary_trust1 人以上の SEPA 受取人を信頼済みにします
beneficiary_untrust1 人以上の SEPA 受取人を信頼済みから解除します
SEPA 送金
transfer_list任意のフィルターを指定して、SEPA 送金を一覧表示します
transfer_show特定の SEPA 送金の詳細を表示します
transfer_createSEPA 送金を作成します
transfer_cancel保留中の SEPA 送金をキャンセルします
transfer_proofSEPA 送金証明書 PDF をダウンロードします
transfer_verify_payee受取人を確認します(Verification of Payee/VoP)
transfer_bulk_verify_payee複数の受取人を一括確認します(VoP)
内部送金
internal_transfer_create2 つの銀行口座間の内部送金を作成します
一括送金
bulk_transfer_list一括送金を一覧表示します
bulk_transfer_show特定の一括送金の詳細を表示します
bulk_transfer_create一括 SEPA 送金を作成します(bulk_verify_payee を介して VoP を自動解決します)
定期送金
recurring_transfer_list定期送金を一覧表示します
recurring_transfer_show特定の定期送金の詳細を表示します
端末(POS)
terminal_list組織にリンクされた Qonto 端末を一覧表示します
terminal_payment_create端末での支払いを開始します(202 Accepted を返します)
商品
product_list任意のページネーションと並べ替えを指定して、カタログの商品を一覧表示します
クライアント
client_list任意のページネーションを指定して、クライアントを一覧表示します
client_show特定のクライアントの詳細を表示します
client_create新しいクライアントを作成します
client_update既存のクライアントを更新します
client_deleteクライアントを削除します
クライアント請求書
client_invoice_list任意のフィルターを指定して、クライアント請求書を一覧表示します
client_invoice_show特定のクライアント請求書の詳細を表示します
client_invoice_createクライアントと明細項目を含むクライアント請求書の下書きを作成します
client_invoice_updateクライアント請求書の下書きを更新します
client_invoice_deleteクライアント請求書の下書きを削除します
client_invoice_finalizeクライアント請求書を確定します(番号を割り当てます)
client_invoice_sendクライアント請求書をメールでクライアントに送信します
client_invoice_mark_paidクライアント請求書を支払い済みにします
client_invoice_unmark_paidクライアント請求書の支払い済みステータスを解除します
client_invoice_cancel確定済みのクライアント請求書をキャンセルします
client_invoice_uploadクライアント請求書にファイルをアップロードします
client_invoice_upload_showクライアント請求書のアップロード詳細を表示します
見積書
quote_list任意のフィルターを指定して、見積書を一覧表示します
quote_show特定の見積書の詳細を表示します
quote_createクライアントと明細項目を含む新しい見積書を作成します
quote_update既存の見積書を更新します
quote_delete見積書を削除します
quote_send見積書をメールでクライアントに送信します
クレジットノート
credit_note_list組織のクレジットノートを一覧表示します
credit_note_show特定のクレジットノートの詳細を表示します
仕入先請求書
supplier_invoice_list任意のフィルターを指定して、仕入先請求書を一覧表示します
supplier_invoice_show特定の仕入先請求書の詳細を表示します
supplier_invoice_bulk_createファイルをアップロードして仕入先請求書を作成します
リクエスト
request_list組織のすべてのリクエストを一覧表示します
SCA セッション
sca_session_showSCA セッションのステータス(waiting/allow/deny)を表示します
sca_session_mock_decisionQonto サンドボックスで SCA の判定をシミュレートします(サンドボックス専用)
添付ファイル
attachment_upload添付ファイル(PDF、JPEG、PNG)をアップロードします
attachment_show特定の添付ファイルの詳細を表示します
電子請求書
einvoicing_settings組織の電子請求書設定を取得します
プロンプトの例

設定が完了したら、AI アシスタントに次のようなことを尋ねられます。

  • 「Qonto アカウントの残高を表示して」
  • 「1,000 EUR を超える最近の取引を一覧表示して」
  • 「先月のカード支払いは?」
  • 「組織内のチームメンバーをすべて表示して」
  • 「2026 年 1 月の銀行取引明細を一覧表示して」
  • 「今週の引き落としの概要を作成して」
SCA の継続

送金の作成、カードの変更、リクエストの承認など、Qonto の一部の書き込み操作では、**強力な顧客認証(SCA)**が必要です。実行前に、ユーザーが Qonto モバイルアプリでリクエストを承認する必要があります。QontoCtl は、SCA が必要なすべての MCP 書き込みツールを継続フローでラップするため、LLM クライアント側でポーリングを再実装する必要はありません。

ラップされた書き込みツールの動作

transfer_create、card_create、beneficiary_trust、request_approve などの SCA が必要なツールで 428 SCA チャレンジが発生すると、ラッパーは SCA セッションをインラインでポーリングします。ポーリング期間内にユーザーが承認すると、ツールは操作の成功結果を透過的に返します。LLM が SCA の往復処理を認識することはありません。ポーリングがタイムアウトした場合(またはポーリングが無効の場合)、ツールはセッショントークンと継続手順を含む、構造化された SCA 保留中レスポンスを返します。

ラップされた各ツールでは、このフローに使用する次の 2 つの任意の入力フィールドが公開されます。

  • wait — 保留中レスポンスに切り替えるまで、インラインでポーリングする最大秒数です。
  • sca_session_token — 以前に承認された SCA チャレンジを再試行に関連付けます。
wait の設定
値動作
30 (デフォルト)最大 30 秒間ポーリングし、その後、構造化された保留中レスポンスに切り替えます。
1–120指定した秒数だけポーリングします(上限は 120 秒です)。
0 または falseポーリングを完全にスキップします。最初の 428 で SCA 保留中レスポンスをすぐに返します。

120 という上限は、入力境界で Zod によって適用されるハード上限です。実際の上限は、MCP ホストのリクエストタイムアウトです。Claude Desktop では約 60 秒、Cursor では実質約 30 秒に固定されているため、これらを超える値を指定すると、ラッパーが処理を完了する前にホスト側でタイムアウトが発生します。LLM がユーザーがその場ですぐに承認することを想定している場合は、小さな wait(例:5~10)を使用してください。SCA チャレンジと再試行の間に LLM とユーザーが別の経路でやり取りする 純粋な 2 段階フローでは、wait: false(または wait: 0)を使用してください。

2 段階のフォールバック(別経路での継続)

ポーリングで解決しなかった場合、SCA 保留中レスポンスには次の情報が含まれます。

  • ユーザー向けメッセージ:"SCA required. The user must approve this operation on their Qonto mobile app."
  • Session token: <token> という行(トークンの有効期限:発行から 15 分)。
  • 継続するための手順。

その後、LLM(またはユーザー)は次の操作を行えます。

  1. sca_session_show ツールに取得したトークンを渡して、セッションの状態をポーリングします。waiting、allow、deny のいずれかが返されます。
  2. 状態が allow になったら、sca_session_token: "<token>" と 同じパラメーター を渡して、元のツールを再試行します。ラッパーはトークンを関連付けて操作を 1 回だけ実行し、2 回目のポーリングは行いません。

PSD2 の動的リンク。 SCA セッショントークンは、元の リクエストパラメーター(金額、受取人)に関連付けられます。別の操作にトークンを再利用すると、Qonto によって拒否されます。パラメーターを変更する必要がある場合は、元のツールを再度呼び出して SCA チャレンジを再発行してください。

呼び出し側が指定する再試行(sca_session_token)

ラップされた書き込みツールで sca_session_token が設定されている場合、ラッパーは次のように動作します。

  • 操作を1回だけ実行します。
  • ポーリングを完全にスキップします。
  • トークンを X-Qonto-Sca-Session-Token ヘッダーで転送します。

これは、2段階フォールバックのステップ(2)で使用する方法です。また、LLM クライアントが独自のポーリング間隔を実装しており、すでに取得した承認を使ってラッパーに再試行させるだけでよい場合にも便利です。

サンドボックスでのテスト

サンドボックスアカウントでは実際にペアリングされたデバイスを登録できないため、サンドボックスの SCA チャレンジでは mock フローを使用します。保留中のレスポンスを受け取ったら、sca_session_mock_decision ツールを使ってユーザーの判断をシミュレートします(サンドボックス専用。ステージングトークンが設定されていない場合は実行を拒否します)。サンドボックスのセットアップ全体については、docs/sandbox-testing.md を参照してください。

移行に関する注意

以前の QontoCtl ビルド(SCA 継続機能の @qontoctl/mcp 導入前)では、428 時に継続用フックのない自由形式のテキストレスポンスが返されていました。このレスポンスを解析している呼び出し側は、構造化されたフローに移行してください。

以前以後
SCA エンドポイントについて自由形式のテキストで説明されていましたが、MCP から継続する方法は提供されていませんでした。SCA 保留中のレスポンスは引き続きテキストコンテンツですが、形式は安定しています。Session token: <token> が正式な行で、ポーリング API は sca_session_show です。
ポーリングするには、Qonto HTTP API を直接操作する必要がありました。sca_session_show MCP ツールを使用します。
操作を再実行すると、以前の承認が使えなくなっていました。取得した sca_session_token パラメーターを指定して元のツールを再試行します。以前の承認はその再試行に紐付けられます。
インラインポーリングを選択する方法がなく、428 はすべて行き止まりでした。インラインでポーリングするには wait: <seconds>(1~120)を渡します。ツールのデフォルトは30秒です。明示的な2段階フローでは wait: false を渡します。

保留中のレスポンスのテキスト形式は安定しているため、トークンをプログラムで抽出する必要がある呼び出し側は、Session token: の行を照合できます。ただし、レスポンスの文章に依存しないよう、sca_session_show を直接使用する方法がおすすめです。

CLI の使い方

うまく動作しない場合に、まず試すコマンド:qontoctl diagnose。設定、認証情報、スコープ、組織メタデータ、ホストルーティングを対象に、読み取り専用のヘルスチェックを実行します。

コマンド
コマンド説明
diagnose読み取り専用のヘルスチェック(トラブルシューティングを参照)
org show組織の詳細を表示
account list銀行口座の一覧を表示
account show <id>銀行口座の詳細を表示
account iban-certificate <id>IBAN 証明書の PDF をダウンロード
account create新しい銀行口座を作成
account update <id>銀行口座を更新
account close <id>銀行口座を閉鎖
transaction listフィルターを指定して取引の一覧を表示
transaction show <id>取引の詳細を表示
transaction attachment list <id>取引の添付ファイル一覧を表示
transaction attachment add <id> <file>取引にファイルを添付
transaction attachment remove <id> [att-id]取引から添付ファイルを削除
statement list銀行取引明細書の一覧を表示
statement show <id>銀行取引明細書の詳細を表示
statement download <id>銀行取引明細書の PDF をダウンロード
label listすべてのラベルを一覧表示
label show <id>ラベルの詳細を表示
membership list組織のメンバーシップ一覧を表示
membership show現在のユーザーのメンバーシップを表示
membership invite新しいメンバーを招待
beneficiary listSEPA 受取人の一覧を表示
beneficiary show <id>受取人の詳細を表示
beneficiary add新しい受取人を作成
beneficiary update <id>受取人を更新
beneficiary trust <id...>1 人以上の受取人を信頼済みに設定
beneficiary untrust <id...>1 人以上の受取人を信頼済みから解除
transfer listSEPA 振込の一覧を表示
transfer show <id>SEPA 振込の詳細を表示
transfer createSEPA 振込を作成
transfer cancel <id>保留中の SEPA 振込をキャンセル
transfer proof <id>SEPA 振込の証明書 PDF をダウンロード
transfer verify-payee受取人を確認(VoP)
transfer bulk-verify-payeeCSV から複数の受取人を一括確認
internal-transfer create内部振込を作成
bulk-transfer list一括振込の一覧を表示
bulk-transfer show <id>一括振込の詳細を表示
bulk-transfer createJSON から一括 SEPA 振込を作成
recurring-transfer list定期振込の一覧を表示
recurring-transfer show <id>定期振込の詳細を表示
terminal listQonto Terminals(POS)の一覧を表示
terminal payment create <id>ターミナルでの支払いを開始
product listカタログ商品の一覧を表示
client listクライアントの一覧を表示
client show <id>クライアントの詳細を表示
client create新しいクライアントを作成
client update <id>クライアントを更新
client delete <id>クライアントを削除
client-invoice listクライアント請求書の一覧を表示
client-invoice show <id>クライアント請求書の詳細を表示
client-invoice createクライアント請求書の下書きを作成
client-invoice update <id>クライアント請求書の下書きを更新
client-invoice delete <id>クライアント請求書の下書きを削除
client-invoice finalize <id>クライアント請求書を確定し、番号を割り当て
client-invoice send <id>クライアント請求書をメールでクライアントに送信
client-invoice mark-paid <id>クライアント請求書を支払い済みに設定
client-invoice unmark-paid <id>クライアント請求書の支払い済みステータスを解除
client-invoice cancel <id>確定済みのクライアント請求書をキャンセル
client-invoice upload <id> <file>クライアント請求書にファイルをアップロード
client-invoice upload-show <id> <upload-id>クライアント請求書のアップロード詳細を表示
quote list見積書の一覧を表示
quote show <id>見積書の詳細を表示
quote create新しい見積書を作成
quote update <id>見積書を更新
quote delete <id>見積書を削除
quote send <id>見積書をメールでクライアントに送信
credit-note listクレジットノートの一覧を表示
credit-note show <id>クレジットノートの詳細を表示
supplier-invoice list仕入先請求書の一覧を表示
supplier-invoice show <id>仕入先請求書の詳細を表示
supplier-invoice bulk-createファイルから仕入先請求書を作成
einvoicing settings電子請求書の設定を表示
request listすべてのリクエストを一覧表示
attachment upload <file>添付ファイルをアップロード
attachment show <id>添付ファイルの詳細を表示
auth setupOAuth クライアントの認証情報を設定
auth loginOAuth ログインフローを開始
auth statusOAuth トークンのステータスを表示(範囲を絞った確認。統合全体のヘルスチェックには diagnose を使用)
auth refreshOAuth アクセストークンを更新
auth revokeOAuth の同意を取り消し、トークンを消去
profile add <name>名前付きプロファイルを作成
profile listすべてのプロファイルを一覧表示
profile show <name>プロファイルの詳細を表示(シークレットは伏字)
profile remove <name>名前付きプロファイルを削除
profile test認証情報をテスト
completion bashbash の補完候補を生成
completion zshzsh の補完候補を生成
completion fishfish の補完候補を生成
mcp標準入出力で MCP サーバーを起動
グローバルオプション
オプション説明
--config <path>設定ファイルの明示的なパス(--profile と QONTOCTL_CONFIG_FILE より優先されます)
-p, --profile <name>使用する設定プロファイル
-o, --output <format>出力形式:table(デフォルト)、json、yaml、csv
--page <number>結果の特定のページを取得します
--per-page <number>1ページあたりの結果数
--no-paginate自動ページネーションを無効にします
--verbose詳細な出力を有効にします
--debugデバッグ出力を有効にします(--verbose も有効になります)

設定

QontoCtl は2種類の認証方法に対応しています。

  • API Key — 組織のスラッグとシークレットキーを使用して、本番環境のみでアクセスします。Qonto 認証テーブルで「API key ✔」と記載されたエンドポイントに対応しています(読み取りの大半と、多くの書き込み操作 — 内部送金、クライアント、添付ファイルなど)。Qonto サンドボックスでは使用できません。
  • OAuth 2.0 — OAuth 専用エンドポイント(カード、チーム、Webhook、電子請求書、決済リンク、保険、国際送金、定期送金、SCA フロー)と、ステージングトークン経由の Qonto サンドボックスを含む、すべての機能にアクセスできます。OAuth アプリ設定ガイドを参照してください。
プロファイル形式

すべての設定ファイルで同じ YAML 形式を使用します。

# API Key authentication
api-key:
    organization-slug: acme-corp-4821
    secret-key: your-secret-key

# OAuth 2.0 authentication (see docs/oauth-setup.md)
oauth:
    client-id: your-client-id
    client-secret: your-client-secret
解決順序

CLI は次の順序で設定ファイルを解決します(優先度の高い順)。

  1. --config <path> フラグ
  2. QONTOCTL_CONFIG_FILE 環境変数
  3. ~/.qontoctl/{name}.yaml(--profile <name> が指定されている場合)
  4. ~/.qontoctl.yaml(ホームディレクトリのデフォルト)

QONTOCTL_CONFIG_FILE または --profile と併せて --config が指定され、解決されたパスが一致しない場合は、--config が優先されます。上書きが分かるよう、stderr に警告が出力されます。

カレントディレクトリからの検索は行いません。 CLI は作業ディレクトリ内の .qontoctl.yaml を検索しません。リポジトリ内の設定には、QONTOCTL_CONFIG_FILE="$PWD/.qontoctl.yaml" をエクスポートする direnv のシムを使うか、呼び出しごとに --config ./.qontoctl.yaml を明示的に渡してください。

フィールドごとの上書きは、読み込まれたファイルの設定に適用されます。

  • --profile を指定しない場合:QONTOCTL_* 環境変数でファイルの値を上書きします
  • --profile acme を指定する場合:QONTOCTL_ACME_* 環境変数でファイルの値を上書きします

エントリーポイントごとの優先順位ルール、プロファイルの動作、CWD 検索からの移行については、全項目を網羅したリファレンス docs/configuration.md を参照してください。

環境変数

環境変数はファイル内の値より優先されます。環境変数が保持するのは、ツールが読み取るものの書き戻すことのない入力(静的な設定)です。実行時に変更される状態(リフレッシュトークン、有効期限、付与されたスコープ)はファイル内にのみ保存されます。以下の QONTOCTL_ACCESS_TOKEN に関する注記を参照してください。

--profile を指定しない場合:

変数説明
QONTOCTL_ORGANIZATION_SLUG組織のスラッグ
QONTOCTL_SECRET_KEYAPI シークレットキー
QONTOCTL_CLIENT_IDOAuth クライアント ID
QONTOCTL_CLIENT_SECRETOAuth クライアントシークレット
QONTOCTL_ACCESS_TOKENOAuth アクセストークン(読み取り専用 — 以下を参照)
QONTOCTL_ENDPOINTカスタム API エンドポイント
QONTOCTL_STAGING_TOKENステージングトークン(サンドボックス URL を有効化)

--profile <name> を指定すると、プレフィックスは QONTOCTL_{NAME}_ になります(大文字に変換し、ハイフンはアンダースコアに置き換えます)。たとえば、--profile acme を指定すると、QONTOCTL_ACME_ORGANIZATION_SLUG が読み込まれます。

QONTOCTL_ACCESS_TOKEN の動作:設定されている場合、環境変数で指定されたベアラートークンは、現在の実行時に限り使用されます。事前のトークン更新は試みられず、更新されたトークンがディスクに保存されることもありません(AWS_SESSION_TOKEN と同様です)。トークンの有効期限が切れている場合、API は 401 を返します。トークンは外部で再発行してください。

QONTOCTL_REFRESH_TOKEN は意図的にサポートされていません。 リフレッシュトークンは実行時に変更される状態です。更新のたびに新しい値が生成され、ツールがどこかに書き戻す必要があるためです。環境変数が保持するのは状態ではなく入力です。リフレッシュが必要な OAuth フローには、ファイルベースの認証情報(~/.qontoctl.yaml またはプロファイル)を使用するか、CI では API キーの環境変数を使用してください。

デバッグモード

--verbose フラグと --debug フラグを指定すると、標準エラー出力にワイヤーレベルのログが出力されます。

qontoctl --verbose transaction list   # request/response summaries
qontoctl --debug transaction list     # full headers and response bodies

セキュリティに関する注意: --debug は API レスポンス本文全体を記録します。既知の機密フィールド(IBAN、BIC、残高)は自動的にマスキングされますが、レスポンスにはその他の財務データが含まれる場合があります。共有環境で --debug を使用したり、デバッグ出力を他の人がアクセスできるファイルに書き出したりしないでください。

免責事項

qontoctl は、Qonto と提携、承認、または公式に関係していない独立したプロジェクトです。お使いのマシン上で、お客様自身の認証情報を使用して動作します。

「Qonto」および Qonto のロゴは、Qonto を運営する Olinda SAS の商標です。qontoctl は、連携するサービスを表す目的でのみ名称を使用しています。

ライセンス

AGPL-3.0-only

AGPL が利用者に意味すること
  • CLI ツールまたは MCP サーバーとして qontoctl を使用しても、お客様のコードが AGPL ライセンスになることはありません。 ツールの実行、ツールを使ったスクリプトの作成、アプリケーションとの接続は通常の利用であり、ライセンス上の義務は発生しません。
  • ライブラリとして @qontoctl/core を使用する場合(コードにインポートする場合)、結合した成果物は AGPL-3.0 の適用対象となります。その結合した成果物を配布する場合、AGPL と互換性のある条件でソースコードを公開する必要があります。
  • qontoctl 自体を改変して配布する場合、変更内容を AGPL-3.0 のもとで共有する必要があります。
  • AGPL が用途に合わない場合は、商用ライセンスを利用できます。メンテナーにお問い合わせください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。