MCP-server
Diaforms MCP-server ansluter din AI-agent till din feedback. När du har anslutit den kan du ställa frågor till agenten, till exempel ”Vad klagade kunderna på den här månaden?”, så hämtar den konversationerna, sammanfattningarna och rapporterna.
MCP (Model Context Protocol) är standardsättet för AI-agenter att ansluta till externa verktyg. Servern visar samma data som REST-API:t, ger bara läsåtkomst och använder samma API-nyckel.
Innan du börjar#
Du behöver planen Pro, Business eller Enterprise och en API-nyckel. Ägare och admins skapar nycklar under Inställningar → Allmänt → API-nycklar. Läs mer under API-översikt.
| Inställning | Värde |
|---|---|
| Serverns URL | https://diaform.io/api/mcp |
| Transport | Streamable HTTP |
| Autentisering | Headern Authorization: Bearer dia_org_live_... |
En nyckel ger agenten läsåtkomst till alla projekt i din organisation. Skapa en separat nyckel för varje agent, så att du kan återkalla en utan att påverka de andra.
Anslut din agent#
Välj din agent:
Kör det här i terminalen:
claude mcp add --transport http diaform https://diaform.io/api/mcp \
--header "Authorization: Bearer $DIAFORM_API_KEY"Kör sedan /mcp i Claude Code för att kontrollera att diaform är ansluten.
Verktyg#
Agenten ser sex verktyg, som alla bara läser data:
| Verktyg | Vad det gör | Argument |
|---|---|---|
list_projects | Listar alla projekt med ID, namn och status | Inga |
get_project | Returnerar ett projekt med dess frågor och antal konversationer | project_id |
list_conversations | Listar ett projekts konversationer med respondent, sentiment och AI-sammanfattning | project_id, och valfritt status, sentiment, created_after, created_before, search, limit, cursor |
get_conversation | Returnerar en konversation med dess sammanfattning och fullständiga transkription | conversation_id |
list_reports | Listar ett projekts AI-rapporter | project_id, och valfritt status, limit, cursor |
get_report | Returnerar en AI-rapport med dess teman, problem, avvikande synpunkter och citat | report_id |
Varje verktyg returnerar samma JSON som sin REST-endpoint. Fälten beskrivs under Projekt, Konversationer och Rapporter. status och sentiment är arrayer, till exempel ["completed"].
Listor returnerar upp till 100 poster åt gången. När ett resultat har has_more: true skickar agenten next_cursor som cursor för att hämta nästa sida.
Saker du kan fråga#
- ”Lista mina Diaform-projekt och berätta vilket som fick flest svar.”
- ”Läs de slutförda konversationerna från de senaste 30 dagarna i onboardingprojektet och gruppera klagomålen efter tema.”
- ”Hitta konversationer som nämner priser och citera vad folk sa.”
- ”Sammanfatta den senaste AI-rapporten och skriv ett utkast till en Slack-uppdatering för produktteamet.”
- ”Hämta hela transkriptionen av veckans mest negativa konversation.”
Fel och gränser#
Om nyckeln saknas eller har återkallats, eller om planen saknar API-åtkomst, misslyckas anslutningen med HTTP 401 eller 403. Din klient visar det oftast som en misslyckad eller obehörig server.
När ett verktygsanrop misslyckas, till exempel på grund av ett felaktigt ID, får agenten samma error och code som i REST-API:t och kan rätta sig själv. Läs mer under Fel.
MCP-förfrågningar räknas mot samma gräns som REST-API:t: 120 förfrågningar per minut för varje nyckel.
Tekniska detaljer#
För dig som bygger en egen klient:
- Skicka JSON-RPC 2.0-meddelanden med
POST https://diaform.io/api/mcp. Servern besvarar varje förfrågan med ett enda JSON-svar, inte en händelseström. - Servern är tillståndslös. Den utfärdar inget sessions-ID, och
GETochDELETEreturnerar405. - Protokollversionerna
2025-06-18,2025-03-26och2024-11-05stöds. - Den implementerar
initialize,ping,tools/listochtools/call. Den har inga resurser eller prompter.
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
}
}
}'