Passmint MCP

Crea, gestiona y distribuye pases de cartera móvil.

Documentación

01

Instalación

1. Crea una clave de API de prueba en Developers → API keys. Empieza con pmk_test_.

2. Colócala en tu terminal. La instalación lee la clave desde esta variable, así que nunca la pegas en un chat con tu agente. Luego inicia tu agente desde la misma terminal. (VS Code solicita la clave por sí mismo, así que omite este paso).

export PASSMINT_API_KEY=pmk_test_…

3. Instálalo en tu cliente. Copia el mensaje de configuración en tu agente y él instala el servidor por sí mismo, o ejecuta el comando tú mismo.

Deja que Claude Code lo configure

Copia este mensaje en Claude Code. Verifica que tu clave esté configurada, ejecuta la instalación y confirma la conexión. La clave nunca entra en el chat.

Mostrar el mensaje

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

O hazlo tú mismo

claude mcp add --transport http --scope user passmint https://api.passmint.com/mcp \
  --header "Authorization: Bearer $PASSMINT_API_KEY"

¿Atascado? Consulta cómo conectar un asistente de IA en el centro de ayuda.

02

El endpoint

El servidor se encuentra en https://api.passmint.com/mcp y utiliza el transporte Streamable HTTP. Autentícate con la misma clave de API secreta que usas para la API REST, como token de portador en el encabezado Authorization. Una clave pmk_test_ le da a tu asistente una conexión en modo de prueba, y una clave pmk_live_ le da una en vivo.

Comienza con una clave de prueba. Una conexión en modo de prueba emite pases de prueba y nunca puede leer ni cambiar un pase en vivo. Las plantillas se comparten entre el modo de prueba y el modo en vivo, así que con una clave de prueba tu asistente puede crear plantillas pero no editarlas ni archivarlas. Cuando estés listo para emitir pases reales, ejecuta la instalación nuevamente con una clave en vivo.

Mantén las claves fuera de tu repositorio. Cada instalación anterior escribe en tu configuración a nivel de usuario, no en un archivo de tu proyecto. Si agregas Passmint a un archivo a nivel de proyecto como .cursor/mcp.json o .mcp.json, referencia la variable de entorno en lugar de pegar la clave.

03

Otros clientes

Cualquier cliente que hable Streamable HTTP y te permita configurar un encabezado Authorization puede conectarse con la misma URL y clave.

Los conectores personalizados en las aplicaciones de Claude (claude.ai y Claude Desktop) inician sesión con OAuth en lugar de una clave de API, y Passmint aún no ofrece OAuth, así que no pueden conectarse hoy. Usa Claude Code mientras tanto.

04

Modo de solo lectura

Agrega ?mode=read-only a la URL y la conexión recibe solo las herramientas de lectura. Emitir, actualizar, anular y cambiar plantillas desaparece por completo de la lista de herramientas:

https://api.passmint.com/mcp?mode=read-only

La ortografía es flexible — readonly y READ-ONLY también funcionan — pero un valor mode que no reconocemos se rechaza directamente en lugar de darte silenciosamente acceso completo.

Esto es una salvaguarda, no un límite de seguridad. Evita que un asistente alcance una herramienta que no querías que tuviera — no impide que alguien con la clave abra una segunda conexión sin la bandera. Si necesitas aplicación estricta, usa una clave de modo de prueba que estés dispuesto a revocar — nunca puede tocar un pase en vivo.

05

Herramientas

Quince herramientas, construidas en torno a lo que realmente haces con los pases en lugar de mapearse una a una con los endpoints de la API.

  • whoami — Qué organización pertenece a esta conexión, modo de prueba o en vivo, tu plan y uso contra sus límites, y tus certificados de Apple y emisores de Google.
  • list_templates — Encuentra una plantilla para emitir. Devuelve nombres e ids, sin el diseño completo. Plantillas archivadas bajo petición.
  • get_template — Una plantilla con su diseño completo y política de escaneo, para que el agente sepa qué claves de campo puede llevar un pase.
  • create_template — Crea una plantilla a partir de un diseño completo. Pasa un starter_template_id para el arte — las imágenes no se pueden subir aquí.
  • update_template — Cambia el nombre, diseño o plataformas de una plantilla. No afecta los pases ya emitidos. Necesita una clave en vivo.
  • archive_template — Detén la nueva emisión desde una plantilla. Los pases existentes siguen funcionando. Necesita una clave en vivo y confirmación.
  • issue_pass — Emite un pase y devuelve su URL de agregar a la billetera, más cualquier advertencia de entrega.
  • get_pass — Un pase: valores de campo, estado de anulación, cuántas veces se ha escaneado, estado de entrega, enlaces de billetera.
  • list_passes — Pases en la organización, filtrables por plantilla o correo del titular.
  • update_pass — Cambia los valores de campo de un pase y vuelve a renderizarlo para la billetera del titular.
  • void_pass — Invalida permanentemente un pase. No se puede deshacer. Requiere confirmación.
  • get_pass_events — El historial del ciclo de vida de un pase — incluyendo si el titular realmente lo instaló.
  • get_pass_redemptions — El registro de escaneo de un pase: cada escaneo aceptado o rechazado, por qué, y en qué escáner.
  • create_pass_download_link — Un enlace con expiración al pase. Requerido para plantillas que solo permiten enlaces de descarga.
  • get_pass_analytics — El embudo a través de los pases: emitidos, agregados a la billetera, activos, eliminados, con niveles de confianza.

void_pass y archive_template ambos requieren una confirmación explícita antes de actuar, porque ninguno se puede revertir a través de la API.

06

Cosas que vale la pena saber

Las actualizaciones no son visibles al instante. Cuando se actualiza un pase, si el titular ve un mensaje en la pantalla de bloqueo depende de la plantilla: un campo solo produce una notificación si se le dio un mensaje de cambio en su diseño. Y los pases de Apple se actualizan actualmente cuando el dispositivo hace el próximo check-in en lugar de mediante push, así que una actualización no es inmediata. Pide a tu asistente que lo diga en lugar de prometer al titular un cambio instantáneo.

La analítica lleva niveles de confianza. Las plataformas de billeteras no informan de manera confiable cuando alguien elimina un pase, así que get_pass_analytics marca eliminaciones, conteos activos y tasas de entrega de actualizaciones con cuán seguros estamos. Cualquier cosa no marcada como exact es una estimación.

Los pases en vivo necesitan tus propias credenciales. Los pases de Apple en vivo se firman con tu propio certificado Pass Type ID, y los pases de Google en vivo necesitan tu propio emisor — ambos configurados en Ajustes. Sin ellos, issue_pass devuelve una advertencia para esa plataforma en lugar de un pase funcional.

07

Ejemplos de mensajes

Cosas que vale la pena preguntar una vez que estés conectado:

  • "¿Qué plantillas de pases tenemos, y cuál es la insignia de la conferencia?"
  • "Emite una insignia para Priya Raman, priya@example.com, asiento 12B — dame el enlace de agregar a la billetera."
  • "¿La insignia de Priya ya ha sido escaneada en la puerta?"
  • "¿Qué proporción de las insignias de la conferencia de este mes se han agregado a una billetera?"
  • "¿Qué tan cerca estamos de nuestra cuota de API, y cuándo expira nuestro certificado de Apple?"
  • "¿Cómo está la tasa de instalación de la promoción de verano comparada con el mes pasado?"
  • "Encuentra el pase para alex@example.com y anúlalo — solicitaron un reembolso."

08

Lo que no hace

  • Cambios masivos. Cada pase se actualiza o anula con su propia llamada de herramienta, dentro del límite de tasa a continuación, y los pases solo se pueden encontrar por plantilla o correo del titular. Para cambios en muchos pases, usa la API REST.
  • Imágenes. El arte proviene de una plantilla inicial. Sube las tuyas en el panel de control.
  • Webhooks, escáneres, claves de API y certificados. Estos se configuran en el panel de control. Tu asistente puede ver qué certificados y emisores tienes, pero no puede agregarlos ni cambiarlos.
  • Aplicaciones de Claude. Los conectores de claude.ai y Claude Desktop necesitan OAuth, que aún no está disponible.

09

Límites de tasa

Las llamadas de herramientas están limitadas a 60 por minuto por clave de API, además de los límites normales de tasa de la API y la cuota mensual de llamadas de tu plan. Cada llamada de herramienta cuenta como una llamada de API para facturación, exactamente como si hubieras hecho la solicitud tú mismo.

A continuación:

El servidor MCP es una capa delgada sobre la API REST — cualquier cosa que un asistente pueda hacer a través de él, tú puedes hacerla con una llamada de API, y se aplican los mismos límites de plan y permisos. ¿Preguntas, o un cliente que no se conecta? support@passmint.com.