Passmint MCP
Crie, gerencie e distribua passes de carteira móvel
Documentação
01
Instalação
1. Crie uma chave de API de teste em Developers → API keys. Ela começa com pmk_test_.
2. Coloque-a no seu terminal. A instalação lê a chave desta variável, então você nunca a cola em um chat com seu agente. Em seguida, inicie seu agente no mesmo terminal. (O VS Code pede a chave diretamente, então pule esta etapa.)
export PASSMINT_API_KEY=pmk_test_…
3. Instale no seu cliente. Copie o prompt de configuração para o seu agente e ele instala o servidor sozinho, ou execute o comando você mesmo.
Deixe o Claude Code configurar
Copie este prompt no Claude Code. Ele verifica se sua chave está definida, executa a instalação e confirma a conexão. A chave nunca entra no chat.
Mostrar o prompt
Install the Passmint MCP server in Claude Code for me.
1. Check that the PASSMINT_API_KEY environment variable is set, without printing its value: run \`test -n "$PASSMINT_API_KEY" && echo set || echo missing\`. If it's missing, stop and tell me to create a test API key at https://app.passmint.com/developers/keys, run \`export PASSMINT_API_KEY=pmk_test_…\` in my terminal, and restart you from that terminal.
2. Run this command. Your shell fills in the key, so it never appears in this chat:
claude mcp add --transport http --scope user passmint https://api.passmint.com/mcp \
--header "Authorization: Bearer $PASSMINT_API_KEY"
3. Tell me to restart Claude Code so it loads the new server. Then call the Passmint \`whoami\` tool and tell me which organization I'm connected to and whether it's test or live mode.
Never ask me to paste the API key into this chat, and never print it, write it into a file in this project, or commit it.
Docs: https://passmint.com/docs/mcp
Ou faça você mesmo
claude mcp add --transport http --scope user passmint https://api.passmint.com/mcp \
--header "Authorization: Bearer $PASSMINT_API_KEY"
Com dificuldades? Veja conectando um assistente de IA na central de ajuda.
02
O endpoint
O servidor está em https://api.passmint.com/mcp e fala o transporte Streamable HTTP. Autentique com a mesma chave de API secreta que você usa para a API REST, como um token bearer no cabeçalho Authorization. Uma chave pmk_test_ dá ao seu assistente uma conexão em modo de teste, e uma chave pmk_live_ dá uma conexão ao vivo.
Comece com uma chave de teste. Uma conexão em modo de teste emite passes de teste e nunca pode ler ou alterar um pass ao vivo. Os modelos são compartilhados entre os modos de teste e ao vivo, então com uma chave de teste seu assistente pode criar modelos, mas não editar ou arquivá-los. Quando estiver pronto para emitir passes reais, execute a instalação novamente com uma chave ao vivo.
Mantenha as chaves fora do seu repositório. Cada instalação acima grava na sua configuração de nível de usuário, não em um arquivo no seu projeto. Se você adicionar Passmint a um arquivo de nível de projeto, como .cursor/mcp.json ou .mcp.json, referencie a variável de ambiente em vez de colar a chave.
03
Outros clientes
Qualquer cliente que fale Streamable HTTP e permita definir um cabeçalho Authorization pode se conectar com a mesma URL e chave.
Conectores personalizados nos aplicativos Claude (claude.ai e Claude Desktop) fazem login com OAuth em vez de uma chave de API, e o Passmint ainda não oferece OAuth, então eles não podem se conectar hoje. Use o Claude Code enquanto isso.
04
Modo somente leitura
Adicione ?mode=read-only à URL e a conexão recebe apenas as ferramentas de leitura. Emitir, atualizar, anular e alterações de modelo desaparecem completamente da lista de ferramentas:
https://api.passmint.com/mcp?mode=read-only
A ortografia é tolerante — readonly e READ-ONLY também funcionam — mas um valor mode que não reconhecemos é rejeitado diretamente, em vez de silenciosamente dar acesso total.
Isso é uma proteção, não um limite de segurança. Impede que um assistente alcance uma ferramenta que você não queria que ele tivesse — não impede que alguém com a chave abra uma segunda conexão sem o sinalizador. Se você precisar de aplicação, use uma chave de modo de teste que esteja disposto a revogar — ela nunca pode tocar em um pass ao vivo.
05
Ferramentas
Quinze ferramentas, construídas em torno do que você realmente faz com passes, em vez de mapeadas uma a uma para endpoints de API.
whoami— Qual organização esta conexão pertence, modo de teste ou ao vivo, seu plano e uso contra seus limites, e seus certificados Apple e emissores Google.list_templates— Encontre um modelo para emitir. Retorna nomes e IDs, sem o design completo. Modelos arquivados sob solicitação.get_template— Um modelo com seu design completo e política de escaneamento, para que o agente saiba quais chaves de campo um pass pode carregar.create_template— Crie um modelo a partir de um design completo. Passe um starter_template_id para a arte — imagens não podem ser enviadas aqui.update_template— Altere o nome, design ou plataformas de um modelo. Não afeta passes já emitidos. Precisa de uma chave ao vivo.archive_template— Pare novas emissões de um modelo. Passes existentes continuam funcionando. Precisa de uma chave ao vivo e confirmação.issue_pass— Emita um pass e retorne sua URL de adicionar à carteira, além de avisos de entrega.get_pass— Um pass: valores de campo, estado de anulação, quantas vezes foi escaneado, status de entrega, links de carteira.list_passes— Passes na organização, filtráveis por modelo ou email do titular.update_pass— Altere os valores de campo de um pass e re-renderize-o para a carteira do titular.void_pass— Invalide permanentemente um pass. Não pode ser desfeito. Requer confirmação.get_pass_events— O histórico do ciclo de vida de um pass — incluindo se o titular realmente o instalou.get_pass_redemptions— O registro de escaneamento de um pass: cada escaneamento aceito ou rejeitado, por quê, e em qual scanner.create_pass_download_link— Um link expirável para o pass. Necessário para modelos que só permitem links de download.get_pass_analytics— O funil entre passes: emitidos, adicionados à carteira, ativos, removidos, com níveis de confiança.
void_pass e archive_template ambos exigem uma confirmação explícita antes de agir, porque nenhum pode ser revertido pela API.
06
Coisas que vale a pena saber
Atualizações não são instantaneamente visíveis. Quando um pass é atualizado, se o titular vê uma mensagem na tela de bloqueio depende do modelo: um campo só produz uma notificação se recebeu uma mensagem de alteração em seu design. E passes Apple atualmente atualizam quando o dispositivo faz o próximo check-in, em vez de por push, então uma atualização não é imediata. Peça ao seu assistente para dizer isso em vez de prometer ao titular uma mudança instantânea.
Analíticas carregam níveis de confiança. Plataformas de carteira não relatam de forma confiável quando alguém exclui um pass, então get_pass_analytics marca remoções, contagens ativas e taxas de entrega de atualização com o quão certos estamos. Qualquer coisa não marcada como exact é uma estimativa.
Passes ao vivo precisam das suas próprias credenciais. Passes Apple ao vivo são assinados com seu próprio certificado Pass Type ID, e passes Google ao vivo precisam do seu próprio emissor — ambos configurados em Configurações. Sem eles, issue_pass retorna um aviso para essa plataforma em vez de um pass funcional.
07
Exemplos de prompts
Coisas que valem a pena perguntar depois de conectar:
- “Quais modelos de pass temos, e qual é o crachá da conferência?”
- “Emita um crachá para Priya Raman, priya@example.com, assento 12B — me dê o link de adicionar à carteira.”
- “O crachá da Priya já foi escaneado na porta?”
- “Qual parcela dos crachás da conferência deste mês foi adicionada a uma carteira?”
- “Quão perto estamos da nossa cota de API, e quando expira nosso certificado Apple?”
- “Como está a taxa de instalação da promoção de verão comparada ao mês passado?”
- “Encontre o pass para alex@example.com e anule-o — eles pediram reembolso.”
08
O que ele não faz
- Alterações em massa. Cada pass é atualizado ou anulado por sua própria chamada de ferramenta, dentro do limite de taxa abaixo, e passes podem ser encontrados apenas por modelo ou email do titular. Para alterações em muitos passes, use a API REST.
- Imagens. A arte vem de um modelo inicial. Envie a sua no painel.
- Webhooks, scanners, chaves de API e certificados. Estes são configurados no painel. Seu assistente pode ver quais certificados e emissores você tem, mas não pode adicionar ou alterá-los.
- Aplicativos Claude. Conectores do claude.ai e Claude Desktop precisam de OAuth, que ainda não está disponível.
09
Limites de taxa
Chamadas de ferramentas são limitadas a 60 por minuto por chave de API, além dos limites normais de taxa da API e da cota mensal de chamadas do seu plano. Cada chamada de ferramenta conta como uma chamada de API para cobrança, exatamente como se você tivesse feito a solicitação você mesmo.
A seguir:
O servidor MCP é uma camada fina sobre a API REST — qualquer coisa que um assistente possa fazer através dele, você pode fazer com uma chamada de API, e os mesmos limites de plano e permissões se aplicam. Perguntas, ou um cliente que não conecta? support@passmint.com.