DXV documentatie
Ontwikkelaars

Naslag

MCP-connector van de kennisbank

Zoek het endpoint, de inlogstroom, scopes, tools, limieten en logging op van de MCP-connector die een AI-assistent toegang geeft tot een kennisbank.

De connector is een MCP-server waarmee een AI-assistent de kennisbank van één organisatie gebruikt. Mensen stellen hem in via Een AI-assistent koppelen. Deze pagina is voor wie een client bouwt of debugt.

Endpoint

POST https://platform.dxvagentic.com/mcp/kennisbank

De koppelpagina toont de exacte URL voor jouw omgeving. De server spreekt Streamable HTTP zonder sessie en antwoordt met JSON. GET en DELETE geven 405. De body van een verzoek mag maximaal 1 MB zijn.

Inloggen

De connector gebruikt OAuth 2.1 met PKCE (S256) en dynamische clientregistratie. Een persoon logt in op het portaal, kiest een organisatie en keurt goed op een toestemmingspagina. Elk token hoort bij één persoon in één organisatie.

DiscoveryPad
Metadata van de autorisatieserver/.well-known/oauth-authorization-server
Metadata van de beschermde resource/.well-known/oauth-protected-resource/mcp/kennisbank

De andere endpoints zijn /register, /authorize, /token en /revoke. De metadata noemt de issuer in autorisatieantwoorden (RFC 9207). Tokens worden alleen uitgegeven voor de connector-URL (RFC 8707).

Registratie

Een client registreert maximaal 10 redirect-URI's. De token_endpoint_auth_method is none of client_secret_post. De grant types zijn authorization_code en refresh_token, het response type is code.

Alleen deze redirect-URI's worden geaccepteerd:

ClientRedirect-URI
Claudehttps://claude.ai/api/mcp/auth_callback, https://claude.com/api/mcp/auth_callback
ChatGPThttps://chatgpt.com/connector_platform_oauth_redirect, https://chatgpt.com/connector/oauth/<id>
Cursorcursor://anysphere.cursor-mcp/oauth/callback, https://www.cursor.com/agents/mcp/oauth/callback
Apps op dezelfde computer, zoals Claude Codehttp://localhost:<poort>/<pad> of http://127.0.0.1:<poort>/<pad>, met een expliciete poort

Scopes

ScopeTools die hij ontsluit
kennisbankkennisbank_list, kennisbank_read, kennisbank_search, kennisbank_write
feature_requestsapp_list, feature_request_list, feature_request_read, feature_request_create, feature_request_reply

Een grant bevat alleen de scopes die de persoon heeft goedgekeurd. Een refresh kan ze niet verbreden. Zonder een scope bestaan de tools van die scope niet voor de grant. Om een scope toe te voegen, koppel je opnieuw.

Tokens

TokenGeldigheid
Autorisatiecode10 minuten, eenmalig
Access token1 uur
Refresh token30 dagen, bij elke refresh vervangen

Gebruik van een gebruikte code of een al vervangen refresh token trekt de hele grant in. Codes en tokens worden alleen als hash opgeslagen.

Controles bij elke aanroep

Bij elke aanroep controleert de server opnieuw of de persoon nog lid is, nog het recht heeft om te koppelen (of de organisatie leden nog laat koppelen), de tweede factor heeft doorlopen en de huidige voorwaarden heeft geaccepteerd. Mislukt een controle, dan krijgt de aanroep een 401 met de reden.

Fouten

StatusBetekenis
401Token ontbreekt, is onjuist, verlopen of ingetrokken, of een controle hierboven mislukte. WWW-Authenticate noemt de scopes en de resource_metadata-URL.
403Het token heeft geen van de ondersteunde scopes.
429Te veel mislukte tokencontroles vanaf je adres. Retry-After geeft het aantal seconden.

Tools voor de kennisbank

Documenten zijn vaak in het Nederlands. Zoek en schrijf in de taal van het materiaal.

ToolInvoerWat hij doet
kennisbank_listpath (optioneel)Toont mappen en documenten. Laat path weg voor het hoogste niveau. Toont versie en grootte.
kennisbank_readpath, maxChars (optioneel)Tekstdocumenten geven een fragment en een downloadlink. Het fragment is standaard 8000 tekens en maximaal 20000. Binaire documenten zoals PDF, Word, Excel en afbeeldingen geven alleen details en een downloadlink.
kennisbank_searchquery, path (optioneel), limit (optioneel)Zoekt op trefwoorden in de laatste versie van tekstdocumenten.
kennisbank_writepath, content, expected_version (optioneel)Maakt of herziet een document binnen aangeleverd/.

Zoeken

De zoekopdracht heeft 2 tot 200 tekens en maximaal 10 termen. Hoofdletters en accenten tellen niet mee. Elk woord telt als deelstring, dus kozijn vindt kozijnen. Een "zin tussen aanhalingstekens" telt als één term. Alle termen moeten binnen 3 opeenvolgende regels voorkomen. limit is standaard 20 en maximaal 50. De uitvoer is begrensd op 12000 tekens.

Eén aanroep bekijkt maximaal 200 documenten en 8 MB, en van elk document de eerste 1 MB. PDF- en Word-bestanden worden overgeslagen. Het antwoord meldt wanneer documenten niet zijn doorzocht. Beperk de zoekopdracht dan met path.

Schrijven

Het pad moet geschreven zijn als aangeleverd/<naam>.md: mapnaam in kleine letters, geen slash vooraan, geen .- of ..-segmenten, submappen mogen. Alles buiten aangeleverd/ wordt geweigerd. De tool is voor Markdown of platte tekst van maximaal 256 KB. PDF-, Word-, Excel- en CAD-bestanden worden geweigerd.

Laat expected_version weg om een document te maken. Geef de huidige versie mee om er een te herzien. Een verouderde versie wordt geweigerd en het antwoord noemt de huidige versie. Een organisatie kan 300 keer per uur schrijven via de connector.

Tools voor verzoeken

Deze handelen als de persoon die de koppeling heeft goedgekeurd, binnen de organisatie van de grant.

ToolInvoerWat hij doet
app_listgeenToont de apps van de organisatie met hun app_id en of elke app nieuwe verzoeken accepteert.
feature_request_listapp_id, status, search (max. 200 tekens), mine, page (1 tot 1000), allemaal optioneelToont verzoeken, 25 per pagina.
feature_request_readidGeeft het verzoek, het gesprek en openstaande meerkeuzevragen. Lange tekst wordt ingekort.
feature_request_createapp_id, title (max. 200), description (max. 20000)Dient een verzoek in. Een DXV-agent gaat ermee aan de slag.
feature_request_replyid, message (max. 20000), answersStuurt een bericht of beantwoordt vragen. Elk antwoord heeft question_id, option_ids en other (max. 1000). Geef een bericht, antwoorden of beide.

De waarden van status zijn pending, clarifying, implementing, awaiting_feedback, review, completed en cancelled. Een app die gearchiveerd of nog niet live is, accepteert geen nieuwe verzoeken. Bijlagen en instellingen blijven in het portaal.

Limieten

Limieten op de inlog-endpoints tellen per adres in vensters van 15 minuten. Wordt een limiet overschreden, dan is het antwoord 429 met Retry-After in seconden.

EndpointVerzoeken per venster
/register20
/authorize100
/token300
/revoke100
Mislukte tokencontroles op de connector300

Voor de tools gelden limieten per organisatie en per uur. Een tool die zijn limiet bereikt, geeft een foutresultaat dat zegt wanneer je het opnieuw kunt proberen, geen HTTP 429.

ToolPer uur
kennisbank_write300
feature_request_create30
feature_request_reply60

Logging

Elke toolaanroep wordt vastgelegd met de organisatie, de persoon, de koppeling, de tool, het pad of verzoek, de uitkomst (ok, geweigerd of fout), de foutmelding en de duur.

Gerelateerd

Laatst bijgewerkt op

Op deze pagina