Egen MCP-server
For avanserte integrasjoner kan du bygge en egen MCP-server. Dette gir full kontroll over funksjonaliteten og er ideelt for integrasjoner med egne systemer eller ikke-støttede applikasjoner.
Når trenger du en egen MCP-server?
En egen MCP-server passer når:
- Du vil integrere med en egen applikasjon eller database
- Ønsket integrasjon ikke er tilgjengelig i Zapier
- Du har spesifikke sikkerhetskrav
- Du trenger kompleks logikk i verktøyene
Nødvendig kunnskap
For å bygge en egen MCP-server trenger du:
- Programmeringserfaring (TypeScript/JavaScript eller Python)
- Kunnskap om REST APIs
- Grunnleggende kunnskap om servere og hosting
Model Context Protocol
Model Context Protocol (MCP) er en åpen standard utviklet av Anthropic. MCP-servere kan brukes med:
- AI School
- ChatGPT
- Claude
- Visual Studio Code med Copilot
- Andre MCP-kompatible applikasjoner
Raskstart med TypeScript
1. Oppsett av prosjekt
mkdir min-mcp-server
cd min-mcp-server
npm init -y
npm install @modelcontextprotocol/sdk
2. Serverkode
import { Server } from "@modelcontextprotocol/sdk/server";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio";
const server = new Server({
name: "min-server",
version: "1.0.0",
});
// Definer verktøyene dine
server.setRequestHandler("tools/list", async () => ({
tools: [
{
name: "min_tool",
description: "Beskrivelse av hva verktøyet gjør",
inputSchema: {
type: "object",
properties: {
parameter: {
type: "string",
description: "En parameter",
},
},
required: ["parameter"],
},
},
],
}));
// Implementer verktøyet
server.setRequestHandler("tools/call", async (request) => {
if (request.params.name === "min_tool") {
const { parameter } = request.params.arguments;
// Gjør noe med parameteren
return {
content: [{ type: "text", text: `Resultat: ${parameter}` }],
};
}
});
// Start serveren
const transport = new StdioServerTransport();
server.connect(transport);
3. Kjøre serveren
npx ts-node server.ts
HTTP-Transport for AI School
AI School støtter MCP-servere via HTTP. Din server må tilby et endepunkt som mottar MCP- meldinger:
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') {
// Behandle verktøykallet
res.json({ content: [...] });
}
});
app.listen(3000);
Hosting-alternativer
MCP-serveren din må være tilgjengelig via internett:
| Valg | Passer for | Kostnader |
|---|---|---|
| Cloudflare Workers | lette arbeidsmengder | Gratis nivå tilgjengelig |
| Vercel | TypeScript-servere | Gratis nivå tilgjengelig |
| Railway | Fullstendige applikasjoner | Fra $5/mnd |
| AWS Lambda | Skalerbare løsninger | Betal per bruk |
| Egen server | Full kontroll | Variabel |
Koble til AI School
- Distribuer serveren din til en offentlig URL
- Gå til dashbordet i AI School
- Klikk på Koblinger → Legg til kobling
- Oppgi URL-en til MCP-serveren din
- Konfigurer eventuell autentisering
Autentisering
Du kan legge til autentisering til MCP-serveren din:
API-nøkkel-autentisering
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();
});
I AI School velger du "API Key" som autentiseringsmetode.
OAuth 2.0
For mer avansert autentisering kan du implementere OAuth 2.0. AI School støtter OAuth 2.1 for MCP-servere.
Eksempler og ressurser
Offisielle MCP-servere
- MCP Servers GitHub - Offisielle eksempler
Dokumentasjon
- MCP Spesifikasjon - Full protokollspesifikasjon
- SDK-dokumentasjon - TypeScript SDK
Utviklingstips
- Start enkelt: Begynn med ett verktøy og bygg utover
- Test lokalt: Bruk MCP Inspector for feilsøking
- Logging: Legg til omfattende logging for feilsøking
- Feilhåndtering: Returner klare feilmeldinger
- Rate limiting: Beskytt serveren mot overbelastning
Vanlige integrasjoner
| System | Mulige verktøy |
|---|---|
| LVS (Magister, Somtoday) | Få karakterer, se timeplaner |
| CRM-systemer | Få kundeopplysninger, legg til notater |
| Databaser | Utfør queries, generer rapporter |
| Egen applikasjoner | Åpne opp hver API du ønsker |
Relaterte artikler
- Zapier MCP Server - Enkle koblinger uten kode