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.
| Discovery | Pad |
|---|---|
| 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:
| Client | Redirect-URI |
|---|---|
| Claude | https://claude.ai/api/mcp/auth_callback, https://claude.com/api/mcp/auth_callback |
| ChatGPT | https://chatgpt.com/connector_platform_oauth_redirect, https://chatgpt.com/connector/oauth/<id> |
| Cursor | cursor://anysphere.cursor-mcp/oauth/callback, https://www.cursor.com/agents/mcp/oauth/callback |
| Apps op dezelfde computer, zoals Claude Code | http://localhost:<poort>/<pad> of http://127.0.0.1:<poort>/<pad>, met een expliciete poort |
Scopes
| Scope | Tools die hij ontsluit |
|---|---|
kennisbank | kennisbank_list, kennisbank_read, kennisbank_search, kennisbank_write |
feature_requests | app_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
| Token | Geldigheid |
|---|---|
| Autorisatiecode | 10 minuten, eenmalig |
| Access token | 1 uur |
| Refresh token | 30 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
| Status | Betekenis |
|---|---|
| 401 | Token ontbreekt, is onjuist, verlopen of ingetrokken, of een controle hierboven mislukte. WWW-Authenticate noemt de scopes en de resource_metadata-URL. |
| 403 | Het token heeft geen van de ondersteunde scopes. |
| 429 | Te 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.
| Tool | Invoer | Wat hij doet |
|---|---|---|
kennisbank_list | path (optioneel) | Toont mappen en documenten. Laat path weg voor het hoogste niveau. Toont versie en grootte. |
kennisbank_read | path, 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_search | query, path (optioneel), limit (optioneel) | Zoekt op trefwoorden in de laatste versie van tekstdocumenten. |
kennisbank_write | path, 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.
| Tool | Invoer | Wat hij doet |
|---|---|---|
app_list | geen | Toont de apps van de organisatie met hun app_id en of elke app nieuwe verzoeken accepteert. |
feature_request_list | app_id, status, search (max. 200 tekens), mine, page (1 tot 1000), allemaal optioneel | Toont verzoeken, 25 per pagina. |
feature_request_read | id | Geeft het verzoek, het gesprek en openstaande meerkeuzevragen. Lange tekst wordt ingekort. |
feature_request_create | app_id, title (max. 200), description (max. 20000) | Dient een verzoek in. Een DXV-agent gaat ermee aan de slag. |
feature_request_reply | id, message (max. 20000), answers | Stuurt 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.
| Endpoint | Verzoeken per venster |
|---|---|
/register | 20 |
/authorize | 100 |
/token | 300 |
/revoke | 100 |
| Mislukte tokencontroles op de connector | 300 |
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.
| Tool | Per uur |
|---|---|
kennisbank_write | 300 |
feature_request_create | 30 |
feature_request_reply | 60 |
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