メインコンテンツへスキップ

概要

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つの強力なツールを提供します:
  1. Docs Search Tool: Dodo Payments APIおよびSDKに関するドキュメントをクエリし、利用可能な操作とパラメータを理解します。
  2. Code Execution Tool: SDKに対してTypeScriptコードを記述し、ウェブやファイルシステムへのアクセスなしで安全なサンドボックス環境で実行します。
このアーキテクチャにより、AIエージェントは複雑で多段階の支払い操作を決定論的かつ繰り返し実行できます。
Code Modeを使用すると、エージェントは複数のAPI呼び出しを連鎖させ、条件付きロジックを処理し、計算を行うことができます—すべて1回のツール呼び出しで。

インストール

ワークフローに最適なインストール方法を選択してください。

リモートMCPサーバー(推奨)

ローカルのセットアップやインストールなしでホストされたMCPサーバーにアクセスします。これが最も迅速に始める方法です。
1

リモートサーバーにアクセス

ブラウザでhttps://mcp.dodopayments.comに移動します。
2

MCPクライアントを構成

特定のクライアント用に提供されたJSON構成をコピーします。CursorまたはClaude Desktopの場合、これをMCP設定に追加します:
{
  "mcpServers": {
    "dodopayments_api": {
      "command": "npx",
      "args": ["-y", "mcp-remote@latest", "https://mcp.dodopayments.com/sse"]
    }
  }
}
3

認証と構成

OAuthフローが次のことを促します:
  • Dodo Payments APIキーを入力
  • 環境を選択(テストまたは本番)
  • MCPクライアントタイプを選択
APIキーを安全に保管してください。開発中はテストモードのキーを使用してください。
4

セットアップを完了

ログインして承認をクリックして接続を承認します。
接続が完了すると、AIアシスタントはあなたの代わりにDodo Payments APIと対話できます。

NPMパッケージ

NPMを使用して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
@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
DockerイメージはGitHub Container Registryで入手できます。

クライアント構成

お好みのAIクライアントでDodo Payments MCPサーバーを構成します。
CursorでDodo Payments MCPサーバーを設定し、支払いデータへの会話アクセスを有効にします。ワンクリックインストール以下のボタンを使用して、CursorにMCPサーバーを直接インストールします:[Cursorに追加](https://cursor.com/en-US/install-mcp?name=dodopayments-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImRvZG9wYXltZW50cy1tY3AiXSwiZW52Ijp7IkRPRE9fUEFZTUVOVFNfQVBJX0tFWSI6IlNldCB5b3VyIERPRE9fUEFZTUVOVFNfQVBJX0tFWSBoZXJlLiIsIkRPRE9fUEFZTUVOVFNfV0VCSE9PS19LRVkiOiJTZXQgeW91ciBET0RPX1BBWU1FTlRTX1dFQkhPT0tfS0VZIGhlcmUuIn19)クリック後、Cursorのmcp.jsonで環境変数を設定します。Cursor設定 > ツールとMCP > 新しいMCPサーバーを通じて行います。手動構成
1

Cursor設定を開く

Cursor設定 > 機能 > モデルコンテキストプロトコルに移動するか、Cmd/Ctrl + Shift + Pを押して「MCP設定」を検索します。
2

構成を編集

Edit Configをクリックしてmcp_config.jsonファイルを開きます。
3

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"
      }
    }
  }
}
4

保存して再起動

構成ファイルを保存し、Cursorを再起動します。
AIアシスタントにDodo Paymentsデータについて尋ねて接続を確認します。

環境変数

環境変数を使用して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ツールを置き換えます:
  1. list_api_endpoints - オプションのフィルタリングを伴う利用可能なメソッドを発見します
  2. get_api_endpoint_schema - 特定のメソッドの詳細なスキーマを取得します
  3. 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を使用して、サポートされている内容を理解します。

リソース