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回のツール呼び出しで。
Dodo Knowledge MCP
Dodo Payments MCPサーバー(API操作を実行するため)に加えて、Dodo Knowledge MCP を提供しています。これは、AIアシスタントがDodo Paymentsのドキュメントとナレッジベースに即座にアクセスできるセマンティック検索サーバーです。
ContextMCP.ai を使用して構築 : Dodo Knowledge MCPはContextMCPによって動作しており、ベクトル埋め込みを使用してドキュメント全体を迅速にセマンティック検索できます。
Dodo Knowledge MCPとは?
Dodo Knowledge MCPは、次の機能を提供するリモートMCPサーバーです。
セマンティックドキュメント検索 : 自然言語クエリを使用して関連するドキュメントを見つける
コンテキストに基づく回答 : AIアシスタントがDodo Paymentsに関する正確で最新の情報を取得
ゼロセットアップ : APIキーやローカルインストールは不要 - 接続してクエリを開始するだけ
クイックセットアップ
AIクライアントでDodo Knowledge MCPに接続します:
カーソル
Claude Desktop
ウィンドサーフィン
Claude Code
Add to ~/.cursor/mcp.json: {
"mcpServers" : {
"dodo-knowledge" : {
"command" : "npx" ,
"args" : [ "-y" , "mcp-remote@latest" , "https://knowledge.dodopayments.com/mcp" ]
}
}
}
Claude Desktopの設定に追加: {
"mcpServers" : {
"dodo-knowledge" : {
"command" : "npx" ,
"args" : [ "-y" , "mcp-remote@latest" , "https://knowledge.dodopayments.com/mcp" ]
}
}
}
設定ファイルの場所:
macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
Windows : %APPDATA%\Claude\claude_desktop_config.json
Linux : ~/.config/Claude/claude_desktop_config.json
Add to ~/.codeium/windsurf/mcp_config.json: {
"mcpServers" : {
"dodo-knowledge" : {
"command" : "npx" ,
"args" : [ "-y" , "mcp-remote@latest" , "https://knowledge.dodopayments.com/mcp" ]
}
}
}
ターミナルで実行: claude mcp add dodo-knowledge -- npx -y mcp-remote@latest https://knowledge.dodopayments.com/mcp
Node.js 18 以上が必要です。mcp-remote パッケージがリモート MCP サーバーへの接続を処理します。
両方のMCPサーバーを一緒に使用する
AI支援の開発体験を最適化するために、両方のMCPサーバーの使用をお勧めします:
サーバー 目的 使用例 Dodo Knowledge MCP ドキュメント検索 ”Webhookを処理するにはどうすればよいですか?”, “どの支払い方法がサポートされていますか?“ Dodo Payments MCP API操作 支払いの作成、サブスクリプションの管理、返金の処理
{
"mcpServers" : {
"dodo-knowledge" : {
"command" : "npx" ,
"args" : [ "-y" , "mcp-remote@latest" , "https://knowledge.dodopayments.com/mcp" ]
},
"dodopayments" : {
"command" : "npx" ,
"args" : [ "-y" , "mcp-remote@latest" , "https://mcp.dodopayments.com/sse" ]
}
}
}
両方のサーバーが設定されていると、AIアシスタントは最初にドキュメントを検索して機能の実装方法を理解し、その後実際のAPI呼び出しを実行できます - すべて1つの会話で。
Knowledge MCPのトラブルシューティング
接続の問題が発生した場合:
MCP 認証キャッシュをクリア : rm -rf ~/.mcp-auth
クライアントアプリケーションを再起動
クライアントログを確認 してエラーメッセージを探す
Node.js バージョンを確認 : Node.js 18+ が必要
Knowledge MCP Server Dodo Knowledge MCPの設定ページにアクセス
インストール
ワークフローに最適なインストール方法を選択してください。
リモート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 デスクトップ
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 設定」を検索します。
設定を編集
設定を編集 をクリックして、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データについて尋ねて接続を確認します。
Dodo Payments MCP サーバーを Claude Desktop に設定して、支払いデータへの会話アクセスを有効にします。
設定ファイルを見つける
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 サーバーを有効にします。
Dodo Payments MCP サーバーを Cline (VS Code) に設定して、支払いデータへの会話アクセスを有効にします。
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あなたのウェブフック署名キー いいえ 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://test.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 を使用してください。
リソース