Voor ontwikkelaars en AI-agents

Integraties

Koppel Vakmeister aan de tools waar je al mee werkt. Vandaag kan elke AI-assistent onze publieke informatie live opvragen via MCP. De API, webhooks en plug-ins voor onder andere WordPress volgen.

Partnerdiensten voor vakbedrijven

Een selectie van externe partners die we willen koppelen aan Vakmeister. Alles staat op de roadmap: er werkt nog niets live en je kunt hier nog niets afsluiten.

Lease en financiering

Hiltermann Lease
Binnenkort

Zakelijke lease voor je bedrijfswagen

Een startpunt om je te oriënteren op zakelijke lease van een bedrijfswagen als zzp'er of mkb-bedrijf. De aanvraag, kredietbeoordeling, acceptatie, prijsstelling en de leaseovereenkomst lopen rechtstreeks via Hiltermann Lease. Vakmeister belooft geen goedkeuring.

Hiltermann Lease

BNP Paribas Leasing Solutions
Binnenkort

Lease en equipmentfinanciering voor je bedrijf

Voor lease en financiering van bedrijfswagens, machines en gereedschap. De beoordeling, acceptatie, prijsstelling en overeenkomst regel je rechtstreeks met de aanbieder. Vakmeister belooft geen goedkeuring.

BNP Paribas Leasing Solutions

Bestickering en wagenpark

KBG Customz
Binnenkort

Busbestickering voor zzp en klein mkb

Ontwerp, productie en montage van bestickering voor je bus of bedrijfsauto. Straks kun je je Vakmeister Brand Kit meesturen, zodat je logo, kleuren en gegevens meteen kloppen.

KBG Customz

Autobelettering.nl
Binnenkort

Transparante autobelettering voor vakbedrijven

Een eenvoudige route van offerte naar belettering, met vooraf duidelijke prijzen. Handig voor zzp'ers en kleine mkb-bedrijven die snel willen weten waar ze aan toe zijn.

Autobelettering.nl

Omnimark
Binnenkort

Wagenparkbestickering voor groeiende teams

Gericht op grotere mkb-bedrijven en Vakmeister Team: vanaf ongeveer tien voertuigen, met één huisstijl over het hele wagenpark en uitvoering door het hele land.

Omnimark

Beschikbaar

MCP-server

Onze MCP-server geeft AI-assistenten zoals ChatGPT, Claude, Cursor en eigen agents rechtstreeks toegang tot onze publieke informatie: prijzen, modules, vakgebieden, websitethema's en de kennisbank. Alles is alleen-lezen en vraagt geen sleutel.

Endpoint
https://vakmeister.nl/mcp
Transport
Streamable HTTP (JSON-RPC 2.0)
Protocol
MCP 2025-06-18
Authenticatie
Geen. Publieke, alleen-lezen server.

Verbinden

Zet de server in de configuratie van je MCP-client. Werkt in Claude Desktop, Cursor, ChatGPT-connectors en elke client die Streamable HTTP spreekt.

mcp.json — vakmeister-marketing
{
  "mcpServers": {
    "vakmeister-marketing": {
      "type": "http",
      "url": "https://vakmeister.nl/mcp"
    }
  }
}

Of direct met curl

Stuur altijd de header Accept: application/json, text/event-stream mee. Zonder die header weigert de server het verzoek met een 406.

curl
curl -X POST https://vakmeister.nl/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Alle tools opvragen

Elke client begint met tools/list. Dat levert de namen, titels en omschrijvingen op.

Voorbeeldrequest
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list",
  "params": {}
}
Voorbeeldresponse
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tools": [
      {
        "name": "get_pricing",
        "title": "Prijzen en pakketten",
        "description": "Actuele pakketten, maandprijzen, opstartkosten, inbegrepen onderdelen en de prijs-FAQ.",
        "annotations": {
          "readOnlyHint": true,
          "idempotentHint": true
        }
      },
      {
        "name": "get_product_modules",
        "title": "Productmodules",
        "description": "Wat het platform doet, per module: website, aanvragen, offertes, planning, facturen en reviews.",
        "annotations": {
          "readOnlyHint": true,
          "idempotentHint": true
        }
      },
      {
        "name": "list_trades",
        "title": "Vakgebieden",
        "description": "Alle vakgebieden met categorie, korte typering en pagina-URL. Filter op categorie of zoekterm.",
        "annotations": {
          "readOnlyHint": true,
          "idempotentHint": true
        }
      },
      {
        "name": "get_trade",
        "title": "Eén vakgebied",
        "description": "Detailinformatie over één vakgebied: typering, herkenbare situaties en de bijbehorende pagina.",
        "annotations": {
          "readOnlyHint": true,
          "idempotentHint": true
        }
      },
      {
        "name": "list_website_themes",
        "title": "Websitethema's",
        "description": "De beschikbare websitethema's met stijl, geschikte vakgebieden en demo-URL.",
        "annotations": {
          "readOnlyHint": true,
          "idempotentHint": true
        }
      },
      {
        "name": "list_knowledge_articles",
        "title": "Kennisbank doorzoeken",
        "description": "Gepubliceerde kennisbankartikelen met titel, samenvatting, categorie en leestijd.",
        "annotations": {
          "readOnlyHint": true,
          "idempotentHint": true
        }
      },
      {
        "name": "search_knowledge",
        "title": "Kennisbank doorzoeken op tekst en tags",
        "description": "Zoekt in de volledige tekst van de kennisbank op zoekterm en tags en geeft gerangschikte treffers met een tekstfragment terug.",
        "annotations": {
          "readOnlyHint": true,
          "idempotentHint": true
        }
      },
      {
        "name": "get_knowledge_article",
        "title": "Kennisbankartikel lezen",
        "description": "De volledige tekst (markdown) van één gepubliceerd artikel.",
        "annotations": {
          "readOnlyHint": true,
          "idempotentHint": true
        }
      }
    ]
  }
}

Tools

Zeven tools, allemaal alleen-lezen en beschikbaar in het Nederlands en het Engels. Hieronder per tool de parameters, een voorbeeldrequest en de bijbehorende response.

get_pricing

Prijzen en pakketten

Actuele pakketten, maandprijzen, opstartkosten, inbegrepen onderdelen en de prijs-FAQ.

ParameterTypeVerplichtOmschrijving
locale"nl" | "en"neeTaal van de teksten. Standaard nl.
Voorbeeldrequest
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_pricing",
    "arguments": {
      "locale": "nl"
    }
  }
}
Voorbeeldresponse
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{ … }"
      }
    ],
    "structuredContent": {
      "currency": "EUR",
      "vat": "prijzen exclusief btw",
      "extraUserMonthly": 9,
      "packages": [
        {
          "id": "basis",
          "name": "Basis",
          "monthly": 29,
          "activation": 99,
          "includedUsers": 1,
          "available": true,
          "tagline": "Alles om online te staan en werk binnen te halen.",
          "features": [
            "Eigen website",
            "Aanvragen",
            "Offertes",
            "Facturen"
          ]
        }
      ],
      "faq": [
        {
          "q": "Zit ik ergens aan vast?",
          "a": "Nee, je zegt maandelijks op."
        }
      ]
    },
    "isError": false
  }
}

get_product_modules

Productmodules

Wat het platform doet, per module: website, aanvragen, offertes, planning, facturen en reviews.

ParameterTypeVerplichtOmschrijving
locale"nl" | "en"neeTaal van de teksten. Standaard nl.
Voorbeeldrequest
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_product_modules",
    "arguments": {
      "locale": "en"
    }
  }
}
Voorbeeldresponse
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{ … }"
      }
    ],
    "structuredContent": {
      "count": 6,
      "modules": [
        {
          "slug": "website",
          "label": "Website",
          "tagline": "A site that brings in work and passes it on.",
          "url": "https://vakmeister.nl/en/product/website"
        }
      ]
    },
    "isError": false
  }
}

list_trades

Vakgebieden

Alle vakgebieden met categorie, korte typering en pagina-URL. Filter op categorie of zoekterm.

ParameterTypeVerplichtOmschrijving
locale"nl" | "en"neeTaal van de teksten. Standaard nl.
categorystringneeFilter op categorie, bijvoorbeeld afbouw of installatie.
querystringneeVrije zoekterm op naam of typering (max. 80 tekens).
Voorbeeldrequest
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "list_trades",
    "arguments": {
      "locale": "nl",
      "query": "schilder"
    }
  }
}
Voorbeeldresponse
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{ … }"
      }
    ],
    "structuredContent": {
      "count": 1,
      "categories": [
        {
          "key": "afbouw",
          "label": "Afbouw"
        }
      ],
      "trades": [
        {
          "slug": "schilder",
          "label": "Schilder",
          "category": "afbouw",
          "categoryLabel": "Afbouw",
          "tagline": "Binnen- en buitenschilderwerk, netjes opgeleverd.",
          "url": "https://vakmeister.nl/branche/schilder"
        }
      ]
    },
    "isError": false
  }
}

get_trade

Eén vakgebied

Detailinformatie over één vakgebied: typering, herkenbare situaties en de bijbehorende pagina.

ParameterTypeVerplichtOmschrijving
slugstringjaSlug van het vakgebied, bijvoorbeeld schilder of painter.
locale"nl" | "en"neeTaal van de teksten. Standaard nl.
Voorbeeldrequest
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_trade",
    "arguments": {
      "slug": "schilder",
      "locale": "nl"
    }
  }
}
Voorbeeldresponse
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{ … }"
      }
    ],
    "structuredContent": {
      "slug": "schilder",
      "label": "Schilder",
      "category": "afbouw",
      "tagline": "Binnen- en buitenschilderwerk, netjes opgeleverd.",
      "url": "https://vakmeister.nl/branche/schilder"
    },
    "isError": false
  }
}

list_website_themes

Websitethema's

De beschikbare websitethema's met stijl, geschikte vakgebieden en demo-URL.

ParameterTypeVerplichtOmschrijving
locale"nl" | "en"neeTaal van de teksten. Standaard nl.
Voorbeeldrequest
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "list_website_themes",
    "arguments": {
      "locale": "nl"
    }
  }
}
Voorbeeldresponse
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{ … }"
      }
    ],
    "structuredContent": {
      "count": 6,
      "themes": [
        {
          "slug": "vakwerk",
          "name": "Vakwerk",
          "tagline": "Rustig en vertrouwd, met veel ruimte voor projectfoto's.",
          "url": "https://vakmeister.nl/templates"
        }
      ]
    },
    "isError": false
  }
}

list_knowledge_articles

Kennisbank doorzoeken

Gepubliceerde kennisbankartikelen met titel, samenvatting, categorie en leestijd.

ParameterTypeVerplichtOmschrijving
locale"nl" | "en"neeTaal van de teksten. Standaard nl.
querystringneeZoekterm op titel of samenvatting.
limitnumberneeMaximaal aantal resultaten.
Voorbeeldrequest
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "list_knowledge_articles",
    "arguments": {
      "locale": "nl",
      "query": "offerte",
      "limit": 2
    }
  }
}
Voorbeeldresponse
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{ … }"
      }
    ],
    "structuredContent": {
      "count": 2,
      "articles": [
        {
          "slug": "offerte-maken-als-schilder",
          "title": "Zo maak je een offerte die wél wordt getekend",
          "excerpt": "Vijf onderdelen die het verschil maken bij particuliere klanten.",
          "category": "offertes",
          "readMinutes": 6,
          "publishedAt": "2026-04-18",
          "url": "https://vakmeister.nl/kennisbank/offerte-maken-als-schilder"
        }
      ]
    },
    "isError": false
  }
}

search_knowledge

Kennisbank doorzoeken op tekst en tags

Zoekt in de volledige tekst van de kennisbank op zoekterm en tags en geeft gerangschikte treffers met een tekstfragment terug.

ParameterTypeVerplichtOmschrijving
locale"nl" | "en"neeTaal van de teksten. Standaard nl.
querystringneeZoekterm; wordt gezocht in titel, samenvatting en volledige tekst.
tagsstring[]neeTags of categorie-slugs; een artikel matcht bij minstens één tag.
limitnumberneeMaximaal aantal resultaten (1-25, standaard 10).
Voorbeeldrequest
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "search_knowledge",
    "arguments": {
      "locale": "nl",
      "query": "website",
      "tags": [
        "websites"
      ],
      "limit": 2
    }
  }
}
Voorbeeldresponse
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{ … }"
      }
    ],
    "structuredContent": {
      "query": "website",
      "tags": [
        "websites"
      ],
      "count": 1,
      "availableTags": [
        "administratie",
        "meer-klanten",
        "offertes",
        "planning",
        "websites"
      ],
      "results": [
        {
          "slug": "wat-kost-een-website-vakbedrijf",
          "title": "Wat kost een goede website voor een vakbedrijf?",
          "excerpt": "Waar je geld aan uitgeeft bij een website en waar je op moet letten.",
          "category": "websites",
          "tags": [
            "websites"
          ],
          "readMinutes": 5,
          "publishedAt": "2026-08-20",
          "url": "https://vakmeister.nl/kennisbank/wat-kost-een-website-vakbedrijf",
          "score": 15,
          "matchedIn": [
            "tag",
            "title",
            "excerpt",
            "body"
          ],
          "snippet": "… een website voor een vakbedrijf kost meestal …"
        }
      ]
    },
    "isError": false
  }
}

get_knowledge_article

Kennisbankartikel lezen

De volledige tekst (markdown) van één gepubliceerd artikel.

ParameterTypeVerplichtOmschrijving
slugstringjaSlug van het artikel.
locale"nl" | "en"neeTaal van de teksten. Standaard nl.
Voorbeeldrequest
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_knowledge_article",
    "arguments": {
      "slug": "offerte-maken-als-schilder",
      "locale": "nl"
    }
  }
}
Voorbeeldresponse
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{ … }"
      }
    ],
    "structuredContent": {
      "slug": "offerte-maken-als-schilder",
      "title": "Zo maak je een offerte die wél wordt getekend",
      "category": "offertes",
      "readMinutes": 6,
      "body": "## Waarom offertes blijven liggen\n\nEen offerte die …",
      "url": "https://vakmeister.nl/kennisbank/offerte-maken-als-schilder"
    },
    "isError": false
  }
}

Fouten

Een tool die niets vindt geeft een gewone response terug met isError: true en een leesbare tekst. Ongeldige invoer levert een JSON-RPC-fout op.

Voorbeeldresponse
{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "Geen gepubliceerd artikel gevonden met slug onbekend (nl)."
      }
    ],
    "isError": true
  }
}

Spelregels

  • Alle tools zijn alleen-lezen. Er wordt niets gewijzigd in Vakmeister.
  • Er staat geen klantdata, leaddata of interne informatie in. Alleen wat ook op de site staat.
  • Antwoorden komen in structuredContent als JSON en in content als tekst.
  • Ga uit van redelijk gebruik. Bij extreem veel verkeer kunnen we tijdelijk knijpen.
  • Wijzigingen kondigen we aan op deze pagina; tools verdwijnen niet zonder aankondiging.

Binnenkort

Waar we aan werken. Wil je meedenken of vroeg meedoen? Laat het weten, dan nemen we je mee in de eerste groep.

In ontwikkeling

Vakmeister API

Een REST API met tokens per bedrijf voor klanten, aanvragen, offertes en facturen. Zodat je eigen systemen kunnen meelezen en meeschrijven.

Binnenkort

WordPress-plug-in

Heb je al een WordPress-site? Met de plug-in zet je het aanvraagformulier van Vakmeister op je eigen site en komen aanvragen direct in je account binnen.

Binnenkort

Webhooks

Laat je eigen software direct reageren op een nieuwe aanvraag, een getekende offerte of een betaalde factuur.

Op de planning

Koppelingen met boekhouden

Facturen doorzetten naar je boekhoudpakket, zonder dubbel typen. We werken aan koppelingen met de pakketten die vakbedrijven het meest gebruiken.

Wil je koppelen met Vakmeister?

Vertel wat je wilt bouwen, dan denken we mee over de MCP-tools die je nodig hebt en houden we je op de hoogte van de API en de plug-ins.

Direct starten, niets te installeren. Maandelijks opzegbaar.

Liever eerst iets vragen?