authorize-net-mcp について
authorize-net-mcpは、Authorize.netの決済操作をAIエージェントやMCP対応プラットフォームに提供する実験的なNode.js TypeScript製MCPサーバーです。カードの即時請求とホスト型決済ページ作成のツールを備えています。
主な機能
- 01クレジットカードへの即時請求
- 02ホスト型決済ページの作成
- 03Authorize.net Node SDKによる取引処理
- 04ツールの入出力スキーマ定義
活用シーン
- 01MCPワークフローでカードを請求
- 02顧客向けオンライン決済ページを生成
- 03MCPクライアントからAuthorize.netの決済機能を呼び出す
MCP 対応
このMCPサーバーはtakePaymentとcreateInvoiceのツールおよび入力スキーマを公開し、stdio経由で呼び出しを受け付けます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
authorize-net-mcp
このプロジェクトは、Authorize.net Node SDK と統合し、主に次の2つの決済操作を提供する Model Context Protocol(MCP)サーバーです。
takePayment– クレジットカードに即時課金します(AUTH_CAPTURE)。createInvoice– 顧客がオンラインで支払うためのホスト型決済ページ(請求書)を生成します。
これらの操作を MCP ツールとして公開することで、MCP Node SDK を利用する AI エージェントやその他のプラットフォームは、クレジットカードや取引のロジックを直接扱うことなく、Authorize.net の機能をシームレスに呼び出せます。
Model Context Protocol(MCP)とは?
**Model Context Protocol(MCP)**は、AI モデル(大規模言語モデルなど)が外部のツールやサービスと通信する方法を標準化する仕様およびソフトウェア開発キット(SDK)です。MCP サーバーは、AI アシスタントや自動化プラットフォームがプログラムで検出して呼び出せる「ツール」(メソッド)を提供します。MCP の目標には次のものがあります。
- 検出可能性:ツールは、その機能と入出力スキーマを提示します。
- 標準化された入出力:AI モデルや任意のクライアントは、JSON ベースのスキーマでツールを呼び出し、構造化された出力を受け取れるため、自動化ワークフローの信頼性が高まります。
- セキュリティと互換性:ツールは分離されたプロセス内で実行され、明確に定義されたチャネル(stdio など)を介して通信するため、AI モデルの環境から隔離しやすくなります。
このプロジェクトでは、takePayment メソッドと createInvoice メソッドを、入力スキーマ(金額、カード情報、請求書情報)と構造化された JSON 出力を持つ MCP ツールとして定義しています。つまり、MCP プロトコルを実装する AI モデルやシステムは、このサーバーに問い合わせて利用可能なツールを確認し、正しいパラメーターを指定して呼び出すことで、Authorize.net 経由で決済を処理できます。
仕組み
-
MCP Node SDK – Node.js で MCP サーバーを作成して実行するためのフレームワークを提供します。
Server、StdioServerTransportなどのクラスとスキーマ定義(ListToolsRequestSchema、CallToolRequestSchema)を使用してツールを登録し、stdio 経由のリクエストに応答します。 -
Authorize.net Node SDK – 低レベルの決済取引呼び出しを管理します。MCP ツールのハンドラー内で
authorizenetパッケージをインポートし、Authorize.net の認証情報を使用してCreateTransactionRequestなどのリクエストを作成します。 -
MCP ツール –
takePayment:クレジットカード番号、有効期限、CVV、金額を受け取り、カードに即時課金します。createInvoice:カード情報なしで取引を準備し(カード情報は Authorize.net のホスト型フォームで収集されます)、顧客が請求書を安全に支払うための URL を返します。
サーバーが起動すると、接続されている MCP クライアントにこれら2つのツール(およびその入力スキーマ)を提示します。その後、クライアントは必要に応じてツールを呼び出せます。
プロジェクト構成
authorize-net-mcp/
├── package.json
├── tsconfig.json
├── src
│ ├── index.ts # MCP server initialization
│ ├── models
│ │ └── authorizeNetModel.ts # JSON schemas & tool specifications
│ └── handlers
│ └── authorizeNetHandlers.ts # Implementations of takePayment & createInvoice
└── README.md
src/index.ts:MCP のServerを作成し、ツールハンドラーを登録して、stdio 経由のリクエストを待ち受けます。src/models/authorizeNetModel.ts:2つのツールの入出力スキーマを JSON スキーマ形式で定義します(クライアントがListToolsを呼び出すと MCP クライアントに提示されます)。src/handlers/authorizeNetHandlers.ts:Authorize.net と統合する中核ロジック(カードへの課金、ホスト型請求書の作成)が含まれます。
はじめに
1. インストール
-
このリポジトリをクローンするか、ダウンロードします。
-
依存関係をインストールします。
npm install
2. 環境変数の設定
Authorize.net の API 認証情報を指定する必要があります。テストには、Authorize.net Sandbox の認証情報を使用できます。サーバーは次の環境変数を参照します。
AUTHORIZE_NET_API_LOGIN_IDAUTHORIZE_NET_TRANSACTION_KEYAUTHORIZE_NET_SANDBOX(任意。サンドボックスモードにするには "true" を設定します)
サーバーをビルドまたは起動する前に、これらを設定します。
Linux/Mac の場合:
export AUTHORIZE_NET_API_LOGIN_ID="YOUR_SANDBOX_LOGIN_ID"
export AUTHORIZE_NET_TRANSACTION_KEY="YOUR_SANDBOX_TRANSACTION_KEY"
export AUTHORIZE_NET_SANDBOX="true"
Windows の場合(コマンドプロンプト):
set AUTHORIZE_NET_API_LOGIN_ID=YOUR_SANDBOX_LOGIN_ID
set AUTHORIZE_NET_TRANSACTION_KEY=YOUR_SANDBOX_TRANSACTION_KEY
set AUTHORIZE_NET_SANDBOX=true
Windows の場合(PowerShell):
$env:AUTHORIZE_NET_API_LOGIN_ID="YOUR_SANDBOX_LOGIN_ID"
$env:AUTHORIZE_NET_TRANSACTION_KEY="YOUR_SANDBOX_TRANSACTION_KEY"
$env:AUTHORIZE_NET_SANDBOX="true"
Claude Desktop の場合:
config.json に以下を追加すると、Claude Desktop の設定でこの MCP サーバーを構成できます。
{
"mcpServers": {
"authorize-net-mcp": {
"command": "node",
"args": ["C:\\git\\authorize-net-mcp\\build\\index.js"],
"env": {
"DEBUG": "*",
"AUTHORIZE_NET_API_LOGIN_ID": "YOUR-LOGIN-ID-HERE",
"AUTHORIZE_NET_TRANSACTION_KEY": "YOUR-KEY-HERE",
"AUTHORIZE_NET_SANDBOX": "true"
}
}
}
}
プレースホルダーの値を、実際の Authorize.net 認証情報に置き換えてください。
3. ビルドと実行
# Build the TypeScript
npm run build
# Start the MCP server (listening on stdio)
npm start
サーバーが起動し、MCP リクエストを待ち受けます。通常、MCP に対応した AI アシスタントや自動化ツールがこのプロセスを起動するか接続し、takePayment または createInvoice ツールを名前で呼び出します。
MCP ツールの使用
MCP 対応環境(例:MCP をサポートする AI チャット)では、ワークフローは次のようになります。
-
利用可能なツールを一覧表示する(サーバーはスキーマとともに
[takePayment, createInvoice]を返します)。 -
takePaymentツールを次の引数で呼び出す:{ "amount": 19.99, "cardNumber": "4242424242424242", "expirationDate": "0825", "cardCode": "123" }- サーバーは支払いが成功したかどうかを返し、レスポンスメッセージに取引の詳細を含めます。
-
createInvoiceツールを次の引数で呼び出す:{ "amount": 50.0, "invoiceNumber": "INV-1001", "description": "T-shirt order" }- サーバーはホスト型決済ページの URL を返します。顧客が安全にカード情報を入力できるよう、そのリンクを案内してください。
本番環境での使用に関する注意事項
- セキュリティ:実際の API キーをソース管理にコミットしないでください。本番環境では環境変数またはシークレット管理ソリューションを使用してください。
- HTTPS:実際にデプロイする際、MCP ホスト以外から呼び出す場合は、受信リクエストに HTTPS エンドポイントまたはセキュアトンネルを使用してください。
- サンドボックスと本番環境:本番運用を開始する準備ができたら、
authorizeNetHandlers.tsファイルのベース URL を本番環境のエンドポイントに切り替えてください。
さらに読む
- MCP TypeScript SDK(GitHub) – Model Context Protocol ツールの作成とホスティング方法について説明しています。
- Authorize.net サンプルコード(GitHub) – Authorize.net Node SDK の使用例です。
- Authorize.net 開発者向けドキュメント – 取引の構築、ホスト型請求書の作成、本番環境とサンドボックスの認証情報の管理に関する公式ドキュメントです。
ライセンス
このプロジェクトは MIT ライセンスの下で公開されています。詳細については、リポジトリの LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。