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

概要

Model Context Protocol (MCP)は、AIアプリケーションが外部データソースやAPIに安全に接続できるオープンスタンダードです。Dodo Payments MCPサーバーは、Claude、Cursor、その他のMCP互換クライアントに対して、あなたの支払いインフラストラクチャへの構造化されたアクセスを提供します。

主な機能

  • 支払い操作: 支払いと返金の作成、取得、管理
  • サブスクリプション管理: 定期請求、アップグレード、キャンセルの処理
  • 顧客管理: 顧客データとポータルアクセスの管理
  • 商品カタログ: 商品、価格、割引の作成と更新
  • ライセンス管理: ソフトウェアライセンスの有効化、検証、管理
  • 使用量ベースの請求: メーター使用量の追跡と請求

インストール

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

リモート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 API key
export DODO_PAYMENTS_API_KEY="dodo_test_..."

# 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_..." \
  -p 3000:3000 \
  ghcr.io/dodopayments/mcp:latest
DockerイメージはGitHub Container Registryで入手できます。

クライアント設定

お好みのAIクライアントでDodo Payments MCPサーバーを設定します。
CursorでDodo Payments MCPサーバーを設定し、支払いデータへの会話アクセスを有効にします。
1

Cursor設定を開く

Cursor設定 > 機能 > Model Context Protocolに移動するか、Cmd/Ctrl + Shift + Pを押して「MCP設定」を検索します。
2

設定を編集

設定を編集をクリックして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_..."
      }
    }
  }
}
4

保存して再起動

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

ツールフィルタリング

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

特定のツールを含めるまたは除外する

利用可能な個々のツールを微調整します。
# Include only specific tools
npx dodopayments-mcp --tool=create_payments --tool=list_payments

# Exclude specific tools
npx dodopayments-mcp --no-tool=delete_products

# List all available tools
npx dodopayments-mcp --list

フィルタを組み合わせる

正確な制御のために複数のフィルタを同時に適用します。
# Only payment and subscription read operations
npx dodopayments-mcp --operation=read --resource=payments --resource=subscriptions

高度な使用法

プログラムによる統合

カスタム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
カスタムエンドポイントの認証を実装するリクエストを検証し、カスタムツールハンドラーで認可を強制します。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キー環境を確認するテストエンドポイントにはテストキーを、本番エンドポイントには本番キーを使用していることを確認します。キーの権限を確認するAPIキーが試みている操作の権限を持っていることを確認します。資格情報を再生成する問題が解決しない場合は、ダッシュボードから新しいAPIキーを生成します。
入力パラメータを検証するAIアシスタントが各ツールに対して正しくフォーマットされたパラメータを提供していることを確認します。エラーメッセージを確認するAPIからのエラーレスポンスを確認し、何が問題だったのか具体的なガイダンスを得ます。APIを直接テストするcurlやPostmanを介してDodo Payments APIを直接呼び出すときに操作が機能することを確認します。

リソース