MCP-Server
Der MCP-Server von Diaform verbindet deinen KI-Agenten mit deinem Feedback. Sobald er verbunden ist, kannst du dem Agenten Fragen stellen wie „Worüber haben sich Kunden diesen Monat beschwert?“, und er ruft die Gespräche, Zusammenfassungen und Berichte ab.
MCP (Model Context Protocol) ist der Standard, über den sich KI-Agenten mit externen Tools verbinden. Der Server liefert dieselben Daten wie die REST-API, ist schreibgeschützt und nutzt denselben API-Schlüssel.
Bevor du loslegst#
Du brauchst einen Pro-, Business- oder Enterprise-Tarif und einen API-Schlüssel. Inhaber und Admins erstellen Schlüssel unter Einstellungen → Allgemein → API-Schlüssel. Siehe API-Überblick.
| Einstellung | Wert |
|---|---|
| Server-URL | https://diaform.io/api/mcp |
| Transport | Streamable HTTP |
| Authentifizierung | Header Authorization: Bearer dia_org_live_... |
Ein Schlüssel gibt dem Agenten Lesezugriff auf jedes Projekt deiner Organisation. Erstelle für jeden Agenten einen eigenen Schlüssel. So kannst du einen widerrufen, ohne dass die anderen betroffen sind.
Agenten verbinden#
Wähle deinen Agenten:
Führ das in deinem Terminal aus:
claude mcp add --transport http diaform https://diaform.io/api/mcp \
--header "Authorization: Bearer $DIAFORM_API_KEY"Führ dann in Claude Code /mcp aus, um zu prüfen, ob diaform verbunden ist.
Tools#
Der Agent sieht sechs Tools, alle schreibgeschützt:
| Tool | Was es macht | Argumente |
|---|---|---|
list_projects | Listet jedes Projekt mit ID, Namen und Status auf | Keine |
get_project | Gibt ein Projekt mit seinen Fragen und Gesprächszahlen zurück | project_id |
list_conversations | Listet die Gespräche eines Projekts mit Teilnehmer, Stimmung und KI-Zusammenfassung auf | project_id und optional status, sentiment, created_after, created_before, search, limit, cursor |
get_conversation | Gibt ein Gespräch mit seiner Zusammenfassung und dem vollständigen Transkript zurück | conversation_id |
list_reports | Listet die KI-Berichte eines Projekts auf | project_id und optional status, limit, cursor |
get_report | Gibt einen KI-Bericht mit seinen Themen, Problemen, Ausreißern und Zitaten zurück | report_id |
Jedes Tool gibt dasselbe JSON zurück wie sein REST-Endpunkt. Die Felder sind unter Projekte, Gespräche und Berichte beschrieben. status und sentiment sind Arrays, etwa ["completed"].
Listen geben bis zu 100 Einträge auf einmal zurück. Hat ein Ergebnis has_more: true, übergibt der Agent next_cursor als cursor, um die nächste Seite abzurufen.
Was du fragen kannst#
- „Liste meine Diaform-Projekte auf und sag mir, welches die meisten Antworten bekommen hat.“
- „Lies die abgeschlossenen Gespräche der letzten 30 Tage im Onboarding-Projekt und ordne die Beschwerden nach Themen.“
- „Finde Gespräche, in denen es um die Preise geht, und zitiere, was die Leute gesagt haben.“
- „Fass den neuesten KI-Bericht zusammen und entwirf ein Slack-Update für das Produktteam.“
- „Hol mir das vollständige Transkript des negativsten Gesprächs dieser Woche.“
Fehler und Limits#
Fehlt der Schlüssel, wurde er widerrufen oder hat dein Tarif keinen API-Zugriff, schlägt die Verbindung mit HTTP 401 oder 403 fehl. Dein Client zeigt das meist als fehlgeschlagenen oder nicht autorisierten Server an.
Schlägt ein Tool-Aufruf fehl, zum Beispiel wegen einer falschen ID, bekommt der Agent denselben error und code wie bei der REST-API und kann sich selbst korrigieren. Siehe Fehler.
MCP-Anfragen zählen zum selben Limit wie die REST-API: 120 Anfragen pro Minute für jeden Schlüssel.
Technische Details#
Wenn du einen eigenen Client baust:
- Sende JSON-RPC-2.0-Nachrichten mit
POST https://diaform.io/api/mcp. Der Server beantwortet jede Anfrage mit einer einzelnen JSON-Antwort, nicht mit einem Event-Stream. - Der Server ist zustandslos. Er vergibt keine Session-ID, und
GETundDELETEliefern405. - Unterstützte Protokollversionen sind
2025-06-18,2025-03-26und2024-11-05. - Er implementiert
initialize,ping,tools/listundtools/call. Resources oder Prompts hat er nicht.
curl -X POST "https://diaform.io/api/mcp" \
-H "Authorization: Bearer $DIAFORM_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_conversations",
"arguments": {
"project_id": "b8acb3ab-1f3d-4a7e-a846-b7f493f86b6d",
"status": ["completed"],
"limit": 10
}
}
}'