pnlcs-mcp
pnlcs-mcp
Un servidor de Model Context Protocol para PNLCS, el panel de facturación de código abierto. Conecta Claude Code, Claude Desktop, Cursor, VS Code o cualquier otro cliente MCP a tu instalación de PNLCS y trabaja con ella en lenguaje natural:
"¿Qué facturas están vencidas?" — "Muéstrame los servicios y dominios de este cliente." — "¿Hay algún pedido retenido como fraude hoy?" — "Abre un ticket para ada@example.com sobre la renovación de su dominio."
Cero dependencias. El servidor es un pequeño proceso de Node que se comunica con la API de administración de PNLCS que ya tienes. No se instala nada en el lado de PNLCS.
npm:
pnlcs-mcpRequiere: Node 18+ en la máquina donde se ejecuta tu cliente de IA
Transporte: stdio (lanzado por tu cliente — sin puerto, nada que alojar)
1. Crea una credencial de API en PNLCS
Inicia sesión en el área de administración de tu instalación de PNLCS.
Ve a Configuración → Credenciales de API.
Haz clic en Crear, ponle un nombre como
mcpy copia los dos valores que te muestra:Identificador — el nombre de usuario de la credencial
Secreto — se muestra una sola vez; guárdalo en un lugar seguro
Ese par es todo lo que necesita el servidor, y se le pasa mediante tres variables de entorno:
Variable | Valor |
| La dirección de tu instalación, p. ej. |
| El identificador de la credencial |
| El secreto de la credencial |
| Opcional. Pon |
Related MCP server: WHMCS MCP Server
2. Conecta tu cliente
Claude Code (CLI)
Un solo comando:
claude mcp add pnlcs \
--env PNLCS_URL=https://billing.example.com \
--env PNLCS_IDENTIFIER=your_identifier \
--env PNLCS_SECRET=your_secret \
-- npx -y pnlcs-mcpAñade --env PNLCS_ALLOW_WRITES=1 si también quieres las herramientas de
escritura. Usa --scope project para compartir la entrada con tu equipo
mediante .mcp.json (pon el secreto en el entorno de tu shell, no en el
archivo versionado). Compruébalo con claude mcp list; elimínalo con
claude mcp remove pnlcs.
Claude Desktop
Edita claude_desktop_config.json
(macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):
{
"mcpServers": {
"pnlcs": {
"command": "npx",
"args": ["-y", "pnlcs-mcp"],
"env": {
"PNLCS_URL": "https://billing.example.com",
"PNLCS_IDENTIFIER": "your_identifier",
"PNLCS_SECRET": "your_secret"
}
}
}
}Reinicia Claude Desktop; las herramientas aparecen bajo el icono del martillo.
Cursor
Configuración → MCP → Añadir nuevo servidor MCP global, o crea
.cursor/mcp.json en tu proyecto (misma forma JSON que Claude Desktop arriba).
VS Code (modo agente de Copilot)
Crea .vscode/mcp.json:
{
"servers": {
"pnlcs": {
"type": "stdio",
"command": "npx",
"args": ["-y", "pnlcs-mcp"],
"env": {
"PNLCS_URL": "https://billing.example.com",
"PNLCS_IDENTIFIER": "your_identifier",
"PNLCS_SECRET": "your_secret"
}
}
}
}Cualquier otra cosa (Windsurf, Cline, Zed, ...)
Cada cliente MCP que pueda lanzar un servidor stdio usa las mismas tres piezas:
comando npx, argumentos ["-y", "pnlcs-mcp"] y las variables de entorno
anteriores. Desde un clon del repositorio, node mcp/server.js funciona de
forma idéntica.
3. Herramientas
Herramientas de lectura — siempre disponibles
Herramienta | Qué responde |
| Totales de clientes, pedidos, facturas e ingresos |
| Salud de la propia instalación |
| Clientes, buscables por nombre/correo/empresa, paginables |
| Un cliente con contactos, por |
| Servicios de alojamiento de un cliente |
| Dominios de un cliente |
| Facturas; filtra por |
| Una factura con sus líneas de detalle |
| Pedidos; filtra por |
| Tickets de soporte; filtra por estado |
| Un ticket con respuestas y notas |
| Totales de tickets por estado |
| Pagos, primero los más recientes |
| El catálogo de productos |
| Actividad reciente de administración y del sistema |
Herramientas de escritura — solo con PNLCS_ALLOW_WRITES=1
Herramienta | Qué hace |
| Crear un cliente; con |
| Facturar a un cliente con una o más líneas de detalle |
| Registrar un pago; marca la factura como pagada cuando está cubierta |
| Abrir un ticket de soporte |
| Responder a un ticket |
| Suspender un servicio de alojamiento en su servidor |
| Levantar una suspensión |
Sin el indicador, las herramientas de escritura no solo están ocultas: llamar a una de ellas se rechaza antes de que ocurra cualquier HTTP. Un asistente configurado para informes ni siquiera puede ver un botón de suspensión. Dale a una configuración de informes una vida de solo lectura simplemente no estableciendo el indicador.
4. Notas de seguridad
El secreto solo viaja entre la máquina donde se ejecuta tu cliente de IA y tu instalación de PNLCS, a través de la misma API HTTPS que usan tus pantallas de administración. Nunca se envía al proveedor del modelo; el modelo ve los resultados de las herramientas.
Prefiere una credencial de API dedicada para MCP, de modo que puedas revocarla de forma independiente.
PNLCS limita la tasa de las credenciales de API (300 solicitudes/minuto por credencial), así que un agente descontrolado no puede saturar tu instalación.
Mantén
PNLCS_ALLOW_WRITESdesactivado a menos que realmente quieras que el asistente actúe sobre tus registros, y lee lo que propone antes de aprobar llamadas a herramientas que creen o modifiquen cosas.
5. Solución de problemas
Síntoma | Causa |
Cada herramienta responde | Una de las tres variables falta en la configuración del cliente |
Cada herramienta responde | El par identificador/secreto es incorrecto, o la credencial fue desactivada |
| La instalación no es accesible desde esta máquina: comprueba la URL y cualquier cortafuegos |
Faltan herramientas en el cliente | Reinicia el cliente después de editar su configuración; revisa su registro MCP para ver la línea de stderr anterior |
Faltan herramientas de escritura | Eso es lo normal: establece |
6. Pruebas
npm test ejecuta la suite sin conexión: lanza el proceso real del servidor,
habla con él mediante el protocolo real y comprueba la forma HTTP de cada
herramienta contra un stub local, además de la puerta de escritura en ambas
direcciones, las solicitudes por lotes de revisiones de protocolo anteriores,
la negociación de versiones, los tiempos de espera y el drenaje al apagar.
node test/live.mjs ejecuta todas las herramientas contra una instalación
real: apúntalo a una demo, nunca a los registros de producción; crea datos
desechables claramente nombrados para las herramientas de escritura e imprime
una línea PASS/FAIL por herramienta.
Desarrollo
Este paquete se desarrolla dentro del monorepo de PNLCS
en mcp/; este repositorio es su espejo de distribución independiente y
siempre coincide con la versión publicada en npm.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage WHM hosting accounts and server administration tasks including account management, server stats, updates, SSL, backups, and email through a secure API.10
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to administrate WHMCS installations through the External API, providing ~50 tools for clients, billing, orders, services, domains, support, and aggregators with safety features and governance.392ISC
- AlicenseBqualityBmaintenanceEnables AI assistants to manage invoices, clients, companies, and ANAF e-Factura through the Storno.ro e-invoicing API.1008Elastic 2.0
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage cPanel hosting accounts including DNS, email, databases, SSL, files, security, and more through natural language using cPanel's UAPI and API2.
Related MCP Connectors
Peru CPE invoices for AI agents - issue, query, void facturas/boletas via SUNAT (2 backends).
Let AI agents add Yolfi crypto checkout, paylinks, webhooks, and status checks.
Chilean DTE/SII invoicing — issue invoices, reconcile payments and manage clients with AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Panelica/pnlcs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server