ERP MCP -palvelin on liiketoimintajärjestelmän toiminnot, jotka julkaistaan Model Context Protocolin kautta, jotta mikä tahansa yhteensopiva AI-agentti voi selvittää, mitä järjestelmä voi tehdä ja tehdä sen. Konkreettisesti se on yksi HTTPS-päätepiste, joka vastaa kahteen JSON-RPC-menetelmään: työkalut/lista, joka palauttaa kutsujalle saatavilla olevat työkalut nimen, kuvauksen ja syötteiden JSON-skeeman kanssa, ja työkalut/kutsu, joka suorittaa yhden niistä ja palauttaa tuloksen, jonka malli voi lukea. Claude, ChatGPT, Cursor, VS Code ja muut asiakkaat puhuvat protokollaa, joten palvelin on kirjoitettu kerran ja jokainen agentti voi käyttää sitä.
ERP:ssä kaksi tärkeää asiaa eivät ole kuljetuksessa. Ensimmäinen on, että työkalulista ja jokainen kutsu on rajattu agentin edustamaan henkilöön, mitä protokolla tukee OAuthin ja pyyntökohtaisen valtuutuksen kautta, mutta jättää palvelimen valvottavaksi. Toinen on, että jokaisen työkalun on vastattava liiketoimintatransaktiota, joka on turvallista yrittää uudelleen, kieltäytyä tai kysyä, koska malli tekee kaikki kolme.
Palvelin, joka muuttaa järjestelmän työkaluiksi
Model Context Protocolilla on kolme roolia. Isäntä on AI-sovellus, kuten Claude tai ChatGPT. Isännän sisällä luodaan asiakas per palvelin ja se puhuu vain kyseiselle palvelimelle. Palvelin on palvelu, joka tarjoaa kontekstia ja kykyjä isännälle pienen määrän primitiivien kautta. Määrittelyn suunnitteluperiaatteet sanovat, että palvelimien tulisi olla helppoja rakentaa, koostettavia ja kykenemättömiä näkemään koko keskustelua tai muita palvelimia; isäntä pitää keskustelun ja valvoo suostumusta, palvelin näkee vain sille osoitetut kutsut.
ERP MCP -palvelin ei siis ole ERP. Se on ERP:n toimintapinta, joka on ilmaistu työkaluina, joilla on tyypitetyt syötteet, ja se tarjotaan yhdellä URL-osoitteella. Mielenkiintoinen suunnittelupäätös on, mitä työkalu tarkoittaa. Sään palvelimella on yksi; liiketoimintajärjestelmällä on satoja, ja hyödyllisimmät ovat toimintoja, joita henkilö voisi tehdä (luoda lasku, kirjata maksu, siirtää kauppa, varata varasto) sen sijaan, että ne olisivat rivejä tauluissa. Soisin työtilapalvelin julkaisee esimerkiksi työkaluja, joiden nimet ovat luoLasku, kirjaaMaksu, searchContacts and tarkistaYhteystiedotryhmitelty moduulin mukaan, ja tarkka luettelo, jonka soittaja saa, riippuu siitä, kuka hän on.
Työkalut, resurssit ja kehykset
Määrittelyssä määritellään kolme palvelinprimiitiä, ja ne eroavat siinä, kuka hallitsee niiden käyttöä. Työkalut ovat mallin hallitsemia: malli päättää, milloin kutsua yksi. Resurssit ovat sovelluksen ohjaamia: isäntä päättää, mitä kontekstia liittää, usein käyttäjän valitessa listalta. Kehotukset ovat käyttäjän hallitsemia malleja. ERP tarvitsee ensimmäisen, voi hyötyä toisesta ja harvoin tarvitsee kolmatta.
| Primitiivi | Kuka kutsuu sen | Muoto | ERP:ssä |
|---|---|---|---|
| Työkalut | Malli, työkalujen/kutsun kautta | Nimi, kuvaus, syötekaavio, valinnainen ulostulo-kaavio ja annotaatiot; tuloksella on sisältö, valinnainen jäsennelty sisältö ja onVirhe | Jokainen toiminto: haku, luonti, päivitys, lähetys, hyväksyntä, sovittaminen |
| Resurssit | Isäntä tai käyttäjä, resurssien/luku kautta | URI, jossa on MIME-tyyppi; tekstisisältö tai binaarisisältö; valinnaiset mallit ja muutostilaukset | Viiteasiakirjat, asiakastiliote, raportti; hyödyllisiä, mutta eivät ole työskentelypaikka |
| Kehotukset | Käyttäjä, kehotusten/hanki kautta | Nimetty viestimalli argumenteilla | Satunnaisesti, kuukauden lopun rutiinina; useimmat ERP-palvelimet jättävät ne huomiotta |
Claude'n viestien API-liitin ja OpenAI:n vastausten API tukevat vain työkaluja, mikä on yksi syy lisätä ERP:n sisältöä työkaluihin.
Kaksi työkalun tulosten ominaisuutta on tärkeää liiketoimintajärjestelmälle. Työkalu voi ilmoittaa outputSchema ja palauta structuredContent joka vastaa sitä, yhdessä tekstin kanssa, jota malli lukee, jotta integraatio voi käyttää tulosta ilman proosan jäsentämistä. Ja työkalu, joka epäonnistuu liiketoimintasyystä (lasku väärässä tilassa, päivämäärä menneisyydessä, puuttuva lupa), palauttaa normaalin tuloksen, jossa isError: true ja selitys, eikä protokollavirhe, jotta malli voi korjata syötteensä ja yrittää uudelleen. Protokollavirheet on varattu virheellisille pyyntöille ja tuntemattomille työkaluilla.
Kuljetus ja nykyinen spesifikaatio
Kaksi kuljetustapaa on vakiintunut. Stdio on palvelin, jonka asiakas käynnistää paikallisena prosessina, mikä on tapa, jolla työpöytäsovellukset, kuten tiedostojen käyttö, toimivat. Streamable HTTP on etäpalvelimia varten ja on se, mitä ERP käyttää: palvelin altistaa yhden päätepisteen, joka hyväksyy HTTP POST -pyynnön jokaiselle JSON-RPC-viestille ja vastaa joko JSON-objektilla tai Server-Sent Events -virralla, joka on rajattu kyseiseen pyyntöön, joten pitkä kutsu voi lähettää edistymistä ennen lopullista tulosta. Aikaisempi HTTP SSE -kuljetus on poistettu käytöstä.
The current revision, 2026-07-28, changed the transport in a way that matters for anyone deploying a server behind a load balancer. It removed protocol-level sessions: there is no longer an initialize handshake or a session identifier header, every request carries its protocol version and client capabilities in its own metadata, and a server that needs state across calls returns an explicit handle the model passes back as an argument. Servers written against the 2025-11-25 revision, which did use sessions, keep working because clients are required to detect the older era and fall back; a new server should not adopt sessions.
Valtuutus: kenelle kutsu on tarkoitettu
HTTP-siirtojen osalta spesifikaatio määrittelee OAuth 2.1 -virran. Palvelin on resurssipalvelin ja sen on julkaistava suojatun resurssin metatiedot (RFC 9728) nimeten sen valtuutuspalvelin; kun pyyntö saapuu ilman tokenia, se vastaa 401:llä WWW-Authenticate-otsikolla, joka osoittaa näihin metatietoihin ja, ihanteellisesti, vähimpään tarvittavaan laajuuteen. Asiakas löytää valtuutuspalvelimen päätepisteet, tunnistaa itsensä (asiakastunnusmetatietodokumentit ovat suositeltu reitti; dynaaminen rekisteröinti säilytetään yhteensopivuuden vuoksi), suorittaa valtuutuskoodeja PKCE:llä ja sen on sisällytettävä palvelimen kanoninen URI resurssiparametrina, jotta token on sidottu vain tähän palvelimeen. Palvelimen on validoitava tuo yleisö, kieltäydyttävä muille myönnetyistä tokeneista ja koskaan ei saa siirtää tokenia toiseen palveluun.
ERP:llä on tärkeä seuraus. Koska token tunnistaa henkilön, palvelin voi vaihdella tulosta työkalut/lista pyynnön tunnistetietojen perusteella, ja eritelmä sanoo niin nimenomaisesti. Tämä on mekanismi rooliin perustuvaan suodattamiseen: talouskäyttäjän lista ja varastokäyttäjän lista tulevat samalta palvelimelta ja ovat erilaisia. Riittämätön laajuus ajonaikana ilmoitetaan 403:lla ja laajuushaasteella, josta asiakas voi siirtyä eteenpäin, vaikka useimmissa liiketoimintajärjestelmissä todellinen raja on ERP:ssä oleva rooli eikä karkea OAuth-laajuus.
Vaikea osa: käyttöoikeudet ja tapahtumat
Kaikki yllä oleva voidaan toteuttaa yhdessä iltapäivässä SDK:lla. ERP MCP -palvelimen ja demon erottaa se, miten palvelin käsittelee kahta asiaa, jotka protokolla jättää palvelimelle: onko puhelu sallittu ja mitä puhelu tarkoittaa.
Lupa on tarkistettava kahdesti. Työkalulistan suodattaminen estää mallia valitsemasta jotain, mitä sen ei pitäisi valita, mikä säästää tokeneita ja hämmennystä. Tarkistaminen uudelleen, kun työkalu toimii, on todellinen raja, koska asiakas voi lähettää mitä tahansa kutsua. Kieltäminen on parasta palauttaa työkalun suoritusvirheenä, jotta malli lukee sen ja raportoi sen, eikä kuljetusvirheenä, joka päättää vuoron. Tältä näyttää kielletty kutsu Sois-työtilasta: normaali tulos, merkitty, syyn kanssa.
{
"jsonrpc": "2.0",
"id": 7,
"result": {
"content": [
{
"type": "text",
"text": "Tool not permitted for this account: approveInvoice requires the finance approver role."
}
],
"isError": true
}
}Lupahakemus hylättiin työkalun suoritusvirheenä. Malli oppii syyn ja voi pyytää henkilöltä hyväksyntää; mitään ei kirjoitettu. Sois varaa myös JSON-RPC-virhekoodit valtuuttamattomille istunnoille, riittämättömille krediiteille, ei sallituilla työkaluilla ja budjettirajoitusten saavuttamiselle.
Transaktiot ovat toinen puoli. Työkalun tulisi vastata yhtä liiketoimintatransaktiota, jossa on selkeä ennen ja jälkeen: luoLasku tuottaa luonnoksen, jossa on tunniste, kirjaaMaksu soveltaa yhtä maksua yhteen laskuun, eikä kumpikaan jätä puoli-kirjoitettua tilaa, jos se epäonnistuu. Mallit yrittävät uudelleen, joten kirjoitusten pitäisi olla turvallisia toistaa tai niiden pitäisi kieltäytyä toistamasta selkeällä viestillä; spesifikaation annotaatiot antavat palvelimelle mahdollisuuden julistaa työkalu vain luku -tilaksi, idempotentiksi tai tuhoavaksi, ja asiakkaat kuten ChatGPT käyttävät näitä vihjeitä päättäessään, kysyvätkö he vahvistusta. Kun vaihe tarvitsee päätöksen, joka on agentin valtuuksien yläpuolella, palvelin voi palauttaa syötteen vaativan tuloksen, joka kysyy henkilölle kysymyksen asiakkaan kautta sen sijaan, että arvaisi.
Lupakerros sijaitsee päätepisteen ja moduulien välillä. Työkalulista suodatetaan kutsujan roolin mukaan ulospäin, ja jokainen kutsu tarkistetaan uudelleen sisään tullessaan ennen kuin se saavuttaa moduulin.
Kuinka Sois toteuttaa sen
Sois-työtila on MCP-palvelin yhdessä URL-osoitteessa, työtilan osoite seuraavaksi /api/mcp. Se vastaa 401-haasteeseen suojatun resurssin metatiedoilla, julkaisee valtuutuspalvelimen metatiedot, vaatii PKCE:n ja myöntää työtilaan rajattuja tokeneita; liitin Claude- tai ChatGPT-sovelluksessa viimeistelee sisäänkirjautumisen ilman liitettyjä tietoja. Käyttäjäntunnus ja kulutus pidetään erillisissä tunnistetiedoissa tarkoituksella, ja kantajatunnus API-avaimella on saatavilla skripteille, jotka eivät käytä OAuthia.
Työkalulista luodaan reaaliaikaisista työkalumääritelmistä ja suodatetaan roolin ja asennettujen sovellusten mukaan, minkä jälkeen jokainen kutsu tarkistetaan käyttöoikeuksien osalta suorituksessa ja epäonnistuu suljetusti. Kutsuja rajoitetaan yhteyttä kohti, mitataan siellä, missä työtilan oma agentti tekee päättelyt, ja on vapaa tekoälymaksuista, kun kutsuja käyttää omaa agenttiaan, budjetin rajoittamana, jonka työtila asettaa, ja kirjataan syötteet ja tulokset sen henkilön mukaan, joka ne teki. Markkinapaikalle julkaistut sovellukset lisäävät työkalunsa samaan luetteloon samoilla säännöillä, joten kehittäjän sovellus on käytettävissä agentin toimesta heti, kun se on asennettu.
Kysymyksiä, joita ihmiset kysyvät
Onko MCP-palvelin vain REST API:n ympärille rakennettu kehys?
Usein se toteutetaan näin, ja se on täysin hyväksyttävää. Ero on siinä, mitä se julkaisee: tyypitetyt työkalut, joita malli voi löytää ajonaikana, tulokset, joita malli voi lukea ja joista se voi palautua, sekä käyttäjäkohtainen OAuth-valtuutus, joita REST API ei tarjoa agentille itsessään.
Mitkä agentit voivat käyttää ERP MCP -palvelinta tänään?
Claude (verkkosivusto, työpöytä, Cowork, Claude Code ja Messages API -liitin), ChatGPT kehittäjätilassa ja Responses API, Cursor, VS Code ja muut asiakkaat, jotka toteuttavat protokollan. Palvelimen ei tarvitse tietää, mikä niistä soittaa.
Tarvitseeko palvelimen säilyttää istuntoja?
Ei nykyisessä tarkistuksessa, joka poisti protokollatason istunnot ja pyytää palvelimia palauttamaan selkeät käsitteet kaikelle, joka kattaa kutsut. Asiakkaat toimivat edelleen yhdessä palvelimien kanssa 2025-11-25 tarkistuksessa, joka käytti istuntopäätettä, havaitsemalla vanhemman aikakauden.
Missä ERP valvoo käyttöoikeuksia?
Palvelimessa, suorituksessa, jokaisessa kutsussa. Työkalulistan suodattaminen on malliystävällinen kätevyys; tärkeä tarkistus tapahtuu, kun työkalu suoritetaan, ja kieltäytymisen tulisi palata luettavana työkaluvikana, jotta mitään ei kirjoiteta ja malli voi selittää miksi.
- Model Context Protocol -spesifikaatio (2026-07-28): työkalut työkalumääritelmät, tulokset, virheiden käsittely, annotaatiot ja työkalujen/listan pyyntökohtainen muunnelma
- Model Context Protocol -määrittely: Suoratoistettava HTTP-siirto ja muutospäiväkirja the single-endpoint transport, the removal of sessions and backward compatibility
- Model Context Protocol -määrittely: valtuutus OAuth 2.1, suojatun resurssin metatiedot, resurssin indikaattorit ja token-säännöt
- Sois-dokumentaatio: työtilan MCP-palvelin päätepiste, löytöasiakirjat, roolisuodatus, rajoitukset ja virhekoodit kuten on toteutettu
Tätä artikkelia tarkastellaan, kun sen kuvaamat tuotteet muuttuvat. Seuraava tarkastusaika: 4. joulukuuta 2026.
