Serwer MCP
Serwer MCP Diaform łączy Twojego agenta AI z opiniami, które zbierasz. Po połączeniu możesz zadawać agentowi pytania w rodzaju „Na co klienci narzekali w tym miesiącu?”, a on pobierze rozmowy, podsumowania i raporty.
MCP (Model Context Protocol) to standardowy sposób łączenia agentów AI z zewnętrznymi narzędziami. Serwer udostępnia te same dane co REST API, działa tylko do odczytu i używa tego samego klucza API.
Zanim zaczniesz#
Potrzebujesz planu Pro, Business lub Enterprise i klucza API. Osoby z rolami Właściciel i Administrator tworzą klucze w Ustawienia → Ogólne → Klucze API. Zobacz Przegląd API.
| Ustawienie | Wartość |
|---|---|
| URL serwera | https://diaform.io/api/mcp |
| Transport | Streamable HTTP |
| Uwierzytelnianie | Nagłówek Authorization: Bearer dia_org_live_... |
Klucz daje agentowi dostęp do odczytu wszystkich projektów w Twojej organizacji. Utwórz osobny klucz dla każdego agenta, żeby móc unieważnić jeden bez wpływu na pozostałe.
Połącz swojego agenta#
Wybierz swojego agenta:
Uruchom to polecenie w terminalu:
claude mcp add --transport http diaform https://diaform.io/api/mcp \
--header "Authorization: Bearer $DIAFORM_API_KEY"Potem uruchom /mcp w Claude Code, żeby sprawdzić, czy diaform jest połączony.
Narzędzia#
Agent widzi sześć narzędzi tylko do odczytu:
| Narzędzie | Co robi | Argumenty |
|---|---|---|
list_projects | Zwraca listę wszystkich projektów z ID, nazwą i statusem | Brak |
get_project | Zwraca jeden projekt z pytaniami i liczbą rozmów | project_id |
list_conversations | Zwraca listę rozmów w projekcie z respondentem, sentymentem i podsumowaniem AI | project_id oraz opcjonalnie status, sentiment, created_after, created_before, search, limit, cursor |
get_conversation | Zwraca jedną rozmowę z podsumowaniem i pełną transkrypcją | conversation_id |
list_reports | Zwraca listę raportów AI w projekcie | project_id oraz opcjonalnie status, limit, cursor |
get_report | Zwraca jeden raport AI z tematami, problemami, odosobnionymi głosami i cytatami | report_id |
Każde narzędzie zwraca ten sam JSON co jego endpoint REST. Pola są opisane na stronach Projekty, Rozmowy i Raporty. status i sentiment to tablice, np. ["completed"].
Listy zwracają do 100 elementów naraz. Gdy wynik zawiera has_more: true, agent przekazuje next_cursor jako cursor, żeby pobrać następną stronę.
O co możesz zapytać#
- „Wypisz moje projekty w Diaform i powiedz, który zebrał najwięcej odpowiedzi.”
- „Przeczytaj zakończone rozmowy z ostatnich 30 dni w projekcie o onboardingu i pogrupuj skargi według tematów.”
- „Znajdź rozmowy, w których mowa o cenach, i zacytuj, co powiedzieli ludzie.”
- „Podsumuj najnowszy raport AI i przygotuj szkic aktualizacji na Slack dla zespołu produktowego.”
- „Pobierz pełną transkrypcję najbardziej negatywnej rozmowy z tego tygodnia.”
Błędy i limity#
Brak klucza, unieważniony klucz albo plan bez dostępu do API kończy połączenie błędem HTTP 401 lub 403. Twój klient zwykle pokazuje wtedy, że serwer nie działa albo nie ma autoryzacji.
Gdy wywołanie narzędzia się nie powiedzie, na przykład z powodu błędnego ID, agent dostaje te same wartości error i code co w REST API i może sam się poprawić. Zobacz Błędy.
Żądania MCP liczą się do tego samego limitu co REST API: 120 żądań na minutę na każdy klucz.
Szczegóły techniczne#
Jeśli budujesz własnego klienta:
- Wysyłaj komunikaty JSON-RPC 2.0 przez
POST https://diaform.io/api/mcp. Serwer odpowiada na każde żądanie jedną odpowiedzią JSON, a nie strumieniem zdarzeń. - Serwer jest bezstanowy. Nie wydaje ID sesji, a
GETiDELETEzwracają405. - Obsługiwane wersje protokołu to
2025-06-18,2025-03-26i2024-11-05. - Implementuje
initialize,ping,tools/listitools/call. Nie ma zasobów ani promptów.
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
}
}
}'