MCP-palvelin
Diaformin MCP-palvelin yhdistää AI-agenttisi palautteeseesi. Kun olet yhdistänyt sen, voit kysyä agentilta esimerkiksi ”Mistä asiakkaat valittivat tässä kuussa?”, ja se hakee keskustelut, yhteenvedot ja raportit.
MCP (Model Context Protocol) on vakiotapa yhdistää AI-agentit ulkoisiin työkaluihin. Palvelin tarjoaa samat tiedot kuin REST-API, sallii vain lukemisen ja käyttää samaa API-avainta.
Ennen kuin aloitat#
Tarvitset Pro-, Business- tai Enterprise-paketin ja API-avaimen. Omistajat ja ylläpitäjät luovat avaimia kohdassa Asetukset → Yleiset → API-avaimet. Katso API:n yleiskatsaus.
| Asetus | Arvo |
|---|---|
| Palvelimen URL-osoite | https://diaform.io/api/mcp |
| Siirtotapa | Streamable HTTP |
| Todennus | Otsake Authorization: Bearer dia_org_live_... |
Avain antaa agentille lukuoikeuden organisaatiosi jokaiseen projektiin. Luo jokaiselle agentille oma avain, niin voit mitätöidä yhden vaikuttamatta muihin.
Yhdistä agenttisi#
Valitse agenttisi:
Suorita tämä terminaalissa:
claude mcp add --transport http diaform https://diaform.io/api/mcp \
--header "Authorization: Bearer $DIAFORM_API_KEY"Suorita sitten Claude Codessa /mcp ja tarkista, että diaform on yhdistetty.
Työkalut#
Agentti näkee kuusi työkalua, joilla voi vain lukea tietoja:
| Työkalu | Mitä se tekee | Argumentit |
|---|---|---|
list_projects | Listaa kaikki projektit sekä niiden ID:n, nimen ja tilan | Ei ole |
get_project | Palauttaa yhden projektin sekä sen kysymykset ja keskustelumäärät | project_id |
list_conversations | Listaa projektin keskustelut sekä niiden vastaajan, sävyn ja AI-yhteenvedon | project_id ja valinnaisesti status, sentiment, created_after, created_before, search, limit, cursor |
get_conversation | Palauttaa yhden keskustelun sekä sen yhteenvedon ja koko litteroinnin | conversation_id |
list_reports | Listaa projektin AI-raportit | project_id ja valinnaisesti status, limit, cursor |
get_report | Palauttaa yhden AI-raportin sekä sen teemat, ongelmat, poikkeavat havainnot ja lainaukset | report_id |
Jokainen työkalu palauttaa saman JSON-vastauksen kuin vastaava REST-päätepiste. Kentät kuvataan sivuilla Projektit, Keskustelut ja Raportit. status ja sentiment ovat taulukoita, kuten ["completed"].
Listat palauttavat enintään 100 kohdetta kerrallaan. Kun tuloksessa on has_more: true, agentti hakee seuraavan sivun välittämällä next_cursor-arvon cursor-argumenttina.
Mitä voit kysyä#
- ”Listaa Diaform-projektini ja kerro, mikä niistä sai eniten vastauksia.”
- ”Lue onboarding-projektin valmiit keskustelut viimeisten 30 päivän ajalta ja ryhmittele valitukset teemoittain.”
- ”Etsi keskustelut, joissa mainitaan hinnoittelu, ja lainaa, mitä ihmiset sanoivat.”
- ”Tee yhteenveto uusimmasta AI-raportista ja luonnostele Slack-päivitys tuotetiimille.”
- ”Hae tämän viikon negatiivisimman keskustelun koko litterointi.”
Virheet ja rajat#
Jos avain puuttuu tai on mitätöity tai jos paketissa ei ole API-käyttöoikeutta, yhteys epäonnistuu HTTP-tilakoodilla 401 tai 403. Asiakasohjelmasi näyttää tämän yleensä epäonnistuneena tai valtuuttamattomana palvelimena.
Kun työkalukutsu epäonnistuu esimerkiksi väärän ID:n vuoksi, agentti saa samat error- ja code-arvot kuin REST-API:ssa ja voi korjata virheensä itse. Katso Virheet.
MCP-pyynnöt lasketaan samaan rajaan kuin REST-API:n pyynnöt: 120 pyyntöä minuutissa avainta kohden.
Tekniset tiedot#
Jos rakennat oman asiakasohjelman:
- Lähetä JSON-RPC 2.0 -viestit pyynnöllä
POST https://diaform.io/api/mcp. Palvelin vastaa jokaiseen pyyntöön yhdellä JSON-vastauksella, ei tapahtumavirralla. - Palvelin on tilaton. Se ei anna istunto-ID:tä, ja
GETjaDELETEpalauttavat405. - Tuetut protokollaversiot ovat
2025-06-18,2025-03-26ja2024-11-05. - Se toteuttaa metodit
initialize,ping,tools/listjatools/call. Siinä ei ole resursseja eikä kehotteita.
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
}
}
}'