Ga naar hoofdinhoud

Eigen MCP Server

Voor geavanceerde integraties kun je een eigen MCP server bouwen. Dit geeft volledige controle over de functionaliteit en is ideaal voor integraties met eigen systemen of niet-ondersteunde applicaties.

Wanneer een eigen MCP server?

Een eigen MCP server is geschikt wanneer:

  • Je wilt integreren met een eigen applicatie of database
  • De gewenste integratie niet beschikbaar is in Zapier
  • Je specifieke beveiligingseisen hebt
  • Je complexe logica nodig hebt in de tools

Vereiste kennis

Voor het bouwen van een eigen MCP server heb je nodig:

  • Programmeerervaring (TypeScript/JavaScript of Python)
  • Kennis van REST APIs
  • Basiskennis van servers en hosting

Model Context Protocol

Het Model Context Protocol (MCP) is een open standaard ontwikkeld door Anthropic. MCP servers kunnen worden gebruikt met:

  • AI School
  • ChatGPT
  • Claude
  • Visual Studio Code met Copilot
  • Andere MCP-compatibele applicaties

Snelstart met TypeScript

1. Project opzetten

mkdir mijn-mcp-server
cd mijn-mcp-server
npm init -y
npm install @modelcontextprotocol/sdk

2. Server code

import { Server } from "@modelcontextprotocol/sdk/server";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio";

const server = new Server({
name: "mijn-server",
version: "1.0.0",
});

// Definieer je tools
server.setRequestHandler("tools/list", async () => ({
tools: [
{
name: "mijn_tool",
description: "Beschrijving van wat de tool doet",
inputSchema: {
type: "object",
properties: {
parameter: {
type: "string",
description: "Een parameter",
},
},
required: ["parameter"],
},
},
],
}));

// Implementeer de tool
server.setRequestHandler("tools/call", async (request) => {
if (request.params.name === "mijn_tool") {
const { parameter } = request.params.arguments;
// Doe iets met de parameter
return {
content: [{ type: "text", text: `Resultaat: ${parameter}` }],
};
}
});

// Start de server
const transport = new StdioServerTransport();
server.connect(transport);

3. Server draaien

npx ts-node server.ts

HTTP Transport voor AI School

AI School ondersteunt MCP servers via HTTP. Je server moet een endpoint bieden dat MCP berichten accepteert:

import express from 'express';

const app = express();
app.use(express.json());

app.post('/mcp', async (req, res) => {
const { method, params } = req.body;

if (method === 'tools/list') {
res.json({ tools: [...] });
} else if (method === 'tools/call') {
// Verwerk de tool call
res.json({ content: [...] });
}
});

app.listen(3000);

Hosting opties

Je MCP server moet bereikbaar zijn via internet:

OptieGeschikt voorKosten
Cloudflare WorkersLichte workloadsGratis tier beschikbaar
VercelTypeScript serversGratis tier beschikbaar
RailwayVolledige applicatiesVanaf $5/maand
AWS LambdaSchaalbare oplossingenBetaal per gebruik
Eigen serverVolledige controleVariabel

Verbinden met AI School

  1. Deploy je server naar een publieke URL
  2. Ga naar het dashboard in AI School
  3. Klik op KoppelingenKoppeling toevoegen
  4. Vul de URL van je MCP server in
  5. Configureer eventuele authenticatie

Authenticatie

Je kunt authenticatie toevoegen aan je MCP server:

API Key authenticatie

app.post("/mcp", (req, res, next) => {
const apiKey = req.headers["x-api-key"];
if (apiKey !== process.env.API_KEY) {
return res.status(401).json({ error: "Unauthorized" });
}
next();
});

In AI School selecteer je "API Key" als authenticatiemethode.

OAuth 2.0

Voor complexere authenticatie kun je OAuth 2.0 implementeren. AI School ondersteunt OAuth 2.1 voor MCP servers.

Voorbeelden en resources

Officiële MCP servers

Documentatie

Tips voor ontwikkeling

  1. Start simpel: Begin met één tool en breid uit
  2. Test lokaal: Gebruik de MCP Inspector voor debugging
  3. Logging: Voeg uitgebreide logging toe voor troubleshooting
  4. Error handling: Geef duidelijke foutmeldingen terug
  5. Rate limiting: Bescherm je server tegen overbelasting

Veelvoorkomende integraties

SysteemMogelijke tools
LVS (Magister, Somtoday)Cijfers opvragen, roosters bekijken
CRM systemenKlantgegevens opvragen, notities toevoegen
DatabasesQuery's uitvoeren, rapporten genereren
Eigen applicatiesElke API die je wilt ontsluiten

Gerelateerde artikelen