ERP MCP server on ärisüsteemi toimingud, mis on avaldatud Model Context Protocoli kaudu, et iga ühilduv AI agent saaks teada, mida süsteem suudab teha ja seda teha. Konkreetsemalt on see üks HTTPS lõpp-punkt, mis vastab kahele JSON-RPC meetodile: tööriistade loendmis tagastab kõneleja jaoks saadaval olevad tööriistad koos nime, kirjelduse ja sisendite JSON skeemiga, ning tööriista kutsumine, mis käivitab ühe neist ja tagastab tulemuse, mida mudel suudab lugeda. Claude, ChatGPT, Cursor, VS Code ja teised kliendid räägivad protokollist, seega on server kirjutatud üks kord ja iga agent saab seda kasutada.
ERP jaoks ei ole kaks olulist asja transportimises. Esiteks on tööriistade nimekiri ja iga kõne seotud agendi esindatava isikuga, mida protokoll toetab läbi OAuth ja iga taotluse autoriseerimise, kuid jätab serverile jõustamise. Teiseks peab iga tööriist vastama äritehingule, mida on ohutu uuesti proovida, keelduda või küsida, kuna mudel teeb kõiki kolme.
Server, mis muudab süsteemi tööriistadeks
Model Context Protocolil on kolm rolli. Host on AI rakendus, nagu Claude või ChatGPT. Hostis luuakse iga serveri jaoks klient ja räägib ainult selle serveriga. Server on teenus, mis pakub hostile konteksti ja võimeid väikese arvu primitiivide kaudu. Spetsifikatsiooni disainipõhimõtted ütlevad, et serverid peaksid olema kergesti ehitatavad, komposiitavad ja mitte suutma näha kogu vestlust või teisi servereid; host hoiab vestlust ja jõustab nõusolekut, server näeb ainult sellele adresseeritud kõnesid.
Seega ei ole ERP MCP server ERP. See on ERP tegevuspind, väljendatud tööriistadena, millel on tüpiseeritud sisendid, serveerituna ühel URL-il. Huvi pakkuv disainilahendus on see, mis on tööriist. Ilmaennustusserveril on üks; ärisüsteemil on sadu, ja kasulikud on tegevused, mida inimene võiks teha (luua arve, registreerida makse, liikuda tehingus, reserveerida kaupa) pigem kui read tabelites. Näiteks Sois'i tööruumi server avaldab tööriistu nimedega nagu looArve, registreeri makse, searchContacts ja uurigeKontaktigruppeeritud mooduli järgi ning täpne nimekiri, mille kõneleja saab, sõltub temast.
Tööriistad, ressursid ja juhised
Spetsifikatsioon määratleb kolm serveri primitiivi, ja need erinevad selle poolest, kes kontrollib nende kasutamist. Tööriistad on mudeli kontrolli all: mudel otsustab, millal ühte kutsuda. Ressursid on rakenduse juhitud: host otsustab, millise konteksti lisada, sageli kasutaja valides nimekirjast. Kutsed on kasutaja kontrolli all olevad mallid. ERP vajab esimest, võib kasu saada teisest ja harva vajab kolmandat.
| Primitiiv | Kes kutsub seda | Kuju | ERP-s |
|---|---|---|---|
| Tööriistad | Mudeli kaudu, kasutades tööriistu/kõnet | Nimi, kirjeldus, sisendskeem, valikuline väljundskeem ja annotatsioonid; tulemus sisaldab sisu, valikuline struktureeritud sisu ja on viga | Iga tegevus: otsi, loo, uuenda, saada, kiida heaks, tasakaalusta |
| Ressursid | Host või kasutaja, kaudu resources/read | URI, millel on MIME tüüp; tekst või binaarsed sisud; valikulised mallid ja muudatuste tellimused | Viidatud dokumendid, kliendi aruanne, raport; kasulikud, kuid mitte seal, kus töö toimub |
| Küsimused | Kasutaja, kasutades käske/get | Nimega sõnumi mall koos argumentidega | Mõnikord kuu lõpu rutiini jaoks; enamik ERP servereid jätab need välja |
Claude'i sõnumite API ühendaja ja OpenAI vastuste API toetavad ainult tööriistu, mis on veel üks põhjus, miks ERP sisu tööriistadesse viia.
Kaks tööriista tulemuste omadust on äri süsteemi jaoks oluline. Tööriist võib kuulutada outputSchema ja tagasta structuredContent mis sellele vastab, koos tekstiga, mida mudel loeb, nii et integratsioon saab tulemust kasutada ilma proosa tõlgendamiseta. Ja tööriist, mis ebaõnnestub äri põhjusel (vale olekuga arve, mineviku kuupäev, puuduv luba), tagastab normaalse tulemuse koos isError: true ja selgitus, mitte protokolli viga, et mudel saaks oma sisendi parandada ja uuesti proovida. Protokolli vead on reserveeritud valesti vormistatud päringutele ja tundmatutele tööriistadele.
Transport ja praegune spetsifikatsioon
Kaks transporti on standardne. Stdio on server, mille klient käivitab kohaliku protsessina, mis on see, kuidas töölauatööriistad, näiteks failide juurdepääs, töötavad. Voogedastatav HTTP on kaugserverite jaoks ja seda kasutab ERP: server eksponeerib ühe lõpp-punkti, mis aktsepteerib iga JSON-RPC sõnumi jaoks HTTP POST-i ja vastab kas JSON-objektiga või Server-Sent Events voogudega, mis on seotud selle päringuga, nii et pikk kõne saab edastada edenemist enne lõplikku tulemust. Varasem HTTP SSE transpordiga on aegunud.
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.
Autoriseerimine: kellele kõne on suunatud
HTTP transportide jaoks määratleb spetsifikatsioon OAuth 2.1 voogu. Server on ressursiserver ja peab avaldama kaitstud ressursi metaandmed (RFC 9728), nimetades oma autoriseerimisse serveri; kui päring saabub ilma tokenita, vastab see 401-ga koos WWW-Authenticate päisega, mis osutab sellele metaandmele ja, ideaalis, kõige väiksemale vajalikule ulatusele. Klient avastab autoriseerimisse serveri lõpp-punktid, tuvastab end (klient ID metaandmed on soovitatav tee; dünaamiline registreerimine säilib ühilduvuse tagamiseks), käivitab autoriseerimiskoodi voogu koos PKCE-ga ja peab sisaldama serveri kanonilist URI-d ressursi parameetrina, et token oleks seotud ainult selle serveriga. Server peab valideerima selle sihtrühma, peab keelduma tokenitest, mis on välja antud millegi muu jaoks, ja ei tohi kunagi edastada tokenit teisele teenusele.
ERP-i jaoks on tagajärg oluline. Kuna token tuvastab isiku, võib server tulemuse varieerida tööriistade loend päringus esitatud volituste ja spetsifikatsioonis on see selgelt öeldud. See on mehhanism rollipõhiseks filtreerimiseks: finantskasutaja nimekiri ja lao kasutaja nimekiri pärinevad samast serverist ja on erinevad. Ebapiisav ulatus tööajal signaalitakse 403-ga ja ulatusväljakutsega, millelt klient saab edasi liikuda, kuigi enamikus ärisüsteemides on tegelik piir ERP-s roll, mitte jäme OAuth ulatus.
Raske osa: õigused ja tehingud
Kõik ülaltoodud saab rakendada pärastlõunaga SDK abil. ERP MCP serveri ja demo vahe on selles, kuidas käsitletakse kahte asja, mille protokoll jätab serveri otsustada: kas kõne on lubatud ja mida kõne tähendab.
Luba tuleb kontrollida kaks korda. Tööriistade nimekirja filtreerimine takistab mudelil valida midagi, mida ta ei peaks, mis säästab tokeneid ja segadust. Kontrollimine uuesti, kui tööriist töötab, on tegelik piir, kuna klient võib saata mis tahes soovitud kõne. Keeldumine on parim tagastada tööriista täitmise veana, nii et mudel loeb ja teatab sellest, mitte kui transpordiveana, mis lõpetab käigu. Nii näeb välja keeldunud kõne Sois tööruumist: normaalne tulemus, märgitud, koos põhjusega.
{
"jsonrpc": "2.0",
"id": 7,
"result": {
"content": [
{
"type": "text",
"text": "Tool not permitted for this account: approveInvoice requires the finance approver role."
}
],
"isError": true
}
}Luba keeldumine tagastati tööriista täitmise veana. Mudel õpib, miks ja võib paluda inimesel selle heaks kiita; midagi ei kirjutatud. Sois reserveerib ka JSON-RPC veakoodid volitamata sessioonide, ebapiisavate krediitide, lubamatute tööriistade ja eelarvepiirangute saavutamise jaoks.
Tehingud on teine pool. Tööriist peaks vastama ühele äritehingule, millel on selge eel- ja järelpilt: looArve toodab mustandi koos tuvastajaga, registreeri makse rakendab ühe makse ühe arve suhtes, ning kumbki ei jäta ebaõnnestumise korral poolikuks jäävat olekut. Mudelid proovivad uuesti, seega peaks kirjutamine olema ohutu kordamiseks või peaks kordust selge sõnumiga keelduma; spetsifikatsiooni annotatsioonid võimaldavad serveril kuulutada tööriista ainult lugemiseks, idempotentseks või hävitavaks, ning kliendid nagu ChatGPT kasutavad neid vihjeid, kui otsustavad, kas küsida kinnitust. Kui samm vajab otsust, mis ületab agendi volitusi, võib server tagastada sisendi nõudva tulemuse, küsides inimeselt küsimust kliendi kaudu, selle asemel et arvata.
Luba kiht asub lõpp-punkti ja moodulite vahel. Tööriistade nimekiri filtreeritakse helistaja rolli järgi väljaminekul ning iga kõne kontrollitakse uuesti sisenemisel, enne kui see jõuab moodulisse.
Kuidas Sois seda rakendab
Sois tööruum on MCP server ühel URL-il, tööruumi aadress järgneb /api/mcpSee vastab 401 väljakutsele kaitstud ressursi metaandmete abil, avaldab oma autoriseerimise serveri metaandmed, nõuab PKCE-d ja väljastab tööruumi ulatuses tokenid; ühendus Claude'is või ChatGPT-s lõpetab sisselogimise ilma midagi kleepimata. Kandjatoken koos API võtmega on saadaval skriptide jaoks, mis ei kasuta OAuth-i, kus isiku tuvastamine ja kulutused on eraldi volitustes hoitud.
Tööriistade nimekiri genereeritakse reaalajas tööriistade määratlemise põhjal ja filtreeritakse rolli ja installitud rakenduste järgi, seejärel kontrollitakse iga kõne õigusi täitmise hetkel ja see ebaõnnestub, kui õigusi pole. Kõnesid piiratakse ühenduse kaupa, mõõdetakse seal, kus tööruumi enda agent teeb järeldusi, ja AI tasudest on vabastatud seal, kus kõneleja enda agent seda teeb, piiratuna tööruumi seadistatud eelarvega ning logitakse sisendi ja tulemuste järgi isiku, kes need tegi. Turule avaldatud rakendused lisavad oma tööriistad samasse nimekirja samade reeglite alusel, seega on arendaja rakendus kasutatav agendi poolt kohe pärast selle installimist.
Küsimused, mida inimesed esitavad
Kas MCP server on lihtsalt REST API ümber ehitatud?
Sageli rakendatakse seda nii, ja see on okei. Erinevus seisneb selles, mida see avaldab: tüübitööriistad, mida mudel saab käitamise ajal avastada, tulemused, mida mudel saab lugeda ja taastada, ning kasutajapõhine OAuth autoriseerimine, mida REST API ei paku agendile iseseisvalt.
Millised agendid saavad täna kasutada ERP MCP serverit?
Claude (web, desktop, Cowork, Claude Code and the Messages API connector), ChatGPT in developer mode and the Responses API, Cursor, VS Code and any other client that implements the protocol. The server does not need to know which one is calling.
Kas server peab sessioone säilitama?
Praeguse muudatuse kohaselt ei ole protokolli tasandi sessioone, mis nõuab serveritelt, et nad tagastaksid selged käepidemed kõigi kõnede vahelise sisu jaoks. Kliendid suhtlevad endiselt serveritega 2025-11-25 muudatuse alusel, mis kasutas sessiooni päist, tuvastades vanema ajastu.
Kus ERP rakendab õigusi?
Serveris, täitmisel, iga kõne korral. Tööriistade loendi filtreerimine on mudeli jaoks mugavus; oluline kontroll toimub siis, kui tööriist töötab, ja keeldumine peaks tulema tagasi loetava tööriista veana, et mitte midagi ei kirjutataks ja mudel saaks selgitada, miks.
- Mudeli Konteksti Protokolli spetsifikatsioon (2026-07-28): tööriistad tööriistade määratlemine, tulemused, veahaldus, annotatsioonid ja tööriistade/nimekirja päringupõhine variatsioon
- Model Context Protocoli spetsifikatsioon: voogedastatav HTTP transport ja muudatused the single-endpoint transport, the removal of sessions and backward compatibility
- Mudeli konteksti protokolli spetsifikatsioon: autoriseerimine OAuth 2.1, kaitstud ressursi metaandmed, ressursi näitajad ja tokeni reeglid
- Sois dokumentatsioon: tööruumi MCP server lõpp-punkt, avastamisdokumendid, rollifiltreerimine, piirangud ja veakoodid nagu rakendatud
Seda artiklit vaadatakse üle, kui kirjeldatud tooted muutuvad. Järgmine planeeritud ülevaatus: 4. detsember 2026.
