pnlcs-mcp
pnlcs-mcp
Ein Model Context Protocol-Server für PNLCS, das Open-Source-Abrechnungspanel. Verbinde Claude Code, Claude Desktop, Cursor, VS Code oder einen beliebigen anderen MCP-Client mit deiner PNLCS-Installation und arbeite in einfacher Sprache mit ihr:
„Welche Rechnungen sind überfällig?“ — „Zeig mir die Dienste und Domains dieses Kunden.“ — „Gibt es heute als Betrug eingestufte Bestellungen?“ — „Öffne ein Ticket für ada@example.com wegen ihrer Domain-Verlängerung.“
Null Abhängigkeiten. Der Server ist ein kleiner Node-Prozess, der mit der PNLCS-Admin-API spricht, die du bereits hast. Auf der PNLCS-Seite wird nichts installiert.
npm:
pnlcs-mcpErfordert: Node 18+ auf dem Rechner, auf dem dein KI-Client läuft
Transport: stdio (wird von deinem Client gestartet — kein Port, nichts zu hosten)
1. API-Zugangsdaten in PNLCS erstellen
Melde dich im Admin-Bereich deiner PNLCS-Installation an.
Gehe zu Konfiguration → API-Zugangsdaten.
Klicke auf Erstellen, gib einen Namen wie
mcpein und kopiere die beiden Werte, die dir angezeigt werden:Identifier — der Benutzername der Zugangsdaten
Secret — wird nur einmal angezeigt; bewahre es sicher auf
Dieses Paar ist alles, was der Server braucht, übergeben über drei Umgebungsvariablen:
Variable | Wert |
| Die Adresse deiner Installation, z. B. |
| Der Identifier der Zugangsdaten |
| Das Secret der Zugangsdaten |
| Optional. Setze sie auf |
Related MCP server: WHMCS MCP Server
2. Verbinde deinen Client
Claude Code (CLI)
Ein Befehl:
claude mcp add pnlcs \
--env PNLCS_URL=https://billing.example.com \
--env PNLCS_IDENTIFIER=your_identifier \
--env PNLCS_SECRET=your_secret \
-- npx -y pnlcs-mcpFüge --env PNLCS_ALLOW_WRITES=1 hinzu, wenn du auch die Schreib-Tools möchtest.
Verwende --scope project, um den Eintrag über .mcp.json mit deinem Team zu teilen
(lege das Secret in deiner Shell-Umgebung ab, nicht in der eingecheckten Datei).
Überprüfe es mit claude mcp list; entferne es mit claude mcp remove pnlcs.
Claude Desktop
Bearbeite 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"
}
}
}
}Starte Claude Desktop neu; die Tools erscheinen unter dem Hammersymbol.
Cursor
Einstellungen → MCP → Neuen globalen MCP-Server hinzufügen oder erstelle .cursor/mcp.json
in deinem Projekt (gleiche JSON-Struktur wie oben bei Claude Desktop).
VS Code (Copilot-Agentenmodus)
Erstelle .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"
}
}
}
}Alles andere (Windsurf, Cline, Zed, ...)
Jeder MCP-Client, der einen Stdio-Server starten kann, verwendet dieselben drei Teile:
Befehl npx, Argumente ["-y", "pnlcs-mcp"] und die obigen Umgebungsvariablen.
Aus einem git checkout funktioniert node mcp/server.js identisch.
3. Tools
Lese-Tools — immer verfügbar
Tool | Was es beantwortet |
| Kunden-, Bestell-, Rechnungs- und Umsatzsummen |
| Gesundheit der Installation selbst |
| Kunden, durchsuchbar nach Name/E-Mail/Firma, seitenweise |
| Ein Kunde mit Kontakten, anhand von |
| Hosting-Dienste eines Kunden |
| Domains eines Kunden |
| Rechnungen; filtere nach |
| Eine Rechnung mit ihren Positionen |
| Bestellungen; filtere nach |
| Support-Tickets; filtere nach Status |
| Ein Ticket mit Antworten und Notizen |
| Ticket-Summen nach Status |
| Zahlungen, neueste zuerst |
| Der Produktkatalog |
| Letzte Admin- und Systemaktivitäten |
Schreib-Tools — nur mit PNLCS_ALLOW_WRITES=1
Tool | Was es tut |
| Einen Kunden anlegen; mit |
| Einen Kunden mit einer oder mehreren Positionen abrechnen |
| Eine Zahlung erfassen; markiert die Rechnung als bezahlt, wenn sie gedeckt ist |
| Ein Support-Ticket eröffnen |
| Auf ein Ticket antworten |
| Einen Hosting-Dienst auf seinem Server sperren |
| Eine Sperre aufheben |
Ohne das Flag sind die Schreib-Tools nicht nur versteckt — ein Aufruf wird abgelehnt, bevor irgendein HTTP stattfindet. Ein für Berichte eingerichteter Assistent kann nicht einmal einen Sperren-Button sehen. Gib einer Berichtsinstallation ein Nur-Lese-Leben, indem du das Flag einfach nicht setzt.
4. Sicherheitshinweise
Das Secret reist nur zwischen dem Rechner, auf dem dein KI-Client läuft, und deiner PNLCS-Installation, über dieselbe HTTPS-API, die auch deine Admin-Oberflächen verwenden. Es wird niemals an den Modellanbieter gesendet; das Modell sieht Tool-Ergebnisse.
Bevorzuge dedizierte API-Zugangsdaten für MCP, damit du sie allein widerrufen kannst.
PNLCS begrenzt API-Zugangsdaten (300 Anfragen/Minute pro Zugangsdaten), sodass ein außer Kontrolle geratener Agent deine Installation nicht bombardieren kann.
Lasse
PNLCS_ALLOW_WRITESdeaktiviert, es sei denn, du möchtest wirklich, dass der Assistent in deinen Büchern handelt, und lies, was er vorschlägt, bevor du Tool-Aufrufe genehmigst, die Dinge erstellen oder ändern.
5. Fehlerbehebung
Symptom | Ursache |
Jedes Tool antwortet | Eine der drei Variablen fehlt in der Client-Konfiguration |
Jedes Tool antwortet | Das Paar aus Identifier/Secret ist falsch oder die Zugangsdaten wurden deaktiviert |
| Die Installation ist von diesem Rechner aus nicht erreichbar — überprüfe die URL und eine etwaige Firewall |
Tools fehlen im Client | Starte den Client nach dem Bearbeiten seiner Konfiguration neu; überprüfe sein MCP-Log auf die obige stderr-Zeile |
Schreib-Tools fehlen | Das ist die Standardeinstellung — setze |
6. Tests
npm test führt die Offline-Suite aus: Sie startet den echten Serverprozess, spricht das echte Protokoll mit ihm und prüft die HTTP-Form jedes Tools gegen einen lokalen Stub — plus das Schreib-Gate in beide Richtungen, Batch-Anfragen aus älteren Protokollrevisionen, Versionsaushandlung, Timeouts und das Abarbeiten offener Anfragen beim Herunterfahren.
node test/live.mjs führt jedes Tool gegen eine echte Installation aus — richte es auf eine Demo, niemals auf Produktionsdaten; es erstellt klar benannte Wegwerfdaten für die Schreib-Tools und gibt pro Tool eine PASS/FAIL-Zeile aus.
Entwicklung
Dieses Paket wird im PNLCS-Monorepo unter mcp/ entwickelt; dieses Repository ist sein eigenständiges Distributions-Spiegelbild und entspricht immer der auf npm veröffentlichten Version.
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