Developers
Every ISPbox workspace exposes a remote Model Context Protocol server. Connect Claude, ChatGPT, Cursor, Claude Code or any MCP-capable client and let AI work your panel: look up customers, answer "why is this client offline?", manage tickets, record payments and pull billing summaries - always limited to the permissions you grant, with every tool call audited.
https://<workspace>.ispbox.net/mcp
Transport: Streamable HTTP (POST, with SSE streaming). The endpoint requires authentication.
For people. Add the endpoint to your AI client and it opens a browser window to sign in and approve access. Only permissions your staff account already has can be granted, and you can revoke a connection anytime under My Account > AI Assistant. Discovery, dynamic client registration and PKCE are supported, so clients like Claude and ChatGPT connect with just the URL.
For automations. Create a key under Settings > API and send it as
Authorization: Bearer ispbx_....
The key's scopes decide which tools are visible.
claude mcp add ispbox --transport http https://<workspace>.ispbox.net/mcp \
--header "Authorization: Bearer ispbx_..."
Tools are task-shaped and scope-gated: a connection only sees the tools its scopes allow.
| Tool | Scope | What it does |
|---|---|---|
search-clients |
clients.read |
Find clients by name, email, phone or account number. |
get-client |
clients.read |
Full client overview: profile, services, balance, recent invoices, open tickets. |
create-client / update-client / add-client-note |
clients.write |
Create and update clients, add internal notes. |
list-services / get-service |
services.read |
Services with package, billing dates and connection details. |
diagnose-service |
services.read |
"Why is this customer offline?" - service status + billing suspension + RADIUS session + router health with a verdict. |
create-service / update-service |
services.write |
Subscribe a client to a package, change status or billing dates. |
get-service-usage / list-sessions / get-network-status |
network.read |
Data usage, live sessions, router health and open incidents. |
list-packages |
packages.read |
Plans with pricing, speeds and billing intervals. |
list-invoices / get-invoice / list-payments / get-client-balance / get-billing-summary |
billing.read |
Receivables, payments, balances and monthly billing snapshots. |
record-payment / create-invoice |
billing.write |
Record manual payments, create one-off invoices. |
void-invoice / reverse-payment |
billing.write |
Destructive accounting actions - MCP clients ask for confirmation. |
list-tickets / get-ticket |
tickets.read |
Ticket queues and full comment threads. |
create-ticket / reply-to-ticket / update-ticket |
tickets.write |
Open tickets, reply (internal or customer-visible), change status. |
list-leads / create-lead / convert-lead |
leads.* |
Sales pipeline: list, create and convert leads to clients. |
preview-message-audience |
clients.read |
Count and sample the clients behind a router, network device, incident, location or status filter. |
send-client-message |
messaging.send |
Email/SMS a targeted client group (two-phase: preview first, then explicit confirm). Router / downstream-device / incident / location targeting. |
list-monitored-devices |
network.read |
Live device inventory with up/down status from connected LibreNMS/Zabbix, linked to network-map features. |
list-monitoring-alerts |
network.read |
Active alerts/problems live from LibreNMS/Zabbix: severity, device, since when, acknowledged flag. |
ack-monitoring-alert |
monitoring.manage |
Acknowledge NMS alerts with a required note (MCP clients ask for confirmation). |
get-report |
reports.read |
Run any panel report: AR aging, billing trend, revenue by location, package mix, client growth, top data users, tax summary, tickets summary. |
send-portal-invite / block-client / unblock-client |
clients.write |
Support actions: portal invitation email, reasoned block (deprovisions services) and unblock with optional delinquency grace. |
pause-service-seasonally / resume-service-seasonally |
services.write |
Seasonal holds: schedule or apply a billing-pausing suspension, resume and re-provision. |
list-visits / schedule-visit |
tickets.* |
The technician calendar: list scheduled visits, book a visit on a ticket. |
search-inventory / find-inventory-unit |
inventory.read |
Stock levels per item and per-serial unit lookup (who has it, where it is installed). |
list-credit-notes / list-ip-pools / list-campaigns |
billing.read / network.read / marketing.read |
Credit notes, IPAM pool utilization and marketing campaigns. |
search-wiki |
any |
Search the official ISPBox documentation and cite the article. |
list-staff-users / list-locations |
clients.read |
Discover staff user ids (assignees, technicians) and location ids for the other tools. |
open-incident / update-incident / resolve-incident |
network.write |
Full incident lifecycle: open on a map device (topology-resolved impact, status page, optional auto-notify), post public updates and ETA, resolve. |
add-pending-charge |
billing.write |
Put a one-time charge on the client's next invoice. |
update-lead / add-lead-activity |
leads.write |
CRM: change pipeline state and log calls/emails/meetings with follow-up dates. |
The server also ships prompts (daily-briefing,
diagnose-client-connectivity, collections-review)
and an ispbox-guide resource that teaches the AI the recommended flows.
The MCP server is included on the Growth and Scale plans (same entitlement as the REST API). Also see the REST API reference.