mspbots-fleet-mcp
Officialmspbots-fleet-mcp
MCP-Server für die MSPbots Fleet Platform API – eine Multi-Tenant-Konsole über fleetdm: Host-Inventar, On-Demand-Skripte und gespeicherte osquery-Abfragen, bereitgestellt für MCP-Clients.
Er folgt demselben Design wie der Schwesterdienst mspbots-agent-mcp:
zustandslos, keine gespeicherten Anmeldedaten, Header-Authentifizierung pro Anfrage über das
Model Context Protocol (Streamable HTTP/SSE-Transport).
Wann Sie dies verwenden würden
Dieses MCP kapselt ein internes MSPbots-Produkt (Geräte-Fleet-Verwaltung), keine Drittanbieter-Integration. Typische Verwendungen:
„Welche Hosts hat dieser Mandant, und welche sind offline?" →
mspbotsfleet_list_hosts„Dieses Laptop als Production markieren" →
mspbotsfleet_set_host_labels„Diese Maschine sieht veraltet aus, Aktualisierung erzwingen" →
mspbotsfleet_refetch_host„Unser Log-Erfassungsskript auf diesem Server ausführen" →
mspbotsfleet_run_script„Wie hoch ist die Speichernutzung auf allen Windows-Hosts gerade?" → eine gespeicherte Abfrage mit
mspbotsfleet_create_queryerstellen, dannmspbotsfleet_run_query„Eine Charge neuer Laptops wurde gerade registriert, die von uns deklarierten übernehmen" →
mspbotsfleet_claim_hosts„Wir nehmen dieses Gerät außer Betrieb, beenden Sie die Verfolgung als unseres (aber lassen Sie es in Fleet)" →
mspbotsfleet_release_host
Related MCP server: Rancher MCP Server
Tools
Die Anmeldedaten für alle Tools stammen aus den Request-Headern (X-MSP-Token / X-MSP-Tenant-Id / X-MSP-Host),
es müssen keine Token in den Tool-Parametern übergeben werden.
Hosts
Hosts können nicht über die API erstellt werden: Maschinen erscheinen automatisch, nachdem sie fleetd installiert und registriert haben, und werden dann anhand der vom Mandanten deklarierten Kennungen
(Hostname/Seriennummer/UUID) übernommen, siehe mspbotsfleet_claim_hosts.
Tool | Funktion | Parameter |
| Listet die Hosts des aktuellen Mandanten auf (Fuzzy-Suche+Statusfilter+Seitennummer) |
|
| Ruft Host-Details+manuelle Labels ab |
|
| Listet die auf diesem Host ausführbaren Skripte auf |
|
| Ersetzt die manuellen Labels des Hosts vollständig |
|
| Fordert an, dass der Host beim nächsten Check-in die Eigenschaften aktualisiert (asynchron) |
|
| Entfernt den Host aus Fleet und löscht die Zuordnung (wenn fleetd nicht deinstalliert ist, registriert er sich erneut) |
|
| Deklariert Kennungen und übernimmt passende herrenlose Hosts (idempotent, kann wiederholt aufgerufen werden, um nicht zugeordnete erneut zu versuchen) |
|
| Gibt die Zuordnung eines Hosts zu diesem Mandanten auf, ohne den Host selbst zu löschen (idempotent) |
|
Die Hostliste wird vollständig abgerufen und dann im Speicher gefiltert/sortiert/aufgeteilt. Die Fleet-seitigen Daten werden 15 Sekunden zwischengespeichert, die Zuordnungsinformationen werden in Echtzeit aus der Datenbank abgefragt und nicht zwischengespeichert.
claim_hostsgibt{claimed, waiting, rejected}zurück:waitingsind deklarierte, aber noch nicht in Fleet erschienene Hosts,rejectedsind Kennungen, die bereits von einem anderen Mandanten deklariert wurden.
Skripte
Tool | Funktion | Parameter |
| Listet die Skripte des Mandanten auf |
|
| Ruft Skript-Details ab (einschließlich Inhalt) |
|
| Erstellt ein neues Skript (Dateiname muss auf |
|
| Ersetzt den Skriptinhalt (Dateiname kann nicht geändert werden) |
|
| Löscht das Skript (wirkt auf alle Hosts) |
|
| Führt das Skript auf dem Host aus |
|
| Fragt das Ausführungsergebnis ab ( |
|
create_script/update_scriptgeben nur{id, name}zurück; Zeitstempel und andere Felder müssen übermspbotsfleet_get_script/mspbotsfleet_list_scriptsabgefragt werden.
Gespeicherte Abfragen
Tool | Funktion | Parameter |
| Listet die Abfragen des Mandanten auf |
|
| Ruft Abfrage-Details ab (einschließlich SQL) |
|
| Erstellt eine neue gespeicherte Abfrage (nur einzelne SELECT / WITH…SELECT erlaubt). Nicht idempotent – wiederholter Aufruf erstellt mehrere Abfragen |
|
| Aktualisiert die Abfrage (partiell, nur zu ändernde Felder übergeben) |
|
| Löscht die Abfrage und ihre Berichtsdaten |
|
| Führt die Abfrage in Echtzeit auf Hosts aus und wartet auf das Ergebnis (≤45s) |
|
SQL-Validierungsregeln: Nur eine einzelne
SELECT- oderWITH … SELECT-Anweisung erlaubt, abschließendes Semikolon wird automatisch entfernt, ein;im Text wird direkt abgelehnt. Diese Validierung wird vom Backend durchgeführt, dieser Dienst validiert nicht erneut.
Schnellstart
Docker (empfohlen)
docker compose up --buildDer Server startet auf http://localhost:8080.
Lokal (uv)
uv sync
python -m mspbots_fleet_mcpHealth Check
curl http://localhost:8080/health
# {"status": "ok"}Für den Health-Endpunkt sind keine Anmeldedaten erforderlich.
Authentifizierung
Jede Anfrage an /mcp muss die folgenden HTTP-Header enthalten (vom
MCP-Aufrufer bereitgestellt – konsistent mit mspbots-agent-mcp / ticketqa-mcp):
Header | Typ | Erforderlich | Feldbeschreibung | Beispiel |
| string | Erforderlich | Von Fleet Platform ausgestelltes Zugriffstoken (JWT-Bearer-Token). Dieser Dienst leitet es unverändert als |
|
| string | Erforderlich | Mandantenkennung. Wird bei der Weiterleitung an die Downstream-API in den Header |
|
| string | Erforderlich | Host, auf dem die Fleet-API läuft. |
|
Fehlt einer der drei Header, wird 401 Unauthorized zurückgegeben.
Die Downstream-Fleet-API selbst gibt bei Authentifizierungsfehlern (fehlendes Token/falsche Signatur/unzureichende Rolle) einheitlich 403 zurück, nicht 401 – 401 tritt nur auf dieser Dienstebene auf (fehlender Gateway-Header).
Umgebungsvariablen
Variable | Standard | Beschreibung |
|
| Listening-Port |
|
| Listening-Host |
MCP-Endpunkt
POST http://localhost:8080/mcpVerbinden Sie Ihren MCP-Client mit:
Transport:
http(Streamable HTTP / SSE)Header:
X-MSP-Token,X-MSP-Tenant-Id,X-MSP-Host(alle erforderlich)
Testbeispiel
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "X-MSP-Token: <token>" \
-H "X-MSP-Tenant-Id: <tenant-id>" \
-H "X-MSP-Host: https://agent.mspbots.ai" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": { "name": "mspbotsfleet_list_hosts", "arguments": { "status": "online", "per_page": 10 } }
}'⚠️ Dieses Repository ist öffentlich. Bitte schreiben Sie keine echten Token / Mandanten-IDs oder andere sensible Informationen in irgendeine Datei im Repository. Die obigen
<token>/<tenant-id>sind nur Platzhalter.
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
- Flicense-qualityDmaintenanceA Model Context Protocol server that bridges Microsoft Teams with MCP-compatible clients (LLMs, agentic frameworks, CLI), enabling chat integration, message search, and event streaming without traditional REST API endpoints.
- AlicenseBqualityCmaintenanceModel Context Protocol (MCP) server for the Rancher ecosystem: multi-cluster Kubernetes, Harvester HCI (VMs, storage, networks), and Fleet GitOps.1012Apache 2.0
- Alicense-qualityDmaintenanceModel Context Protocol server that connects AI agents with CrowdStrike Falcon platform for intelligent security analysis and automation.MIT
- Alicense-qualityDmaintenanceA comprehensive Model Context Protocol (MCP) server for New Relic monitoring, observability, and management operations.MIT
Related MCP Connectors
MCP server for interacting with the Supabase platform
MCP server wrapping the Tesla Fleet API and TeslaMate API
MCP (Model Context Protocol) server for Appwrite
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/MSPbotsAI/mspbots-fleet-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server