API og MCP

MCP-server

MCP-serveren til Diaform kobler AI-agenten din til tilbakemeldingene dine. Når den er koblet til, kan du stille agenten spørsmål som «Hva klaget kundene på denne måneden?», og den henter samtalene, sammendragene og rapportene.

MCP (Model Context Protocol) er standarden for å koble AI-agenter til eksterne verktøy. Serveren gir tilgang til de samme dataene som REST API-et, er skrivebeskyttet og bruker den samme API-nøkkelen.

Før du starter#

Du trenger planen Pro, Business eller Enterprise og en API-nøkkel. Eiere og administratorer lager nøkler under Innstillinger → Generelt → API-nøkler. Se API-oversikt.

InnstillingVerdi
Server-URLhttps://diaform.io/api/mcp
TransportStreamable HTTP
AutentiseringHeaderen Authorization: Bearer dia_org_live_...

En nøkkel gir agenten lesetilgang til alle prosjekter i organisasjonen din. Lag en egen nøkkel for hver agent, så du kan tilbakekalle én uten at det påvirker de andre.

Koble til agenten din#

Velg agenten din:

Kjør dette i terminalen:

Shell
claude mcp add --transport http diaform https://diaform.io/api/mcp \
  --header "Authorization: Bearer $DIAFORM_API_KEY"

Kjør deretter /mcp i Claude Code for å sjekke at diaform er koblet til.

Verktøy#

Agenten ser seks skrivebeskyttede verktøy:

VerktøyHva det gjørArgumenter
list_projectsLister opp alle prosjekter med ID, navn og statusIngen
get_projectReturnerer ett prosjekt med spørsmålene og antall samtalerproject_id
list_conversationsLister opp samtalene i et prosjekt med respondent, sentiment og AI-sammendragproject_id, og eventuelt status, sentiment, created_after, created_before, search, limit, cursor
get_conversationReturnerer én samtale med sammendraget og hele transkripsjonenconversation_id
list_reportsLister opp AI-rapportene i et prosjektproject_id, og eventuelt status, limit, cursor
get_reportReturnerer én AI-rapport med temaer, problemer, avvikere og sitaterreport_id

Hvert verktøy returnerer samme JSON som det tilsvarende REST-endepunktet. Feltene er beskrevet i Prosjekter, Samtaler og Rapporter. status og sentiment er arrayer, for eksempel ["completed"].

Lister returnerer opptil 100 elementer om gangen. Når et resultat har has_more: true, sender agenten next_cursor som cursor for å hente neste side.

Dette kan du spørre om#

  • «List opp Diaform-prosjektene mine, og fortell meg hvilket som har fått flest svar.»
  • «Les de fullførte samtalene fra de siste 30 dagene i onboarding-prosjektet, og grupper klagene etter tema.»
  • «Finn samtaler som nevner priser, og siter hva folk sa.»
  • «Oppsummer den nyeste AI-rapporten, og skriv et utkast til en Slack-oppdatering for produktteamet.»
  • «Hent hele transkripsjonen av den mest negative samtalen denne uken.»

Feil og grenser#

Hvis nøkkelen mangler eller er tilbakekalt, eller planen ikke har API-tilgang, feiler tilkoblingen med HTTP 401 eller 403. Klienten din viser vanligvis dette som en server som har feilet eller ikke er autorisert.

Når et verktøykall feiler, for eksempel på grunn av feil ID, får agenten samme error og code som i REST API-et og kan rette seg selv. Se Feil.

MCP-forespørsler teller mot samme grense som REST API-et: 120 forespørsler i minuttet per nøkkel.

Tekniske detaljer#

Hvis du bygger din egen klient:

  • Send JSON-RPC 2.0-meldinger med POST https://diaform.io/api/mcp. Serveren svarer på hver forespørsel med ett JSON-svar, ikke en hendelsesstrøm.
  • Serveren er tilstandsløs. Den utsteder ingen økt-ID, og GET og DELETE returnerer 405.
  • Støttede protokollversjoner er 2025-06-18, 2025-03-26 og 2024-11-05.
  • Den implementerer initialize, ping, tools/list og tools/call. Den har ingen ressurser eller prompter.
Shell
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
      }
    }
  }'