Model Context Protocol (MCP)は、AIアプリケーションが外部データソースやAPIに安全に接続できるオープンスタンダードです。Dodo Payments MCPサーバーは、Claude、Cursor、その他のMCP互換クライアントに対して、あなたの支払いインフラストラクチャへの構造化されたアクセスを提供します。
Dodo Payments MCPサーバーは、Stainless で構築されており、Code Mode アーキテクチャを使用しています。これにより、AIエージェントはDodo Payments SDKに対してTypeScriptコードを孤立したサンドボックス環境で記述および実行できます。
主な機能
支払い操作 : 支払いと返金の作成、取得、管理
サブスクリプション管理 : 定期請求、アップグレード、キャンセルの処理
顧客管理 : 顧客データとポータルアクセスの管理
製品カタログ : 製品、価格、割引の作成と更新
ライセンス管理 : ソフトウェアライセンスの有効化、検証、管理
使用量ベースの請求 : メーター使用量の追跡と請求
Code Modeの動作
Dodo Payments MCPサーバーはCode Modeを使用しており、AIエージェントに2つの強力なツールを提供します:
Docs Search Tool : Dodo Payments APIおよびSDKに関するドキュメントをクエリし、利用可能な操作とパラメータを理解します。
Code Execution Tool : SDKに対してTypeScriptコードを記述し、ウェブやファイルシステムへのアクセスなしで安全なサンドボックス環境で実行します。
このアーキテクチャにより、AIエージェントは複雑で多段階の支払い操作を決定論的かつ繰り返し実行できます。
Code Modeを使用すると、エージェントは複数のAPI呼び出しを連鎖させ、条件付きロジックを処理し、計算を行うことができます—すべて1回のツール呼び出しで。
インストール
ワークフローに最適なインストール方法を選択してください。
リモートMCPサーバー(推奨)
ローカルのセットアップやインストールなしでホストされたMCPサーバーにアクセスします。これが最も迅速に始める方法です。
MCPクライアントを構成
特定のクライアント用に提供されたJSON構成をコピーします。CursorまたはClaude Desktopの場合、これをMCP設定に追加します: {
"mcpServers" : {
"dodopayments_api" : {
"command" : "npx" ,
"args" : [ "-y" , "mcp-remote@latest" , "https://mcp.dodopayments.com/sse" ]
}
}
}
認証と構成
OAuthフローが次のことを促します:
Dodo Payments APIキーを入力
環境を選択(テストまたは本番)
MCPクライアントタイプを選択
APIキーを安全に保管してください。開発中はテストモードのキーを使用してください。
セットアップを完了
ログインして承認 をクリックして接続を承認します。接続が完了すると、AIアシスタントはあなたの代わりにDodo Payments APIと対話できます。
NPMパッケージ
NPMを使用してMCPサーバーをローカルでインストールおよび実行します。
NPX(インストール不要)
MCPクライアント構成
# Set your environment variables
export DODO_PAYMENTS_API_KEY = "dodo_test_..."
export DODO_PAYMENTS_WEBHOOK_KEY = "your_webhook_key"
export DODO_PAYMENTS_ENVIRONMENT = "live_mode"
# Run the latest version
npx -y dodopayments-mcp@latest
{
"mcpServers" : {
"dodopayments_api" : {
"command" : "npx" ,
"args" : [ "-y" , "dodopayments-mcp@latest" ],
"env" : {
"DODO_PAYMENTS_API_KEY" : "dodo_test_..." ,
"DODO_PAYMENTS_WEBHOOK_KEY" : "your_webhook_key" ,
"DODO_PAYMENTS_ENVIRONMENT" : "live_mode"
}
}
}
}
@latestを使用して常に最新のバージョンを取得するか、安定性のために特定のバージョンにピン留めします(@1.0.0)。
Docker
一貫したデプロイメントのために、コンテナ化された環境でMCPサーバーを実行します。
# Pull the latest image
docker pull ghcr.io/dodopayments/mcp:latest
# Run the container
docker run -e DODO_PAYMENTS_API_KEY="dodo_test_..." \
-e DODO_PAYMENTS_WEBHOOK_KEY="your_webhook_key" \
-e DODO_PAYMENTS_ENVIRONMENT="live_mode" \
ghcr.io/dodopayments/mcp:latest
クライアント構成
お好みのAIクライアントでDodo Payments MCPサーバーを構成します。
Cursor
Claude Desktop
Claude Code
VS Code
Cline (VS Code)
Zed
その他のクライアント
CursorでDodo Payments MCPサーバーを設定し、支払いデータへの会話アクセスを有効にします。 ワンクリックインストール 以下のボタンを使用して、CursorにMCPサーバーを直接インストールします: [ ](https://cursor.com/en-US/install-mcp?name=dodopayments-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImRvZG9wYXltZW50cy1tY3AiXSwiZW52Ijp7IkRPRE9fUEFZTUVOVFNfQVBJX0tFWSI6IlNldCB5b3VyIERPRE9fUEFZTUVOVFNfQVBJX0tFWSBoZXJlLiIsIkRPRE9fUEFZTUVOVFNfV0VCSE9PS19LRVkiOiJTZXQgeW91ciBET0RPX1BBWU1FTlRTX1dFQkhPT0tfS0VZIGhlcmUuIn19 ) クリック後、Cursorのmcp.jsonで環境変数を設定します。Cursor設定 > ツールとMCP > 新しいMCPサーバー を通じて行います。 手動構成
Cursor設定を開く
Cursor設定 > 機能 > モデルコンテキストプロトコル に移動するか、Cmd/Ctrl + Shift + Pを押して「MCP設定」を検索します。
構成を編集
Edit Config をクリックしてmcp_config.jsonファイルを開きます。
Dodo Payments構成を追加
次の構成のいずれかを選択します: リモートサーバー(推奨) {
"mcpServers" : {
"dodopayments" : {
"command" : "npx" ,
"args" : [ "-y" , "mcp-remote@latest" , "https://mcp.dodopayments.com/sse" ]
}
}
}
ローカルNPX {
"mcpServers" : {
"dodopayments" : {
"command" : "npx" ,
"args" : [ "-y" , "dodopayments-mcp@latest" ],
"env" : {
"DODO_PAYMENTS_API_KEY" : "dodo_test_..." ,
"DODO_PAYMENTS_WEBHOOK_KEY" : "your_webhook_key"
}
}
}
}
保存して再起動
構成ファイルを保存し、Cursorを再起動します。 AIアシスタントにDodo Paymentsデータについて尋ねて接続を確認します。
Claude DesktopでDodo Payments MCPサーバーを設定し、支払いデータへの会話アクセスを有効にします。
構成ファイルを見つける
Claude Desktopの構成ファイルを見つけます:
macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
Windows : %APPDATA%\Claude\claude_desktop_config.json
Linux : ~/.config/Claude/claude_desktop_config.json
構成を編集
テキストエディタでファイルを開き、Dodo Payments構成を追加します: リモートサーバー(推奨) {
"mcpServers" : {
"dodopayments" : {
"command" : "npx" ,
"args" : [ "-y" , "mcp-remote@latest" , "https://mcp.dodopayments.com/sse" ]
}
}
}
ローカルNPX {
"mcpServers" : {
"dodopayments" : {
"command" : "npx" ,
"args" : [ "-y" , "dodopayments-mcp@latest" ],
"env" : {
"DODO_PAYMENTS_API_KEY" : "dodo_test_..." ,
"DODO_PAYMENTS_WEBHOOK_KEY" : "your_webhook_key"
}
}
}
}
Claude Desktopを再起動
Claude Desktopを閉じて再度開き、変更を適用します。 Claude Desktopで🔌アイコンを探して、MCPサーバーが接続されていることを確認します。
Claude Code CLIでDodo Payments MCPサーバーを設定します。 ターミナルで次のコマンドを実行します: claude mcp add --transport stdio dodopayments_api \
--env DODO_PAYMENTS_API_KEY="dodo_test_..." \
DODO_PAYMENTS_WEBHOOK_KEY="your_webhook_key" \
-- npx -y dodopayments-mcp
構成はホームディレクトリの.claude.jsonファイルに保存されます。 Claude Codeはシェルから環境変数を自動的に取得するため、コマンドを実行する前にエクスポートすることもできます。
VS CodeでDodo Payments MCPサーバーを設定します。 ワンクリックインストール VS Codeを開く クリック後、VS Codeのmcp.jsonで環境変数を設定します。コマンドパレット > MCP: ユーザー構成を開く を通じて行います。 手動構成
MCP構成を開く
コマンドパレット(Cmd/Ctrl + Shift + P)を開き、「MCP: ユーザー構成を開く」を検索します。
サーバー構成を追加
Dodo Payments MCPサーバーを追加します: {
"mcpServers" : {
"dodopayments" : {
"command" : "npx" ,
"args" : [ "-y" , "dodopayments-mcp@latest" ],
"env" : {
"DODO_PAYMENTS_API_KEY" : "dodo_test_..." ,
"DODO_PAYMENTS_WEBHOOK_KEY" : "your_webhook_key"
}
}
}
}
ウィンドウを再読み込み
VS Codeを再読み込みします(Cmd/Ctrl + Shift + P > “ウィンドウを再読み込み”)してMCPサーバーを有効にします。
Cline (VS Code)でDodo Payments MCPサーバーを設定し、支払いデータへの会話アクセスを有効にします。
Cline設定を開く
Clineの構成ファイルを見つけます:
macOS : ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Windows : %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
Linux : ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
MCPサーバーを構成
Dodo Payments MCPサーバー構成を追加します: {
"mcpServers" : {
"dodopayments" : {
"command" : "npx" ,
"args" : [ "-y" , "dodopayments-mcp@latest" ],
"env" : {
"DODO_PAYMENTS_API_KEY" : "dodo_test_..." ,
"DODO_PAYMENTS_WEBHOOK_KEY" : "your_webhook_key"
}
}
}
}
VS Codeを再読み込み
VS Codeウィンドウを再読み込みします(Cmd/Ctrl + Shift + P > “ウィンドウを再読み込み”)してMCPサーバー接続を有効にします。
ZedでDodo Payments MCPサーバーを設定し、支払いデータへの会話アクセスを有効にします。
Zed設定を開く
設定 > アシスタント > モデルコンテキストプロトコル に移動します。
サーバー構成を追加
次の構成を追加します: {
"mcpServers" : {
"dodopayments" : {
"command" : "npx" ,
"args" : [ "-y" , "dodopayments-mcp@latest" ],
"env" : {
"DODO_PAYMENTS_API_KEY" : "dodo_test_..." ,
"DODO_PAYMENTS_WEBHOOK_KEY" : "your_webhook_key"
}
}
}
}
保存して確認
構成を保存します。MCPサーバーはZedのAIアシスタントで利用可能になるはずです。
他のMCP互換クライアントでDodo Payments MCPサーバーを設定します。 リモートサーバー(推奨) {
"mcpServers" : {
"dodopayments" : {
"command" : "npx" ,
"args" : [ "-y" , "mcp-remote@latest" , "https://mcp.dodopayments.com/sse" ]
}
}
}
ローカルNPX {
"mcpServers" : {
"dodopayments" : {
"command" : "npx" ,
"args" : [ "-y" , "dodopayments-mcp@latest" ],
"env" : {
"DODO_PAYMENTS_API_KEY" : "dodo_test_..." ,
"DODO_PAYMENTS_WEBHOOK_KEY" : "your_webhook_key"
}
}
}
}
環境変数
環境変数を使用してMCPサーバーの動作を構成します。
変数 説明 必須 DODO_PAYMENTS_API_KEYあなたのDodo Payments APIキー はい DODO_PAYMENTS_WEBHOOK_KEYあなたのWebhook署名キー いいえ DODO_PAYMENTS_ENVIRONMENT本番用にlive_modeに設定 いいえ
リモートでの実行
MCPサーバーをリモートHTTPサーバーとしてデプロイし、ウェブベースのクライアントやエージェントワークフローに対応します。
# Start as remote server
npx -y dodopayments-mcp --transport=http
# Specify a custom port
npx -y dodopayments-mcp --transport=http --port=3000
リモートサーバー構成
デプロイ後、クライアントはサーバーURLを使用して接続できます:
{
"mcpServers" : {
"dodopayments_api" : {
"url" : "http://localhost:3000" ,
"headers" : {
"Authorization" : "Bearer your_api_key"
}
}
}
}
認証ヘッダー
リモートサーバーは次のヘッダーを介して認証を受け付けます:
ヘッダー 説明 Authorizationベアラートークン認証 x-dodo-payments-api-key直接APIキーヘッダー
クライアント機能
異なるMCPクライアントは、MCP仕様に対するサポートのレベルが異なります。サーバーはこれらの制限を回避するためにツールスキーマを自動的に調整できます。
# Auto-detect client (default)
npx dodopayments-mcp --client=infer
# Configure for specific clients
npx dodopayments-mcp --client=cursor
npx dodopayments-mcp --client=claude
npx dodopayments-mcp --client=claude-code
npx dodopayments-mcp --client=openai-agents
利用可能なクライアントプリセット
クライアント 説明 infer自動検出クライアント(デフォルト) cursorCursorエディタ claudeClaude AIウェブまたはデスクトップ claude-codeClaude Code CLI openai-agentsOpenAIエージェントプラットフォーム
手動機能構成
上記にリストされていないクライアントの場合、機能を手動で構成します:
# Disable $ref pointer support and set max tool name length
npx dodopayments-mcp --no-capability=refs --capability=tool-name-length=40
利用可能な機能:
top-level-unions - トップレベルのユニオンタイプのサポート
valid-json - 正しいJSON文字列引数の解析
refs - スキーマ内の$refポインタのサポート
unions - ユニオンタイプ(anyOf)のサポート
formats - フォーマット検証のサポート
tool-name-length=N - 最大ツール名の長さ
npx dodopayments-mcp --describe-capabilitiesを実行して詳細な機能情報を取得してください。
ツールフィルタリング
AIアシスタントに公開されるAPI操作を制御し、パフォーマンスを最適化し、セキュリティを維持します。
操作タイプでフィルタリング
読み取り専用または書き込み操作へのアクセスを制限します。
# Only expose read operations (GET requests)
npx dodopayments-mcp --operation=read
# Only expose write operations (POST, PUT, DELETE)
npx dodopayments-mcp --operation=write
開発中は--operation=readを使用して、データの誤っての変更を防ぎます。
リソースでフィルタリング
特定のAPIリソースにツールを制限します。
# Only expose payment-related tools
npx dodopayments-mcp --resource=payments
# Expose multiple resources
npx dodopayments-mcp --resource=payments --resource=customers
# Use wildcards for resource groups
npx dodopayments-mcp --resource=subscription *
特定のツールを含めるまたは除外する
利用可能な個々のツールを微調整します。
# Include only specific tools
npx dodopayments-mcp --tool=create_payments --tool=list_payments
# Exclude specific tools
npx dodopayments-mcp --no-tool=delete_products
# Disable the docs search tool
npx dodopayments-mcp --no-tools=docs
# List all available tools
npx dodopayments-mcp --list
フィルタを組み合わせる
複数のフィルタを同時に適用して、正確な制御を行います。
# Only payment and subscription read operations
npx dodopayments-mcp --operation=read --resource=payments --resource=subscriptions
URLクエリパラメータフィルタリング(リモートサーバー)
リモートサーバーを使用する際は、URLクエリパラメータを介してフィルタを適用します:
https://mcp.dodopayments.com/?operation=read
https://mcp.dodopayments.com/?resource=payments
ダイナミックツールモード
大規模なAPIでは、すべてのツールを一度に読み込むとAIのコンテキストウィンドウが圧倒される可能性があります。ダイナミックツールモードは、より効率的な代替手段を提供します。
npx dodopayments-mcp --tools=dynamic
ダイナミックモードでは、3つのメタツールが個々のAPIツールを置き換えます:
list_api_endpoints - オプションのフィルタリングを伴う利用可能なメソッドを発見します
get_api_endpoint_schema - 特定のメソッドの詳細なスキーマを取得します
invoke_api_endpoint - 適切なパラメータで任意のメソッドを実行します
ダイナミックツールは、50以上のメソッドを持つAPIに対して自動的に有効になります。すべてのツールを含めるには--tools=allでオーバーライドします。
# Use both dynamic tools and specific resources
npx dodopayments-mcp --tools=dynamic --resource=payments
高度な使用法
プログラムによる統合
カスタムMCPサーバーを構築するか、既存のものをプログラムで拡張します。
import { server , endpoints , init } from "dodopayments-mcp/server" ;
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js" ;
// Initialize with all default endpoints
init ({ server , endpoints });
// Start the server
const transport = new StdioServerTransport ();
await server . connect ( transport );
カスタムツールの開発
独自のツールとビジネスロジックでMCPサーバーを拡張します。
import { server , init } from "dodopayments-mcp/server" ;
import createPayments from "dodopayments-mcp/tools/payments/create-payments" ;
import { zodToJsonSchema } from "zod-to-json-schema" ;
import { z } from "zod" ;
// Define a custom tool
const customTool = {
tool: {
name: 'calculate_payment_total' ,
description: 'Calculate payment total with tax and fees' ,
inputSchema: zodToJsonSchema (
z . object ({
amount: z . number (). describe ( 'Base amount in cents' ),
tax_rate: z . number (). describe ( 'Tax rate as decimal' ),
})
),
},
handler : async ( client , args ) => {
const total = args . amount * ( 1 + args . tax_rate );
return {
content: [{
type: 'text' ,
text: JSON . stringify ({ total , currency: 'usd' }),
}],
};
},
};
// Initialize with custom tools
init ({
server ,
endpoints: [ createPayments , customTool ]
});
セキュリティベストプラクティス
API資格情報を保護し、安全な統合を維持します。
資格情報をバージョン管理にコミットしない APIキーを環境変数または安全なシークレット管理システムに保存します。 # Use environment variables
export DODO_PAYMENTS_API_KEY = "dodo_test_..."
# Use a .env file (add to .gitignore)
echo "DODO_PAYMENTS_API_KEY=dodo_test_..." > .env
定期的にキーをローテーションする 定期的に新しいAPIキーを生成し、Dodo Paymentsダッシュボードを通じて古いものを無効にします。 開発中はテストキーを使用する 本番データに影響を与えないように、開発中は常にテストモードのAPIキーを使用してください。
本番環境でツールフィルタリングを適用する AIアシスタントが必要とする操作のみを公開します。 # Production: read-only access
npx dodopayments-mcp --operation=read
# Development: full access
npx dodopayments-mcp
リモートサーバーに認証を実装する リモートでデプロイする際は、常にAuthorizationヘッダーまたはx-dodo-payments-api-keyヘッダーを介して認証を要求します。 API使用状況を監視する Dodo Paymentsダッシュボードを通じてMCPサーバーのアクティビティを追跡し、異常なパターンに対してアラートを設定します。
リモートサーバーにHTTPSを使用する リモートMCPサーバーは常にHTTPSエンドポイントの背後にデプロイします。 レート制限を実装する MCPサーバーとAPIレベルの両方でレート制限を実装して、悪用から保護します。 ネットワークアクセスを制限する どのクライアントがMCPサーバーに接続できるかを制限するためにファイアウォールルールを構成します。
トラブルシューティング
APIキーを確認する APIキーが正しく設定され、必要な権限を持っていることを確認します。 # Test your API key
curl -H "Authorization: Bearer dodo_test_..." \
https://api.dodopayments.com/payments
ネットワーク接続を確認する Dodo Payments APIエンドポイントに到達できることを確認します。 クライアントログを確認する 接続の問題を診断するために、MCPクライアントで詳細なログを有効にします。
APIキー環境を確認する テストキーをテストエンドポイントで使用し、本番キーを本番エンドポイントで使用していることを確認します。 環境変数を確認する DODO_PAYMENTS_ENVIRONMENTが正しく設定されていることを確認します(live_modeは本番用)。資格情報を再生成する 問題が解決しない場合は、ダッシュボードを通じて新しいAPIキーを生成します。
入力パラメータを検証する AIアシスタントが各ツールに対して正しくフォーマットされたパラメータを提供していることを確認します。 エラーメッセージを確認する APIからのエラーレスポンスを確認し、何が問題だったのか具体的なガイダンスを得ます。 APIを直接テストする curlやPostmanを介してDodo Payments APIを直接呼び出すときに操作が機能することを確認します。
別のクライアントプリセットを試す ツールが正しく機能しない場合は、クライアントを明示的に指定してみてください: npx dodopayments-mcp --client=cursor
機能サポートを確認する 一部のクライアントはすべてのJSONスキーマ機能をサポートしていません。--describe-capabilitiesを使用して、サポートされている内容を理解します。
リソース