bussin-mcp
Servidor MCP para Azure Service Bus: inspeccionar y buscar cuerpos de mensajes en colas, temas y colas de mensajes fallidos, y luego reenviar, enviar o purgar. Solo lectura por defecto, con operaciones de envío y destructivas detrás de indicadores opcionales separados.
Documentación
Conecta Claude, ChatGPT, Cursor o cualquier otro asistente compatible con MCP directamente a tu Azure Service Bus. Pregunta qué colas están acumulando mensajes, qué tienen en común los mensajes en la cola de mensajes fallidos, o pide reproducir un lote de errores, en lugar de hacer clic en una interfaz para averiguarlo.
bussin-mcp es un servidor gratuito de Model Context Protocol con código fuente disponible, construido sobre el mismo cliente AMQP que impulsa el explorador web Bussin. Se ejecuta localmente, se autentica como tú y es de solo lectura hasta que decidas lo contrario.
Pruébalo con un solo comando
El modo demo se ejecuta contra un simulador en proceso con colas precargadas. Sin suscripción de Azure, sin inicio de sesión, nada que limpiar después:
npx -y bussin-mcp --demo
Cuando estés listo para apuntarlo a un espacio de nombres real, inicia sesión con la CLI de Azure y elimina la bandera:
az login
npx -y bussin-mcp --namespace my-namespace
Añadirlo a tu cliente de IA
Claude Code
claude mcp add bussin -- npx -y bussin-mcp --namespace my-namespace
Claude Desktop, Cursor y otros clientes MCP
Añade lo siguiente a tu archivo de configuración MCP: claude_desktop_config.json para Claude Desktop, o .cursor/mcp.json para Cursor:
{
"mcpServers": {
"bussin": {
"command": "npx",
"args": ["-y", "bussin-mcp", "--namespace", "my-namespace"]
}
}
}
Reinicia el cliente y las herramientas de Service Bus estarán disponibles en tu próxima conversación.
Lo que puedes preguntar
Una vez conectado, estas son preguntas ordinarias, no un lenguaje de consulta:
- "¿Qué colas en mi espacio de nombres tienen mensajes fallidos?"
- "Muéstrame los últimos cinco mensajes fallidos en la cola de pedidos y dime qué tienen en común."
- "Busca en la suscripción de pagos cualquier cosa que mencione timeout."
- "Estos tres mensajes de la cola DLQ fallaron por un error que ya hemos corregido, así que reenvíalos."
- "¿Qué tan profundo es el backlog en cada cola ahora mismo?"
Modelo de seguridad
El llamador es un modelo de lenguaje, por lo que todo lo irreversible es opcional. Las herramientas que no has habilitado no están registradas en absoluto. Son invisibles para el modelo en lugar de simplemente rechazadas, así que no hay nada que pueda convencerlo.
| Bandera | Herramientas que desbloquea | Riesgo |
|---|---|---|
| (ninguna, la predeterminada) | list_namespaces, list_queues, list_topics, list_subscriptions, peek_messages, search_messages | Solo lectura. La inspección no bloquea, no consume ni incrementa el contador de entregas. |
--allow-send | send_message, resubmit_dead_letter | Añade mensajes que tus consumidores procesarán. |
--allow-destructive | delete_messages, dead_letter_messages, purge_entity | Elimina mensajes permanentemente. No recuperable. |
Protecciones adicionales
- La inspección es genuinamente no destructiva. Sin bloqueo, sin consumo, sin incremento del contador de entregas.
- La purga requiere confirmación. El argumento
confirmdebe coincidir exactamente con el nombre de la entidad que se está purgando. - El reenvío es aditivo por defecto. Los originales con mensajes fallidos permanecen en su lugar a menos que también habilites operaciones destructivas, por lo que una reproducción es segura de reintentar.
- Los escaneos están limitados. Las búsquedas y purgas se detienen en un tiempo de espera configurable en lugar de ejecutarse indefinidamente.
- Los cuerpos de los mensajes se truncan a 4000 caracteres, para que una carga útil sobredimensionada no inunde el contexto del modelo.
Autenticación y permisos
Entra ID es el valor predeterminado. El servidor utiliza el DefaultAzureCredential de Azure, por lo que recoge un az login existente, una identidad administrada o variables de entorno de principal de servicio. Es la misma identidad y las mismas asignaciones de roles que ya usas.
| Rol | Necesario para |
|---|---|
| Azure Service Bus Data Receiver | Inspeccionar y buscar mensajes |
| Reader (en el espacio de nombres) | Listar espacios de nombres, colas y temas con recuentos de mensajes |
| Azure Service Bus Data Sender | Solo si habilitas --allow-send |
También se admiten cadenas de conexión, para espacios de nombres que tu identidad iniciada no puede ver. Autentican solo el plano de datos. Listar entidades pasa por Azure Resource Manager y necesita una identidad real.
Por qué esto es un programa separado
Una pregunta razonable: Bussin se ejecuta en tu navegador, entonces ¿por qué su servidor MCP no?
Los clientes MCP se conectan a un servidor de dos maneras: lanzando un proceso local y hablando con él a través de la entrada y salida estándar, o llamando a un endpoint HTTP remoto. Una pestaña del navegador no es ninguna de las dos. No puede escuchar en un puerto, no puede ser generada por otro programa y solo existe mientras la pestaña está abierta.
Entonces bussin-mcp es un pequeño programa de línea de comandos que comparte el cliente AMQP y el comportamiento de Bussin, pero se ejecuta por su cuenta. Nada se envía a un servidor Bussin en ningún caso: la aplicación web se conecta desde tu navegador y el servidor MCP se conecta desde tu máquina.
Preguntas frecuentes
¿Qué es un servidor MCP para Azure Service Bus?
El Model Context Protocol es un estándar abierto que permite a los asistentes de IA llamar a herramientas externas. Un servidor MCP para Azure Service Bus expone operaciones de cola (inspeccionar mensajes, buscar cargas útiles, inspeccionar colas de mensajes fallidos) como herramientas que un asistente puede invocar, para que puedas depurar un problema de mensajería haciendo una pregunta en lugar de hacer clic en una interfaz.
¿Puede Claude conectarse a mi Azure Service Bus?
Sí. Instala bussin-mcp y añádelo a tu configuración de cliente MCP. Se ejecuta localmente en tu máquina, se autentica como tú a través de Entra ID y se conecta directamente a Azure. Tus mensajes y credenciales nunca se envían a un servidor de terceros.
¿Es seguro permitir que una IA acceda a un Service Bus de producción?
Es de solo lectura por defecto. Enviar requiere --allow-send; eliminar, marcar como fallido y purgar requieren --allow-destructive. Las herramientas que no has habilitado nunca se registran, por lo que el modelo no puede verlas en absoluto. La purga además requiere pasar el nombre exacto de la entidad como confirmación.
¿El servidor MCP necesita la aplicación web Bussin?
No. Es independiente. Comparte el mismo cliente AMQP que la aplicación web, pero se ejecuta por separado. Puedes usar cualquiera de los dos, ambos o ninguno.
¿Qué permisos de Azure necesita?
Azure Service Bus Data Receiver para inspeccionar y buscar, Reader en el espacio de nombres para listar entidades y sus recuentos, y Azure Service Bus Data Sender solo si habilitas el envío.