MewCP Razorpay MCP

Servidor MCP Razorpay hospedado, sem estado e multilocatário permite que assistentes de IA gerenciem pagamentos, clientes, assinaturas, faturas e operações financeiras através do Razorpay.

Documentação

Automatize pagamentos, reembolsos e liquidações do Razorpay por meio de IA.

Um servidor Model Context Protocol (MCP) que expõe a API do Razorpay para gerenciar pedidos, pagamentos, reembolsos e liquidações.

Visão geral

O servidor MCP do Razorpay oferece gerenciamento completo do ciclo de vida de pagamentos por meio de IA:

  • Crie e acompanhe pedidos, capture e atualize pagamentos
  • Emita reembolsos totais ou parciais com controle de velocidade
  • Consulte liquidações e reconcilie o histórico de transações

Perfeito para:

  • Automatizar fluxos de reembolso e consultas de pagamento no suporte ao cliente
  • Criar painéis com tecnologia de IA que extraem dados de pagamento e liquidação em tempo real
  • Disparar criação de pedidos e captura de pagamentos a partir de interfaces conversacionais

Ferramentas

health_check — Verifica a prontidão do servidor

Retorna um objeto de status confirmando que o servidor está em execução e acessível.

Entradas: (nenhuma)

Saída:

{
  "status": "ok",
  "server": "CL Razorpay MCP Server"
}
create_order — Cria um novo pedido no Razorpay

Cria um novo objeto de pedido. O ID do pedido retornado é passado para o SDK de checkout do Razorpay no frontend para iniciar o pagamento.

Entradas:

- `amount`          (integer, required) — Amount in smallest currency unit (e.g. paise for INR)
- `currency`        (string, required)  — ISO 4217 currency code, e.g. 'INR'
- `receipt`         (string, optional)  — Merchant receipt number (max 40 chars)
- `notes`           (object, optional)  — Key-value notes to attach to the order
- `partial_payment` (boolean, optional) — Whether partial payments are allowed (default: false)

Saída:

{
  "id": "order_XXXXXXXXXX",
  "entity": "order",
  "amount": 50000,
  "currency": "INR",
  "status": "created"
}
fetch_order — Busca um pedido específico

Recupera todos os detalhes de um único pedido do Razorpay pelo seu ID.

Entradas:

- `order_id` (string, required) — Razorpay order ID (e.g. 'order_XXXXXXXXXX')

Saída:

{
  "id": "order_XXXXXXXXXX",
  "entity": "order",
  "amount": 50000,
  "amount_paid": 0,
  "status": "created"
}
fetch_all_orders — Busca lista paginada de pedidos

Retorna uma lista filtrada e paginada de todos os pedidos do Razorpay. Suporta filtragem por intervalo de timestamp Unix.

Entradas:

- `count`          (integer, optional) — Number of orders to fetch, max 100 (default: 10)
- `skip`           (integer, optional) — Number of orders to skip for pagination (default: 0)
- `from_timestamp` (integer, optional) — Unix timestamp — fetch orders created after this time
- `to_timestamp`   (integer, optional) — Unix timestamp — fetch orders created before this time

Saída:

{
  "entity": "collection",
  "count": 10,
  "items": [...]
}
fetch_payments_for_order — Busca pagamentos de um pedido específico

Retorna todos os pagamentos feitos para um determinado ID de pedido.

Entradas:

- `order_id` (string, required) — Razorpay order ID (e.g. 'order_XXXXXXXXXX')

Saída:

{
  "entity": "collection",
  "count": 1,
  "items": [...]
}
update_order — Atualiza notas em um pedido

Altera o campo de notas em um pedido existente. Somente o campo de notas pode ser atualizado após a criação.

Entradas:

- `order_id` (string, required) — Razorpay order ID (e.g. 'order_XXXXXXXXXX')
- `notes`    (object, required) — Key-value notes to update on the order

Saída:

{
  "id": "order_XXXXXXXXXX",
  "notes": { "key": "value" }
}
fetch_payment — Busca um pagamento específico

Recupera todos os detalhes de um único pagamento do Razorpay pelo seu ID.

Entradas:

- `payment_id` (string, required) — Razorpay payment ID (e.g. 'pay_XXXXXXXXXX')

Saída:

{
  "id": "pay_XXXXXXXXXX",
  "entity": "payment",
  "amount": 50000,
  "currency": "INR",
  "status": "captured"
}
fetch_all_payments — Busca lista paginada de pagamentos

Retorna uma lista filtrada e paginada de todos os pagamentos do Razorpay. Suporta filtragem por intervalo de timestamp Unix.

Entradas:

- `count`          (integer, optional) — Number of payments to fetch, max 100 (default: 10)
- `skip`           (integer, optional) — Number of payments to skip for pagination (default: 0)
- `from_timestamp` (integer, optional) — Unix timestamp — fetch payments created after this time
- `to_timestamp`   (integer, optional) — Unix timestamp — fetch payments created before this time

Saída:

{
  "entity": "collection",
  "count": 10,
  "items": [...]
}
capture_payment — Captura um pagamento autorizado

Captura um pagamento que está no estado authorized. O valor deve corresponder exatamente ao valor autorizado.

Entradas:

- `payment_id` (string, required)  — Razorpay payment ID (e.g. 'pay_XXXXXXXXXX')
- `amount`     (integer, required) — Amount to capture in smallest currency unit (must match authorized amount)
- `currency`   (string, required)  — ISO 4217 currency code, e.g. 'INR'

Saída:

{
  "id": "pay_XXXXXXXXXX",
  "status": "captured",
  "amount": 50000
}
update_payment — Atualiza notas em um pagamento

Altera o campo de notas em um pagamento existente.

Entradas:

- `payment_id` (string, required) — Razorpay payment ID (e.g. 'pay_XXXXXXXXXX')
- `notes`      (object, required) — Key-value notes to update on the payment

Saída:

{
  "id": "pay_XXXXXXXXXX",
  "notes": { "key": "value" }
}
create_refund — Cria um reembolso para um pagamento

Emite um reembolso total ou parcial para um pagamento capturado. Omita o valor para um reembolso total. A velocidade optimum usa reembolso instantâneo quando disponível.

Entradas:

- `payment_id` (string, required)  — Razorpay payment ID to refund (e.g. 'pay_XXXXXXXXXX')
- `amount`     (integer, optional) — Refund amount in smallest currency unit; omit for full refund
- `speed`      (string, optional)  — Refund speed: 'normal' (default) or 'optimum'
- `notes`      (object, optional)  — Key-value notes to attach to the refund
- `receipt`    (string, optional)  — Unique merchant receipt number for the refund

Saída:

{
  "id": "rfnd_XXXXXXXXXX",
  "entity": "refund",
  "amount": 50000,
  "speed_processed": "normal",
  "status": "processed"
}
fetch_refund — Busca um reembolso específico

Recupera todos os detalhes de um único reembolso do Razorpay pelo seu ID.

Entradas:

- `refund_id` (string, required) — Razorpay refund ID (e.g. 'rfnd_XXXXXXXXXX')

Saída:

{
  "id": "rfnd_XXXXXXXXXX",
  "entity": "refund",
  "amount": 50000,
  "status": "processed"
}
fetch_all_refunds — Busca lista paginada de reembolsos

Retorna uma lista filtrada e paginada de todos os reembolsos do Razorpay. Suporta filtragem por intervalo de timestamp Unix.

Entradas:

- `count`          (integer, optional) — Number of refunds to fetch, max 100 (default: 10)
- `skip`           (integer, optional) — Number of refunds to skip for pagination (default: 0)
- `from_timestamp` (integer, optional) — Unix timestamp — fetch refunds created after this time
- `to_timestamp`   (integer, optional) — Unix timestamp — fetch refunds created before this time

Saída:

{
  "entity": "collection",
  "count": 10,
  "items": [...]
}
fetch_refunds_for_payment — Busca todos os reembolsos de um pagamento

Retorna todos os reembolsos emitidos contra um ID de pagamento específico, com suporte a paginação.

Entradas:

- `payment_id` (string, required)  — Razorpay payment ID (e.g. 'pay_XXXXXXXXXX')
- `count`      (integer, optional) — Number of refunds to fetch, max 100 (default: 10)
- `skip`       (integer, optional) — Number of refunds to skip for pagination (default: 0)

Saída:

{
  "entity": "collection",
  "count": 2,
  "items": [...]
}
update_refund — Atualiza notas em um reembolso

Altera o campo de notas em um reembolso existente.

Entradas:

- `refund_id` (string, required) — Razorpay refund ID (e.g. 'rfnd_XXXXXXXXXX')
- `notes`     (object, required) — Key-value notes to update on the refund

Saída:

{
  "id": "rfnd_XXXXXXXXXX",
  "notes": { "key": "value" }
}
fetch_all_settlements — Busca lista paginada de liquidações

Retorna uma lista filtrada e paginada de todas as liquidações do Razorpay. Suporta filtragem por intervalo de timestamp Unix.

Entradas:

- `count`          (integer, optional) — Number of settlements to fetch, max 100 (default: 10)
- `skip`           (integer, optional) — Number of settlements to skip for pagination (default: 0)
- `from_timestamp` (integer, optional) — Unix timestamp — fetch settlements created after this time
- `to_timestamp`   (integer, optional) — Unix timestamp — fetch settlements created before this time

Saída:

{
  "entity": "collection",
  "count": 10,
  "items": [...]
}
fetch_settlement — Busca uma liquidação específica

Recupera todos os detalhes de uma única liquidação do Razorpay pelo seu ID.

Entradas:

- `settlement_id` (string, required) — Razorpay settlement ID (e.g. 'setl_XXXXXXXXXX')

Saída:

{
  "id": "setl_XXXXXXXXXX",
  "entity": "settlement",
  "amount": 1000000,
  "status": "processed"
}

Referência de Parâmetros da API

Parâmetros Comuns
  • count — Número de registros a retornar por solicitação (máx. 100, padrão 10)
  • skip — Número de registros a pular; use com count para paginação
  • from_timestamp — Timestamp Unix epoch (segundos); filtra registros criados neste horário ou depois
  • to_timestamp — Timestamp Unix epoch (segundos); filtra registros criados neste horário ou antes
Formatos de ID de Recursos

Pedidos:

order_{alphanumeric}
Example: order_OGN1lSF2fk1JNW

Pagamentos:

pay_{alphanumeric}
Example: pay_OGN1lSF2fk1JNW

Reembolsos:

rfnd_{alphanumeric}
Example: rfnd_OGN1lSF2fk1JNW

Liquidações:

setl_{alphanumeric}
Example: setl_OGN1lSF2fk1JNW
Formatação de Valores

Todos os valores estão na menor unidade monetária:

  • INR → paise (₹500,00 = 50000)
  • USD → centavos ($10,00 = 1000)
  • EUR → centavos (€10,00 = 1000)

Como Obter Suas Chaves de API do Razorpay

Etapas
  1. Acesse o Painel do Razorpay
  2. Navegue até Configurações → Chaves de API
  3. Clique em Gerar Chave de Teste (para modo de teste) ou Gerar Chave ao Vivo (para produção)
  4. Copie o ID da Chave e o Segredo da Chave — o segredo é exibido apenas uma vez; armazene-o com segurança

Use chaves de modo de teste (prefixadas com rzp_test_) durante o desenvolvimento e chaves ao vivo (rzp_live_) em produção.

Solução de Problemas

Cabeçalhos Ausentes ou Inválidos
  • Causa: Chave de API não fornecida nos cabeçalhos da solicitação ou formato incorreto
  • Solução:
    1. Verifique se os cabeçalhos Authorization: Bearer YOUR_API_KEY e X-Mewcp-Credential-Id: CREDENTIAL-ID estão presentes
    2. Verifique se a chave de API está ativa na sua conta MewCP
Créditos Insuficientes
  • Causa: As chamadas de API excederam seus limites de solicitação
  • Solução:
    1. Verifique o uso de créditos no seu painel do Curious Layer
    2. Atualize para um plano pago ou adicione créditos para limites maiores
    3. Entre em contato com o suporte para ajustes de crédito
Credencial Não Conectada
  • Causa: Nenhuma credencial do Razorpay vinculada à sua conta
  • Solução:
    1. Acesse Credenciais no seu painel MewCP
    2. Adicione seu ID de Chave e Segredo da Chave do Razorpay
    3. Tente novamente a solicitação com o cabeçalho X-Mewcp-Credential-Id correto
Payload de Solicitação Malformado
  • Causa: O payload JSON é inválido ou está faltando campos obrigatórios
  • Solução:
    1. Valide a sintaxe JSON antes de enviar
    2. Garanta que todos os parâmetros obrigatórios da ferramenta estejam incluídos
    3. Verifique se amount é um inteiro na menor unidade monetária, não um decimal
Servidor Não Encontrado
  • Causa: Nome incorreto do servidor no endpoint da API
  • Solução:
    1. Verifique o formato do endpoint: {server-name}/mcp/{tool-name}
    2. Use o nome correto do servidor conforme a documentação
    3. Verifique os servidores disponíveis na sua conta do Curious Layer
Erro de API do Razorpay
  • Causa: A API upstream do Razorpay retornou um erro
  • Solução:
    1. Verifique o status do serviço do Razorpay na Página de Status do Razorpay
    2. Verifique se suas chaves de API têm as permissões necessárias para a operação
    3. Revise a mensagem de erro para obter detalhes específicos (por exemplo, pagamento não está no estado authorized para captura)

Recursos