Zum Inhalt

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.