Model Context Protocol

InfraBIDS MCP-server

Koppel je AI-agent (Claude, ChatGPT, Cursor, Codex) aan InfraBIDS en vraag bedrijfsinformatie, diensten en projectcases op in het Nederlands of Engels.

Endpoint
https://infrabidsite.com/mcp
Transport
Streamable HTTP (JSON-RPC 2.0)
Versie
infrabids-landing 0.2.0

Authenticatie

De server is beveiligd met OAuth 2.1. Clients registreren zichzelf automatisch (dynamic client registration); je logt in met je account en keurt de koppeling goed op de toestemmingspagina. Daarna stuurt de client bij elke aanroep een Authorization: Bearer <token>-header mee. Zonder geldig token antwoordt de server met 401 Unauthorized.

Discovery-document: https://infrabidsite.com/.well-known/oauth-protected-resource

Client-configuratie

Voeg de server toe aan je MCP-client; de OAuth-flow start bij de eerste verbinding.

{
  "mcpServers": {
    "infrabids": {
      "url": "https://infrabidsite.com/mcp"
    }
  }
}

Beschikbare tools

get_company_info
alleen-lezen

Openbaar profiel van InfraBIDS (NER3D Holding B.V.): wat het bedrijf doet, focusgebieden, doelgroepen en hoe je een afspraak aanvraagt.

Invoervelden

VeldTypeVerplichtOmschrijving
lang"nl" | "en"NeeTaal van de teruggegeven tekst. Standaard "nl".

Voorbeeld-request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_company_info",
    "arguments": { "lang": "nl" }
  }
}

Voorbeeld-antwoord (structured)

{
  "brand": "InfraBIDS",
  "legalName": "NER3D Holding B.V.",
  "tagline": "...",
  "summary": "...",
  "website": "https://infrabidsite.com",
  "pageForLanguage": "https://infrabidsite.com",
  "audiences": ["Bouwbedrijven", "Overheden", "..."],
  "meetingRequest": "https://infrabidsite.com/#contact"
}
list_services
alleen-lezen

Lijst van de openbare diensten van InfraBIDS: consultancy, softwareontwikkeling, data science, geo-data en verkeersmanagement.

Invoervelden

VeldTypeVerplichtOmschrijving
lang"nl" | "en"NeeTaal van de teruggegeven tekst. Standaard "nl".

Voorbeeld-request

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "list_services",
    "arguments": { "lang": "en" }
  }
}

Voorbeeld-antwoord (structured)

{
  "services": [
    { "id": "consultancy", "name": "...", "description": "..." },
    { "id": "geo-data", "name": "...", "description": "..." }
  ]
}
list_projects
alleen-lezen

Lijst van de openbare projectcases van de website, optioneel gefilterd op een dienst-id.

Invoervelden

VeldTypeVerplichtOmschrijving
lang"nl" | "en"NeeTaal van de teruggegeven tekst. Standaard "nl".
servicestringNeeOptioneel dienst-id om op te filteren, bijvoorbeeld "geo-data" of "traffic-management".

Voorbeeld-request

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "list_projects",
    "arguments": { "lang": "nl", "service": "geo-data" }
  }
}

Voorbeeld-antwoord (structured)

{
  "projects": [
    {
      "id": "...",
      "name": "...",
      "description": "...",
      "focus": ["geo-data", "infrastructure"]
    }
  ]
}

Rauwe HTTP-aanroep

Tools opvragen met een geldig access token:

curl -X POST https://infrabidsite.com/mcp \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Foutafhandeling: ongeldige invoer levert een tool-resultaat met isError: true; een ontbrekend of verlopen token levert HTTP 401 met een WWW-Authenticate-header die naar het discovery-document verwijst.

Vragen over integratie?

Plan een Teams-meeting via de contactsectie op de website.

Plan een afspraak