> For the complete documentation index, see [llms.txt](https://docs.kiloiot.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kiloiot.io/kilo-docs-de/kilo-iot-server/api/mcp-server.md).

# MCP-Server

Verbinden Sie KI-Agenten über Kilos OAuth-gesicherten IoT-MCP-Server mit IoT-Geräten und arbeiten Sie mit einer Live-Bereitstellung innerhalb der Berechtigungen des Benutzers.

MCP — das Model Context Protocol — ist ein offener Standard, der es einem KI-Client ermöglicht, Tools auf einem entfernten Server zu entdecken und aufzurufen. Der Kilo IoT Server stellt einen MCP-Endpunkt bereit, sodass jeder MCP-fähige Client — Claude Code, Claude Desktop, ChatGPT, Codex, Cursor und andere — eine Verbindung zu Ihrer Organisation herstellen und mit Ihrer realen Bereitstellung arbeiten kann: Geräten, Connectors, Regeln, Alarmen und Dashboards.

Dies ist ein Integrationspfad für die [Physical AI Platform for AI Agents](/kilo-docs-de/kilo-iot-server/physical-ai.md). Kilo bleibt die verwaltete Ausführungsschicht zwischen dem Client und der realen Infrastruktur, sodass das Modell nicht Gerätprotokolle, Organisationsgrenzen oder den betrieblichen Lebenszyklus rund um eine Änderung nachbilden muss.

Da MCP ein offener Standard und keine anbieterbezogene Integration ist, ist dies keine feste Liste. Jeder Client, der MCP über Streamable HTTP spricht, kann sich verbinden, und die folgenden Anleitungen decken die beiden Abläufe ab, denen die meisten Clients folgen: eine Kommandozeilen-Einrichtung und einen Connector-Dialog.

Der Endpunkt lautet:

```
https://mcp-auth.kiloiot.io/mcp
```

Sie autorisieren die Verbindung in Ihrem Browser mit Ihrem üblichen Kilo-Konto. Es muss kein API-Schlüssel erstellt, kein Token eingefügt und nichts auf dem Rechner gespeichert werden, auf dem der Client läuft.

## Warum das wichtig ist

Ohne MCP bedeutet das Arbeiten eines Assistenten gegen eine Live-Bereitstellung, zuerst eine Integration zu schreiben: einen Schlüssel, eine Client-Bibliothek, ein Skript pro Frage. Das ist für einen geplanten Job in Ordnung und für einen Vorfall um 2 Uhr nachts ziemlich aufwendig.

Mit dem verbundenen MCP-Server wird der Client, den Sie bereits verwenden, zur Bedienkonsole für Ihre Bereitstellung — und er kann handeln, nicht nur lesen. Ein Betriebsingenieur kann in einer Unterhaltung fragen, welche Geräte an einem Standort nicht mehr melden, und die Alarme rund um ein Ausfallfenster anhand von Live-Daten überprüfen. Ein Integrator, der einen Rollout erstellt, kann sich eine Gruppe von Geräten über den richtigen Connector bereitstellen lassen, statt denselben Dialog fünfzig Mal anzuklicken. Eine Teamleitung kann vor einer Schichtübergabe nach offenen Alarmstatistiken fragen. Und da der Werkzeugumfang Gerätebefehle einschließt, kann dieselbe Unterhaltung ein Meldeintervall ändern oder ein Relais schalten. Was das regelt — und warum eine KI, die auf physische Infrastruktur einwirkt, etwas anderes ist als eine, die auf Daten wirkt — wird in [Physical AI](/kilo-docs-de/kilo-iot-server/physical-ai.md).

Da die Verbindung Ihr eigenes Konto verwendet, ist der Assistent keine zusätzliche Identität, die verwaltet werden muss. Er kann tun, was Sie tun können, in der Organisation, in der Sie arbeiten, und sonst nichts.

## Claude Code verbinden

1. Fügen Sie den Server hinzu und geben Sie ihm den Namen `kilo`:

   ```bash
   claude mcp add --transport http kilo https://mcp-auth.kiloiot.io/mcp
   ```
2. Starten Sie Claude Code in Ihrem Projekt und führen Sie aus:

   ```
   /mcp
   ```
3. Wählen Sie den `kilo` Server aus. Claude Code öffnet Ihren Browser zur Autorisierung.
4. Melden Sie sich mit Ihrem üblichen Kilo-Konto an und genehmigen Sie die Anfrage. Der Browser bestätigt die Autorisierung, und Sie können zum Terminal zurückkehren.
5. Führen Sie `/mcp` erneut aus, wenn Sie das Ergebnis überprüfen möchten. Wenn der `kilo` Server als **verbunden**gemeldet wird, sind seine Tools verfügbar und Sie können beginnen, Fragen in natürlicher Sprache zu stellen.

## Claude Desktop verbinden

1. Öffnen Sie **Einstellungen → Connectors**.
2. Klicken Sie auf **Benutzerdefinierten Connector hinzufügen**.
3. Fügen Sie die Endpunkt-URL — `https://mcp-auth.kiloiot.io/mcp` — in das URL-Feld ein.
4. Klicken Sie auf **Verbinden**. Claude Desktop öffnet Ihren Browser zur Autorisierung.
5. Melden Sie sich mit Ihrem üblichen Kilo-Konto an und genehmigen Sie die Anfrage.
6. Bestätigen Sie in Claude Desktop, dass der Connector als aktiv angezeigt wird. Seine Tools sind jetzt in jeder Unterhaltung verfügbar.

## Einen anderen MCP-Client verbinden

ChatGPT, Codex, Cursor und andere MCP-fähige Clients folgen einer der beiden gleichen Formen. Wenn der Client über einen Connector- oder Integrationsdialog verfügt, fügen Sie einen benutzerdefinierten MCP-Server hinzu und fügen Sie die Endpunkt-URL ein, wie in den obigen Schritten für Claude Desktop. Wenn er über eine Kommandozeile oder eine Konfigurationsdatei eingerichtet wird, registrieren Sie den Endpunkt als einen **Streamable HTTP** Server — den Transport, den dieser Endpunkt bereitstellt — wie in den Schritten für Claude Code.

Die Autorisierung ist in jedem Fall dieselbe: Der Client öffnet Ihren Browser, Sie melden sich mit Ihrem üblichen Kilo-Konto an, und die Verbindung trägt Ihre Berechtigungen. Lesen Sie in der Dokumentation Ihres Clients nach, wo er MCP-Server speichert; an diesem Endpunkt ist nichts client-spezifisch.

## Wie eine verbundene Sitzung aussieht

<figure><img src="https://895787959-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtNQh1wBSHSaknslMdOXm%2Fuploads%2Fgit-blob-c76dbc8c4ecd947cc8440377d59be70c5367d640%2Fmcp-claude-session.jpg?alt=media" alt="A Claude Code session connected to Kilo over MCP, calling the connection_list tool and asking permission before continuing"><figcaption><p>Eine authentifizierte Claude-Code-Sitzung, die eine Live-Bereitstellung bearbeitet: Auf die Frage, einen LoRaWAN-Sensor zu konfigurieren, empfiehlt sie die Bereitstellung über die Plattform, ruft ein Kilo-Tool auf und hält vor dem Fortfahren für eine Berechtigung an</p></figcaption></figure>

Der Client kann aus Ihrer tatsächlichen Bereitstellung antworten, weil er die Verbindungen und Geräte lesen kann, die für Ihr Konto verfügbar sind. Die Bestätigungsaufforderung gehört zum Client: Kilo veröffentlicht Sicherheitsinformationen mit jedem Tool, und kompatible Clients können sie verwenden, um eine Bestätigung anzufordern. Kilo erzwingt Ihre Kontoberechtigungen unabhängig davon, wie der Client mit diesen Informationen umgeht. Siehe [Sicherheit und Berechtigungen](#security-and-permissions).

## Die Organisation auswählen

`https://mcp-auth.kiloiot.io/mcp` arbeitet gegen die Organisation **die derzeit in der Kilo-Web-App ausgewählt ist**. Das ist für die meisten Menschen die richtige Standardeinstellung: Was auch immer Sie gerade auf der Plattform bearbeiten, genau das sieht Ihr Client.

Wenn Sie die aktive Organisation in der Web-App wechseln, verbinden Sie den Client erneut, damit der Standardendpunkt die Änderung übernimmt.

Um einen Client unabhängig von der in der Web-App ausgewählten Organisation auf eine bestimmte Organisation festzulegen, verbinden Sie ihn mit der organisationsgebundenen Form des Endpunkts:

```
https://mcp-auth.kiloiot.io/o/{organizationId}/mcp
```

Ersetzen Sie `{organizationId}` durch die ID der Organisation aus der Web-App. Das Festlegen lohnt sich, wenn ein Client immer gegen eine einzelne Produktionsorganisation arbeiten soll — etwa ein Integrator, der die Bereitstellung eines Kunden wartet, oder ein Arbeitsplatz, der niemals mit Staging in Berührung kommen darf.

Wenn Sie kein Mitglied der Organisation sind, auf die Sie festlegen, wird die Anfrage abgelehnt.

## Was der Assistent tun kann

Sobald die Verbindung hergestellt ist, sieht der Client eine Reihe von Tools, die er in Ihrem Namen aufruft. Sie rufen sie nicht selbst auf — Sie beschreiben die Aufgabe, und der Client wählt die benötigten Tools aus.

| Bereich          | Was der verbundene Client tun kann                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Geräte**       | Geräte in der Organisation auflisten, LoRaWAN-, MQTT- und Tracker-Geräte bereitstellen, Geräteprofile lesen und Sensorzuordnungen prüfen. `device_list`, `device_provision_lorawan`, `device_provision_mqtt`, `device_provision_tracker`, `device_profile_list`, `sensor_map`                                                                                                                                                                                                                                                                                                                  |
| **MIOTY**        | Durchsuchen Sie den Gerätekatalog einer MIOTY-Verbindung — Hersteller, Gerätemodelle und ihre Blueprints, sowohl im System- als auch im benutzerdefinierten Bereich — und nehmen Sie darüber einen Endpunkt in Betrieb. `mioty_catalog_list`, `device_provision_mioty`                                                                                                                                                                                                                                                                                                                         |
| **Hardware**     | Durchsuchen Sie den Partnerkatalog und das offene Web nach Geräten, die zu einem beschriebenen Bedarf passen, und präsentieren Sie dann eine engere Auswahl dieser Produkte. Das sind die beiden Tools, die über Ihre Organisation hinausreichen. `hardware_search`, `recommend_products`                                                                                                                                                                                                                                                                                                      |
| **Befehle**      | Listen Sie die auf einem Gerät konfigurierten Befehle auf, führen Sie einen hinter einer Bestätigung aus und prüfen Sie, ob er zugestellt wurde. `device_command_list`, `device_command_execute`, `device_command_status`                                                                                                                                                                                                                                                                                                                                                                      |
| **Emulator**     | Durchsuchen Sie Geräte-Presets, stellen Sie ein [emuliertes Gerät](/kilo-docs-de/kilo-iot-server/devices/emulated-devices.md)bereit, lesen und aktualisieren Sie dessen Konfiguration und Intervall, senden Sie eine einmalige Messung und verschieben Sie ein Gerät zwischen dem Emulator und der realen Hardware — jedes reale Gerät in den Emulator und ein emuliertes Gerät auf eine echte LoRaWAN-Verbindung. `emulator_preset_list`, `emulator_preset_get`, `device_provision_emulator`, `emulator_config_get`, `emulator_config_update`, `emulator_send_once`, `device_connection_swap` |
| **Connectors**   | Überprüfen Sie die in der Organisation definierten Connectors und erstellen Sie eine Verbindung, über die ein Gerät berichten kann. `connector_list`, `connection_create`                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Regeln**       | Überprüfen Sie Regeln, bereiten Sie Automatisierungen vor und stellen Sie sie nach Bestätigung bereit, simulieren Sie Logik, bevor sie die Produktion erreicht, und prüfen Sie den Ausführungsverlauf. `rule_list`, `rule_provision`, `rule_simulate`, `rule_execution_history`                                                                                                                                                                                                                                                                                                                |
| **Alarme**       | Listen Sie Alarme auf und fassen Sie die Alarmaktivität für eine Schicht oder einen Standort zusammen. `alarm_list`, `alarm_stats`                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Dashboards**   | Listen Sie Dashboards auf und fragen Sie die Daten hinter einem Widget ab, damit der Client mit denselben Zahlen argumentieren kann, die Ihre Operatoren beobachten. `dashboard_list`, `widget_data_query`                                                                                                                                                                                                                                                                                                                                                                                     |
| **Organisation** | Lesen Sie Organisationsdetails, listen Sie Teams auf, laden Sie Benutzer ein und weisen Sie Rollen zu. `org_get`, `team_list`, `user_invite`, `user_role_assign`                                                                                                                                                                                                                                                                                                                                                                                                                               |

## Wie Clients Lese- und Schreibaktionen unterscheiden

Kilo veröffentlicht mit jedem MCP-Tool einen Titel, eine Beschreibung und Sicherheitsanmerkungen. Kompatible Clients können diese Anmerkungen lesen, bevor sie entscheiden, ob sie das Tool sofort ausführen oder Sie um Bestätigung bitten.

| Anmerkung                                | Beispiele                                                                                           | Was es dem Client mitteilt                                                                                     |
| ---------------------------------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| **Nur lesen**                            | Geräte auflisten, Alarmverlauf lesen, Widget-Daten abfragen                                         | Das Tool verändert Ihre Bereitstellung nicht.                                                                  |
| **Ändert oder entfernt Daten**           | Ein Gerät löschen, ein Dashboard aktualisieren, eine Verbindung wechseln, einen Gerätebefehl senden | Das Tool kann Ihre Bereitstellung oder Geräte beeinflussen, sodass der Client eine Bestätigung anfordern kann. |
| **Reicht über Ihre Organisation hinaus** | Den Partnerkatalog oder das offene Web nach Hardware durchsuchen                                    | Das Tool greift auf Informationen außerhalb der Daten Ihrer Organisation zu.                                   |

Das Erstellen eines Geräts oder Dashboards verändert Ihre Organisation, überschreibt oder stoppt jedoch keine vorhandene Ressource und kann durch Löschen der neuen Ressource rückgängig gemacht werden. Kilo bezeichnet das Erstellen daher nicht als destruktiv.

Sicherheitsanmerkungen sind Informationen für den Client, kein Autorisierungskontrollmechanismus. Clients entscheiden, wie sie Bestätigungen anzeigen. Ihre Kilo-Berechtigungen bleiben die durchgesetzte Grenze, sodass ein Client keine Aktion ausführen kann, die Ihr Konto nicht ausführen darf.

## Sicherheit und Berechtigungen

* **Sie melden sich an, nicht ein Dienstkonto.** Die Autorisierung erfolgt in Ihrem Browser mit Ihrem normalen Kilo-Konto. Für die Verbindung wird kein Schlüssel erzeugt, kopiert oder gespeichert.
* **Ihre Berechtigungen sind die Obergrenze.** Die Verbindung trägt Ihren eigenen Zugriff. Der Client kann nur das tun, was Ihr Konto darf — wenn Sie keine Regel bereitstellen oder keinen Benutzer einladen können, kann er es auch nicht.
* **Organisationsgrenzen bleiben erhalten.** Eine Anfrage für eine Organisation, deren Mitglied Sie nicht sind, wird abgelehnt, egal ob sie vom Standardendpunkt oder von einem festgelegten Endpunkt kommt.
* **Aktionen behalten ihre Betriebsprotokolle.** Regeländerungen und -ausführungen erscheinen im Regelverlauf, das Senden von Gerätebefehlen erscheint im Ausführungsverlauf der Befehle, und Änderungen am Organisationszugriff erscheinen im Audit Trail. Das sind separate Aufzeichnungen für die jeweiligen Workflows, nicht ein generisches Gesprächsprotokoll.

Behandeln Sie einen autorisierten Client wie eine angemeldete Sitzung: Er gehört auf Rechner, die Sie kontrollieren.

## Wie sich dies vom integrierten Assistenten unterscheidet

Kilo hat einen [IoT AI Assistant](/kilo-docs-de/kilo-iot-server/ai-assistant.md) direkt in die Web-App eingebaut — öffnen Sie ihn über **AI Chat** und er arbeitet Ihre Bereitstellung gemeinsam mit Ihnen durch, ganz ohne Einrichtung. Das ist für die meisten Menschen der schnellste Weg, und dort befinden sich Bestätigungs-Gates, Inline-Diagramme und die Wissensdatenbank der Plattform.

Der MCP-Server geht in die andere Richtung: Er bringt **Ihren eigenen Client** zur selben Bereitstellung. Verwenden Sie ihn, wenn Sie Ihre Bereitstellung in dem Tool haben möchten, das Sie bereits geöffnet haben — ein Terminal neben dem Code der Integration, die Sie bauen, oder ein Desktop-Client, in dem die Bereitstellung neben Ihrem anderen Kontext steht. Beide sprechen mit derselben Plattform, daher ist die Frage, welchen Sie verwenden, eine Frage des Ortes, an dem Sie arbeiten.

## Wie sich dies von REST und gRPC unterscheidet

Die [Public REST API](/kilo-docs-de/kilo-iot-server/api/public-rest-api.md) und die [gRPC API](/kilo-docs-de/kilo-iot-server/api/grpc-api.md) sind für Programme gedacht, die Sie schreiben: einen Synchronisationsjob, eine Reporting-Pipeline, eine SCADA-Brücke. Sie authentifizieren sich mit einem begrenzten [API-Schlüssel](/kilo-docs-de/kilo-iot-server/settings/api-keys.md) der unbeaufsichtigt läuft. MCP ist für einen KI-Client gedacht, der in Ihrem Namen handelt, mit Ihrem eigenen Login autorisiert und durch Ihre eigenen Berechtigungen begrenzt. Wenn Sie Code schreiben, verwenden Sie REST. Wenn Sie mit einem Assistenten arbeiten, verwenden Sie MCP.

## Tipps

* **Benennen Sie den Server `kilo` in Claude Code.** Der obige Befehl tut das, und er gibt Ihnen einen kurzen Namen, wenn Sie den Client auf einen bestimmten Server ausrichten möchten.
* **Beginnen Sie mit schreibgeschützt.** Bitten Sie zuerst um eine Geräteauflistung oder eine Alarmzusammenfassung, bevor Sie nach einem Bereitstellungslauf fragen. Das ist ein schneller Weg, um zu bestätigen, dass die Verbindung bei der von Ihnen erwarteten Organisation gelandet ist.
* **Bestätigen Sie die Organisation vor Massenarbeiten.** Fragen Sie den Client, mit welcher Organisation er verbunden ist, oder legen Sie den Endpunkt fest, bevor Sie etwas tun, das Ressourcen erstellt oder ändert.
* **Produktion festlegen, Staging auf dem Standard lassen.** Ein festgelegter Endpunkt kann nicht durch einen versehentlichen Klick im Organisationswechsler der Web-App verschoben werden.
* **Nach einem Organisationswechsel erneut verbinden** in der Web-App, wenn Sie den Standardendpunkt verwenden — die bestehende Verbindung behält die Organisation bei, für die sie autorisiert wurde.

## Siehe auch

* [Physical AI Platform for AI Agents](/kilo-docs-de/kilo-iot-server/physical-ai.md) — wie Modelle, Kilo und physische Infrastruktur die Verantwortung aufteilen.
* [IoT AI Assistant](/kilo-docs-de/kilo-iot-server/ai-assistant.md) — der in die Plattform eingebaute Assistent.
* [Public REST API](/kilo-docs-de/kilo-iot-server/api/public-rest-api.md) — der Integrationspfad für Programme, die Sie schreiben.
* [Authentifizierung & API-Schlüssel](/kilo-docs-de/kilo-iot-server/api/authentication-and-api-keys.md) — wie schlüsselbasierte API-Anfragen autorisiert werden.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kiloiot.io/kilo-docs-de/kilo-iot-server/api/mcp-server.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
