Featured

Deploy OpenClaw in 60 seconds β€” 20% off logoDeploy OpenClaw in 60 seconds β€” 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger β†’
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger β†’
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free β†’
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now β†’
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data β€” no proxies, no parsers, no maintenance.

Start building free β†’
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it β€” secured from day one.

Get it set up for you β†’
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free β†’
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here β†’

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

dodopayments/dodo-agent-plugin MCP server](https://glama.ai/mcp/servers/dodopayments/dodo-agent-plugin/badges/score.svg)](https://glama.ai/mcp/servers/dodopayments/dodo-agent-plugin) πŸŽ–οΈ πŸ“‡ ☁️ - Official Dodo Payments MCP servers β€” dodopayments-api for...

README.md

Dodo Payments Agent Plugin

![License](./LICENSE) ![Version](./CHANGELOG.md) ![npm](https://www.npmjs.com/package/@dodopayments/opencode-plugin) ![Discord](https://discord.gg/bYqAp4ayYh)

The official Dodo Payments plugin for AI coding agents. Installs seventeen integration skills and two MCP servers across Claude Code, Codex CLI, Cursor, and OpenCode from a single source of truth.

What you get

  • Dodo Payments API MCP server - Live API access (payments, subscriptions, customers, products, refunds, licenses, usage). Authenticates via browser OAuth, no local credentials required.
  • Dodo Knowledge MCP server - No credentials. Semantic search over the current Dodo Payments documentation.
  • Seventeen agent skills - Written as SKILL.md files with YAML frontmatter. Your agent loads the relevant skill on its own when a task calls for it.

Install

Claude Code

claude plugins marketplace add dodopayments/dodo-agent-plugin
claude plugins install dodopayments@dodopayments

The API MCP server uses browser OAuth by default, so no keys are required at install time. The first time your agent calls a Dodo tool, you'll be prompted to sign in.

Codex CLI

Codex installs plugins in two steps: register the marketplace from your shell, then install the plugin from inside the Codex TUI.

  1. Register the marketplace:
    codex plugin marketplace add dodopayments/dodo-agent-plugin
  1. Open Codex and run the /plugins slash command:
    codex

Then type /plugins, switch to the Dodo Payments marketplace, select the dodopayments plugin, and choose Install plugin.

If you previously added the marketplace before this fix landed and the plugin doesn't appear under /plugins, refresh it:

codex plugin marketplace upgrade dodopayments

Codex CLI does not have a codex plugin install subcommand. Plugin installation always happens through the in-TUI /plugins flow (official docs).

Cursor

Manual install:

git clone https://github.com/dodopayments/dodo-agent-plugin.git ~/.cursor/plugins/local/dodo-agent-plugin

Restart Cursor. The plugin loads skills from .claude/skills/ (via Cursor's Claude Code compat) and MCP servers from .mcp.json.

OpenCode

OpenCode distributes via npm. Add the plugin to your opencode.json:

{
    "$schema": "https://opencode.ai/config.json",
    "plugin": ["@dodopayments/opencode-plugin"]
}

Restart OpenCode. Both MCP servers (dodopayments-api, dodo-knowledge) are registered automatically via the plugin's config hook, and the seventeen skills are auto-discovered from the installed package. No manual mcp block required.

If you prefer the local stdio API server with your own API key instead of the default remote OAuth server, declare dodopayments-api yourself in opencode.json - your entry wins over the plugin default:

{
    "plugin": ["@dodopayments/opencode-plugin"],
    "mcp": {
        "dodopayments-api": {
            "type": "local",
            "command": ["npx", "-y", "dodopayments-mcp@latest"],
            "environment": {
                "DODO_PAYMENTS_API_KEY": "dodo_test_...",
                "DODO_PAYMENTS_WEBHOOK_KEY": "whsec_...",
                "DODO_PAYMENTS_ENVIRONMENT": "test_mode"
            },
            "enabled": true
        }
    }
}

Included Skills

Getting started

| Skill | Description | |-------|-------------| | best-practices | SDK setup, environments, API keys, and the canonical checkout-to-webhook architecture | | framework-adapters | Official @dodopayments/* handlers for Next.js, Express, Hono, Astro, Remix, SvelteKit, Nuxt, Fastify, TanStack, Bun, Convex | | testing-and-go-live | Test mode, test payment methods, webhook testing, production launch checklist |

Accepting payments

| Skill | Description | |-------|-------------| | checkout-integration | Checkout Sessions, payment links, and overlay checkout | | subscription-integration | Subscription lifecycle, trials, plan changes, proration, on-demand charges | | mobile-checkout | In-app checkout for React Native, Flutter, iOS, and Android | | webhook-integration | Receiving and verifying webhooks via the Standard Webhooks spec |

Billing models

| Skill | Description | |-------|-------------| | credit-based-billing | Credit entitlements, balances, ledger, rollover, overage, meter-based deduction | | usage-based-billing | Meters, event ingestion, aggregation, and per-unit pricing | | license-keys | License key activation, validation, and instance management |

Catalog and pricing

| Skill | Description | |-------|-------------| | product-catalog-management | Products, pricing, add-ons, collections, images, digital delivery | | discounts-and-promotions | Discount codes, eligibility, stacking, subscription-cycle limits | | localized-pricing | Localized pricing, adaptive currency, and purchasing power parity |

Customers and operations

| Skill | Description | |-------|-------------| | customer-management | Customers, self-service portal, payment methods, wallets | | refunds-and-disputes | Refunds, disputes and chargebacks, access reconciliation |

UI and integrations

| Skill | Description | |-------|-------------| | billing-sdk | BillingSDK React components for pricing tables and billing UI | | better-auth-integration | The @dodopayments/better-auth plugin for customer sync, checkout, portal |

Skills source: dodopayments/skills (bundled as a git submodule in skills-src/).

Included MCP Servers

| Server | Purpose | Auth | |--------|---------|------| | dodopayments-api | Live API access (payments, subscriptions, customers, products, refunds, licenses, usage) | OAuth (browser) | | dodo-knowledge | Semantic search over the Dodo Payments documentation | None |

Both servers are wired through mcp-remote so they run in any MCP-compatible client.

Configure (optional, Claude Code)

If you prefer to run the API MCP locally with an API key instead of the remote SSE server, open /plugins in Claude Code, select Dodo Payments, and choose Configure options. Fill in:

  • dodo_api_key - your dodo_test_... or dodo_live_... key
  • dodo_webhook_key - your webhook signing secret
  • dodo_environment - test_mode or live_mode

Then edit .mcp.json to point dodopayments-api at the local stdio server:

{
    "mcpServers": {
        "dodopayments-api": {
            "type": "stdio",
            "command": "npx",
            "args": ["-y", "dodopayments-mcp@latest"],
            "env": {
                "DODO_PAYMENTS_API_KEY": "${user_config.dodo_api_key}",
                "DODO_PAYMENTS_WEBHOOK_KEY": "${user_config.dodo_webhook_key}",
                "DODO_PAYMENTS_ENVIRONMENT": "${user_config.dodo_environment}"
            }
        }
    }
}

Run /reload-plugins to apply changes to your current session.

Enable / disable individual MCP servers

Both MCPs ship enabled by default. You can turn either one off independently.

OpenCode

The npm plugin reads two environment variables before registering MCPs:

| Env var | Effect | |---|---| | DODO_DISABLE_API_MCP=1 | Skips registering dodopayments-api | | DODO_DISABLE_KNOWLEDGE_MCP=1 | Skips registering dodo-knowledge |

Truthy values: 1, true, yes, on (case-insensitive). Export the var in your shell profile or set it inline:

DODO_DISABLE_API_MCP=1 opencode

Claude Code, Codex CLI, Cursor

These clients load MCPs from the static .mcp.json shipped with the plugin. To disable a server, override its entry in your own project-level config and set "enabled": false.

Claude Code - edit .mcp.json at your project root (or run claude mcp disable dodopayments-api):

{
    "mcpServers": {
        "dodopayments-api": {
            "type": "stdio",
            "command": "npx",
            "args": ["-y", "mcp-remote@latest", "https://mcp.dodopayments.com/sse"],
            "enabled": false
        }
    }
}

Run /reload-plugins to apply.

Codex CLI / Cursor - the same enabled: false pattern works in any project-level .mcp.json that overrides the plugin's bundled file. Restart the client after editing.

Per-MCP toggles inside the Claude Code /plugin UI are tracked upstream in anthropics/claude-code#27105 and #46373. Until those land, the enabled: false override above is the supported path.

A prompt to try first

Once the plugin is active, try:

Set up Dodo Payments webhook handlers in my Next.js app for payment.succeeded and subscription.active events.

Your agent will load the webhook-integration skill, use the dodo-knowledge MCP to pull the latest payload shapes, and write a handler with signature verification following the Standard Webhooks spec.

Local development

Clone with the skills submodule:

git clone --recurse-submodules https://github.com/dodopayments/dodo-agent-plugin.git
cd dodo-agent-plugin

Validate the Claude Code plugin and marketplace:

claude plugin validate .

Load the plugin directly for a dev session:

claude --plugin-dir ./dodo-agent-plugin

Refresh the bundled skills to the latest upstream version:

git submodule update --remote skills-src

For maintainers

The repo is configured to publish the OpenCode npm package on every GitHub Release.

One-time setup (already done for this repo):

  • npm scope @dodopayments exists and is owned by Dodo Payments.
  • GitHub Actions secret NPM_TOKEN is provisioned with publish rights to the @dodopayments scope.

Release workflow:

  1. Bump the version in .claude-plugin/plugin.json.
  2. Run node scripts/sync-manifests.mjs to propagate the version to Cursor, Codex, npm, and marketplace manifests.
  3. Commit and tag.
  4. Create a GitHub Release - the Publish @dodopayments/opencode-plugin workflow runs automatically and publishes to npm with provenance.

Manual dry-run:

  • Workflow dispatch with dry_run: true to validate the release pipeline without publishing.

CI check:

  • node scripts/sync-manifests.mjs --check is run by the workflow and fails the release if any manifest is out of sync.

Resources

License

MIT - see LICENSE.

See related servers & alternatives β†’

Related MCP servers

Browse all β†’

Related guides

Hand-picked reading to help you choose and use Vector & Memory servers.