MCP Tools¶
Detail-Referenz aller im MCP-Server registrierten Tools. Alle Tools sind read-only, der HostAdmin-MCP-Server gibt sich beim initialize-Call mit Name HostAdmin und Version 1.0.0 zu erkennen.
find-customer-tool¶
Sucht Kunden anhand eines Substring-Treffers in Kundennummer, E-Mail, Vor-/Nachname oder Firma. Liefert maximal 25 Treffer.
Eingabe:
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
query |
string | ja | Substring; Suche ist case-insensitive |
Ausgabe: Objekt mit count und matches[] (id, customer_number, name, email, status).
curl -s -X POST https://ihre-domain.de/mcp \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "find-customer-tool",
"arguments": {"query": "mustermann"}
}
}'
get-customer-tool¶
Liefert die Volldetails eines Kunden inklusive aktiver Services und einer Summary der offenen Rechnungen.
Eingabe:
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
id |
integer | (eines davon) | Interne Customer-ID |
customer_number |
string | (eines davon) | Kundennummer (z. B. „10042") |
Ausgabe: Kunden-Stammdaten (Name, Anschrift, E-Mail, Steuer …) + unpaid_invoices (count + total) + services[] mit Stammdaten je Service.
list-services-tool¶
Paginiert Customer Services mit optionalen Filtern.
Eingabe:
| Parameter | Typ | Beschreibung |
|---|---|---|
customer_id |
integer | Filter nach Kunde |
status |
enum | draft | order | active | suspended | cancelled | terminated |
service_type |
enum | hosting | domain | service | server | license | other |
domain |
string | Substring auf domain |
per_page |
integer | 1–100, Default 25 |
page |
integer | 1-basiert, Default 1 |
Ausgabe: Standard-Pagination (page, per_page, total, last_page) + data[] mit Service-Snippets inkl. Customer-Embed.
list-invoices-tool¶
Paginiert Rechnungen mit optionalen Filtern.
Eingabe:
| Parameter | Typ | Beschreibung |
|---|---|---|
customer_id |
integer | Filter nach Kunde |
status |
enum | draft | sent | paid | overdue | cancelled |
invoice_date_from |
string | Untere Datumsgrenze (ISO YYYY-MM-DD), inklusive |
invoice_date_to |
string | Obere Datumsgrenze (ISO YYYY-MM-DD), inklusive |
per_page |
integer | 1–100, Default 25 |
page |
integer | 1-basiert, Default 1 |
Ausgabe: Pagination + data[] mit Rechnungs-Snippets (Nummer, Status, Datum, Beträge) inkl. Customer-Embed; sortiert nach invoice_date DESC.
list-servers-tool¶
Liefert die komplette Serverliste — keine Pagination, kein Filter (Datenmenge ist klein).
Eingabe: keine.
Ausgabe: count + data[] mit Server-Stammdaten (Hostname, IPs, Stack, OS, Hardware-Eckdaten, Control-Panel, Status).
Initialize / Tools-Discovery¶
Vor dem ersten tools/call muss ein Client den initialize-Handshake durchführen und mit tools/list die verfügbaren Tools abrufen. Beispiel-Sequenz mit curl:
# 1. Initialize
curl -s -X POST https://ihre-domain.de/mcp \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-06-18",
"capabilities": {},
"clientInfo": {"name": "demo", "version": "0.1"}
}
}'
# 2. Tools auflisten
curl -s -X POST https://ihre-domain.de/mcp \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc": "2.0", "id": 2, "method": "tools/list"}'
In der Praxis übernimmt das ein MCP-Client (Claude Desktop, n8n, …) — siehe Client-Setup.