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:
| Optie | Geschikt voor | Kosten |
|---|---|---|
| Cloudflare Workers | Lichte workloads | Gratis tier beschikbaar |
| Vercel | TypeScript servers | Gratis tier beschikbaar |
| Railway | Volledige applicaties | Vanaf $5/maand |
| AWS Lambda | Schaalbare oplossingen | Betaal per gebruik |
| Eigen server | Volledige controle | Variabel |
Verbinden met AI School
- Deploy je server naar een publieke URL
- Ga naar het dashboard in AI School
- Klik op Koppelingen → Koppeling toevoegen
- Vul de URL van je MCP server in
- 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
- MCP Servers GitHub - Officiële voorbeelden
Documentatie
- MCP Specificatie - Volledige protocol specificatie
- SDK Documentatie - TypeScript SDK
Tips voor ontwikkeling
- Start simpel: Begin met één tool en breid uit
- Test lokaal: Gebruik de MCP Inspector voor debugging
- Logging: Voeg uitgebreide logging toe voor troubleshooting
- Error handling: Geef duidelijke foutmeldingen terug
- Rate limiting: Bescherm je server tegen overbelasting
Veelvoorkomende integraties
| Systeem | Mogelijke tools |
|---|---|
| LVS (Magister, Somtoday) | Cijfers opvragen, roosters bekijken |
| CRM systemen | Klantgegevens opvragen, notities toevoegen |
| Databases | Query's uitvoeren, rapporten genereren |
| Eigen applicaties | Elke API die je wilt ontsluiten |
Gerelateerde artikelen
- Zapier MCP Server - Eenvoudige koppelingen zonder code