Dodo Payments
API ao vivo do Dodo Payments para agentes de IA — pagamentos, assinaturas, clientes, produtos, reembolsos, chaves de licença e faturamento baseado em uso via OAuth no navegador (sem necessidade de chave de API) além de um servidor de busca de documentação complementar.
Documentação
Plugin de Agente Dodo Payments
O plugin oficial da Dodo Payments para agentes de codificação de IA. Instala dezessete habilidades de integração e dois servidores MCP em Claude Code, Codex CLI, Cursor, VS Code / GitHub Copilot e OpenCode a partir de uma única fonte de verdade.
Este plugin está em conformidade com a especificação Agent Plugins 1.0.0: uma raiz plugin.json, habilidades como filhos imediatos de skills/ e servidores MCP em mcp.json. Clientes com suporte nativo a Agent Plugins o carregam diretamente; os manifestos específicos de provedor neste repositório são shims de compatibilidade gerados para clientes que não o fazem.
O que você obtém
- Servidor MCP da API Dodo Payments - Acesso à API ao vivo (pagamentos, assinaturas, clientes, produtos, reembolsos, licenças, uso). Autentica via OAuth no navegador, sem necessidade de credenciais locais.
- Servidor MCP do Conhecimento Dodo - Sem credenciais. Pesquisa semântica sobre a documentação atual da Dodo Payments.
- Dezessete habilidades de agente - Escritas como arquivos
SKILL.mdcom frontmatter YAML. Seu agente carrega a habilidade relevante por conta própria quando uma tarefa exige.
Instalação
Claude Code
claude plugins marketplace add dodopayments/dodo-agent-plugin
claude plugins install dodopayments@dodopayments
O servidor MCP da API usa OAuth no navegador por padrão, então nenhuma chave é necessária no momento da instalação. Na primeira vez que seu agente chamar uma ferramenta Dodo, você será solicitado a entrar.
Codex CLI
Registre o marketplace e depois instale o plugin:
codex plugin marketplace add dodopayments/dodo-agent-plugin
codex plugin add dodopayments@dodopayments
Verifique:
codex plugin list # dodopayments installed, enabled
codex mcp list # dodo-knowledge, dodopayments-api
codex mcp login dodopayments-api # browser OAuth, only needed for the API server
Você também pode instalar de dentro da TUI: execute codex, digite /plugins, selecione o marketplace Dodo Payments e o plugin dodopayments, depois escolha Instalar plugin.
Se você adicionou o marketplace anteriormente e o plugin não aparece, atualize-o:
codex plugin marketplace upgrade dodopayments
Cursor
Instalação manual:
git clone https://github.com/dodopayments/dodo-agent-plugin.git ~/.cursor/plugins/local/dodo-agent-plugin
Reinicie o Cursor. O plugin carrega habilidades de skills/ e servidores MCP de .mcp.json, conforme declarado em .cursor-plugin/plugin.json.
O Cursor 3.14.27 também reconhece Agent Plugins 1.0.0 diretamente: seu host de agente carrega ambos os URLs de schema da spec e o próprio regex
nameda spec, e aceita tanto.cursor-plugin/marketplace.jsonquanto.claude-plugin/marketplace.jsoncomo fonte de marketplace. O.cursor-plugin/plugin.jsongerado é mantido como rede de segurança para builds mais antigas.
Antes da v0.5.0, este clone produzia um plugin sem habilidades funcionais:
skills/continha symlinks para um submódulo git que umgit clonesimples não busca. As habilidades agora são fornecidas como arquivos reais, então o comando acima funciona conforme documentado. Se você instalou uma versão anterior, re-clone.
Kiro
O Kiro lê o manifesto do Agent Plugins nativamente e carrega isto como um Power:
git clone https://github.com/dodopayments/dodo-agent-plugin.git
Aponte o Kiro para a pasta clonada. As habilidades carregam de skills/, servidores MCP de mcp.json, e a apresentação específica do Kiro vem do namespace de extensão dev.kiro em plugin.json.
Gemini CLI (somente MCP)
O Gemini CLI não tem primitiva de habilidade de agente, então apenas os dois servidores MCP estão disponíveis - as dezessete habilidades não estão. dodo-knowledge ainda cobre uma boa parte do que as habilidades fornecem, e permanece atualizado automaticamente.
git clone https://github.com/dodopayments/dodo-agent-plugin.git \
~/.gemini/extensions/dodopayments
Reinicie o Gemini CLI. gemini-extension.json na raiz do repositório é o manifesto.
VS Code / GitHub Copilot
git clone https://github.com/dodopayments/dodo-agent-plugin.git
Em seguida, abra a visualização de Chat, vá para Plugins e adicione a pasta clonada. As habilidades carregam de skills/ e ambos os servidores MCP carregam de .mcp.json.
O VS Code 1.125.1 não usa o
$schemado Agent Plugins - a string não aparece em lugar nenhum do seu bundle. Seu carregador escolhe um manifesto sondando, em ordem,.plugin/plugin.json, depois.claude-plugin/plugin.json, depois umplugin.jsonraiz, e padroniza MCP para.mcp.jsonem vez demcp.json. Como este repositório envia um.claude-plugin/plugin.jsongerado, o VS Code o carrega através desse ramo. Tudo funciona - dezessete habilidades e dois servidores MCP - mas via manifestos de compatibilidade em vez dos da spec, então o VS Code usa a pontemcp-remoteem vez dos transportes nativos emmcp.json.
OpenCode
O OpenCode distribui via npm. Adicione o plugin ao seu opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@dodopayments/opencode-plugin"]
}
Reinicie o OpenCode. Ambos os servidores MCP (dodopayments-api, dodo-knowledge) são registrados automaticamente via o hook config do plugin. Nenhum bloco mcp manual é necessário.
As habilidades precisam do pacote instalado localmente mais uma linha extra. O OpenCode não verifica pacotes instalados para habilidades, então aponte-o para o diretório skills/ do pacote você mesmo. Entradas skills.paths resolvem em relação ao diretório do projeto, então o pacote deve estar presente no node_modules do projeto - o cache de plugin do próprio OpenCode não é o mesmo local:
npm install --save-dev @dodopayments/opencode-plugin
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@dodopayments/opencode-plugin"],
"skills": {
"paths": ["node_modules/@dodopayments/opencode-plugin/skills"]
}
}
Um caminho absoluto também funciona e evita o requisito de instalação local.
Verifique com opencode run "List every skill available to you by name." - você deve ver todas as dezessete. Um caminho de habilidades que não existe é ignorado silenciosamente, então verifique em vez de assumir.
Versões anteriores à 0.5.0 documentavam essas habilidades como auto-descobertas. Elas não eram: nada no OpenCode verifica um pacote instalado, então usuários do OpenCode tinham servidores MCP, mas nenhuma habilidade. Definir
config.skillsdo hookconfigdo plugin também não corrige isso - o índice de habilidades é construído antes que os hooksconfigsejam executados, então nunca registra nada.
Se você preferir o servidor API stdio local com sua própria chave de API em vez do servidor OAuth remoto padrão, declare dodopayments-api você mesmo em opencode.json - sua entrada vence sobre o padrão do plugin:
{
"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
}
}
}
Habilidades Incluídas
Começando
| Habilidade | Descrição |
|---|---|
dodo-best-practices | Configuração do SDK, ambientes, chaves de API e a arquitetura canônica de checkout para webhook |
framework-adapters | Handlers oficiais de @dodopayments/* para Next.js, Express, Hono, Astro, Remix, SvelteKit, Nuxt, Fastify, TanStack, Bun, Convex |
testing-and-go-live | Modo de teste, métodos de pagamento de teste, teste de webhook, checklist de lançamento em produção |
Aceitando pagamentos
| Habilidade | Descrição |
|---|---|
checkout-integration | Sessões de checkout, links de pagamento e checkout sobreposto |
subscription-integration | Ciclo de vida de assinaturas, períodos de teste, mudanças de plano, rateio, cobranças sob demanda |
mobile-checkout | Checkout no aplicativo para React Native, Flutter, iOS e Android |
webhook-integration | Receber e verificar webhooks via especificação Standard Webhooks |
Modelos de cobrança
| Habilidade | Descrição |
|---|---|
credit-based-billing | Direitos de crédito, saldos, razão, rolagem, excedente, dedução baseada em medidor |
usage-based-billing | Medidores, ingestão de eventos, agregação e preço por unidade |
license-keys | Ativação de chave de licença, validação e gerenciamento de instâncias |
Catálogo e preços
| Habilidade | Descrição |
|---|---|
product-catalog-management | Produtos, preços, complementos, coleções, imagens, entrega digital |
discounts-and-promotions | Códigos de desconto, elegibilidade, empilhamento, limites de ciclo de assinatura |
localized-pricing | Preços localizados, moeda adaptativa e paridade de poder de compra |
Clientes e operações
| Habilidade | Descrição |
|---|---|
customer-management | Clientes, portal de autoatendimento, métodos de pagamento, carteiras |
refunds-and-disputes | Reembolsos, disputas e estornos, reconciliação de acesso |
UI e integrações
| Habilidade | Descrição |
|---|---|
billing-sdk | Componentes React do BillingSDK para tabelas de preços e UI de cobrança |
better-auth-integration | O plugin @dodopayments/better-auth para sincronização de clientes, checkout, portal |
Fonte das habilidades: dodopayments/skills, fornecido em skills/ como arquivos reais. A proveniência (commit upstream e transformações aplicadas) é registrada em .skills-source.json.
Servidores MCP Incluídos
| Servidor | Propósito | Auth |
|---|---|---|
dodopayments-api | Acesso à API ao vivo (pagamentos, assinaturas, clientes, produtos, reembolsos, licenças, uso) | OAuth (navegador) |
dodo-knowledge | Pesquisa semântica sobre a documentação da Dodo Payments | Nenhum |
Ambos os servidores falam Streamable HTTP. O mcp.json canônico os declara nativamente (type: "streamable-http"), que é o que clientes nativos da spec, como Codex CLI e Cursor, usam. Os manifestos de compatibilidade gerados — .mcp.json, lidos por Claude Code, VS Code e o caminho legado do Cursor — conectam os mesmos dois endpoints via mcp-remote em vez disso, para que rodem em clientes que ainda não podem conectar-se diretamente ao Streamable HTTP.
Configurar (opcional, Claude Code)
Se você preferir executar o MCP da API localmente com uma chave de API em vez do servidor remoto, abra /plugins no Claude Code, selecione Dodo Payments e escolha Configurar opções. Preencha:
dodo_api_key- sua chavedodo_test_...oudodo_live_...dodo_webhook_key- seu segredo de assinatura de webhookdodo_environment-test_modeoulive_mode
Depois edite .mcp.json para apontar dodopayments-api para o servidor stdio local:
{
"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}"
}
}
}
}
Execute /reload-plugins para aplicar alterações à sua sessão atual.
Habilitar / desabilitar servidores MCP individuais
Ambos os MCPs vêm habilitados por padrão. Você pode desligar qualquer um deles independentemente.
OpenCode
O plugin npm lê duas variáveis de ambiente antes de registrar MCPs:
| Variável de ambiente | Efeito |
|---|---|
DODO_DISABLE_API_MCP=1 | Pula o registro de dodopayments-api |
DODO_DISABLE_KNOWLEDGE_MCP=1 | Pula o registro de dodo-knowledge |
Valores truthy: 1, true, yes, on (insensível a maiúsculas/minúsculas). Exporte a variável no seu perfil de shell ou defina inline:
DODO_DISABLE_API_MCP=1 opencode
Claude Code, Codex CLI, Cursor
Esses clientes carregam MCPs do .mcp.json estático incluído no plugin. Para desabilitar um servidor, substitua sua entrada na sua própria configuração do nível do projeto e defina "enabled": false.
Claude Code - edite .mcp.json na raiz do seu projeto (ou execute claude mcp disable dodopayments-api):
{
"mcpServers": {
"dodopayments-api": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-remote@latest", "https://mcp.dodopayments.com/mcp"],
"enabled": false
}
}
}
Execute /reload-plugins para aplicar.
Codex CLI / Cursor - o mesmo padrão enabled: false funciona em qualquer .mcp.json do nível do projeto que substitui o arquivo agrupado do plugin. Reinicie o cliente após editar.
Alternativas por MCP dentro da UI
/plugindo Claude Code são rastreadas upstream em anthropics/claude-code#27105 e #46373. Até que essas sejam implementadas, a substituiçãoenabled: falseacima é o caminho suportado.
Um prompt para tentar primeiro
Assim que o plugin estiver ativo, tente:
Set up Dodo Payments webhook handlers in my Next.js app for payment.succeeded and subscription.active events.
Seu agente carregará a habilidade webhook-integration, usará o MCP dodo-knowledge para buscar as formas de payload mais recentes e escreverá um handler com verificação de assinatura seguindo a especificação Standard Webhooks.
Desenvolvimento local
git clone https://github.com/dodopayments/dodo-agent-plugin.git
cd dodo-agent-plugin
Sem submódulos, sem etapa de build - skills/ é fornecido como arquivos reais.
Valide o plugin e marketplace do Claude Code:
claude plugin validate .
Carregue o plugin diretamente para uma sessão de desenvolvimento:
claude --plugin-dir ./dodo-agent-plugin
Verifique tudo antes de enviar:
npm run verify # generated artifacts in sync + Agent Plugins conformance
Layout do repositório
| Caminho | Papel |
|---|---|
plugin.json | Canônico. Manifesto Agent Plugins v1.0.0 e fonte de verdade da versão |
mcp.json | Canônico. Configuração MCP Agent Plugins v1.0.0 |
skills/ | Canônico. Dezessete habilidades, fornecidas como arquivos reais |
overlays/*.json | Extras de provedor escritos à mão que o schema fechado da spec não pode expressar |
.claude-plugin/, .cursor-plugin/, .agents/, .mcp.json, plugins/dodopayments/ | Gerados. Não edite manualmente - execute npm run build |
scripts/build.mjs | O gerador único (--check para drift) |
scripts/conformance.mjs | Validador de conformidade Agent Plugins |
.skills-source.json | Proveniência upstream para as habilidades fornecidas |
As habilidades são criadas em dodopayments/skills e vendidas aqui. Um fluxo de trabalho semanal as re-sincroniza e abre um PR; execute-o sob demanda com o despacho de fluxo de trabalho Sync skills from upstream. |
Para mantenedores
O repositório está configurado para publicar o pacote npm OpenCode em cada Release do GitHub.
Configuração única (já feita para este repositório):
- O escopo npm
@dodopaymentsexiste e é de propriedade da Dodo Payments. - O segredo do GitHub Actions
NPM_TOKENé provisionado com direitos de publicação para o escopo@dodopayments.
Fluxo de trabalho de release:
- Atualize
versionemplugin.json(a fonte única da verdade). - Execute
npm run buildpara propagá-lo a cada manifesto gerado. - Execute
npm run verify, depois faça commit e tag. - Crie um GitHub Release - o fluxo de trabalho
Publish @dodopayments/opencode-pluginpublica no npm com proveniência.
Execução de teste manual:
- Despacho de fluxo de trabalho com
dry_run: truepara validar o pipeline de release sem publicar.
Verificações de CI:
Verifyé executado em cada pull request e push paramain: deriva de artefatos, conformidade com Agent Plugins, validação de JSON Schema ao vivo, uma asserção de "dezessete habilidades, zero symlinks" e uma verificação de payload npm.- O fluxo de trabalho de release reexecuta as mesmas verificações antes de publicar.
Recursos
- Documentação do Dodo Payments
- Documentação do Agent Skills
- Documentação do MCP Server
- Repositório de origem das Skills
- Comunidade no Discord
Licença
MIT - veja LICENSE.