Gå til hovedinnhold

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:

ValgPasser forKostnader
Cloudflare Workerslette arbeidsmengderGratis nivå tilgjengelig
VercelTypeScript-servereGratis nivå tilgjengelig
RailwayFullstendige applikasjonerFra $5/mnd
AWS LambdaSkalerbare løsningerBetal per bruk
Egen serverFull kontrollVariabel

Koble til AI School

  1. Distribuer serveren din til en offentlig URL
  2. Gå til dashbordet i AI School
  3. Klikk på KoblingerLegg til kobling
  4. Oppgi URL-en til MCP-serveren din
  5. 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

Dokumentasjon

Utviklingstips

  1. Start enkelt: Begynn med ett verktøy og bygg utover
  2. Test lokalt: Bruk MCP Inspector for feilsøking
  3. Logging: Legg til omfattende logging for feilsøking
  4. Feilhåndtering: Returner klare feilmeldinger
  5. Rate limiting: Beskytt serveren mot overbelastning

Vanlige integrasjoner

SystemMulige verktøy
LVS (Magister, Somtoday)Få karakterer, se timeplaner
CRM-systemerFå kundeopplysninger, legg til notater
DatabaserUtfør queries, generer rapporter
Egen applikasjonerÅpne opp hver API du ønsker

Relaterte artikler