메인 콘텐츠로 건너뛰기

개요

모델 컨텍스트 프로토콜(MCP)은 AI 애플리케이션이 외부 데이터 소스 및 API에 안전하게 연결할 수 있도록 하는 개방형 표준입니다. Dodo Payments MCP 서버는 Claude, Cursor 및 기타 MCP 호환 클라이언트와 같은 AI 어시스턴트에게 귀하의 결제 인프라에 대한 구조화된 접근을 제공합니다.

주요 기능

  • 결제 작업: 결제 및 환불 생성, 검색 및 관리
  • 구독 관리: 반복 청구, 업그레이드 및 취소 처리
  • 고객 관리: 고객 데이터 및 포털 접근 관리
  • 제품 카탈로그: 제품, 가격 및 할인 생성 및 업데이트
  • 라이선스 관리: 소프트웨어 라이선스 활성화, 검증 및 관리
  • 사용 기반 청구: 측정된 사용량 추적 및 청구

설치

귀하의 작업 흐름에 가장 적합한 설치 방법을 선택하십시오.

원격 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 설정 > 기능 > 모델 컨텍스트 프로토콜로 이동하거나 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 사용항상 HTTPS 엔드포인트 뒤에 원격 MCP 서버를 배포합니다.요율 제한 구현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를 직접 호출할 때 작업이 작동하는지 확인합니다.

리소스