Egen MCP-server
För avancerade integrationer kan du bygga en egen MCP-server. Detta ger full kontroll över funktionaliteten och är idealiskt för integrationer med egna system eller applikationer som inte stöds.
När behövs en egen MCP-server?
En egen MCP-server passar när:
- Du vill integrera med en egen applikation eller databas
- Den önskade integrationen inte finns tillgänglig i Zapier
- Du har särskilda säkerhetskrav
- Du behöver komplex logik i verktygen
Nödvändiga kunskaper
För att bygga en egen MCP-server behöver du:
- Programmeringserfarenhet (TypeScript/JavaScript eller Python)
- Kunskap om REST API:er
- Grundläggande kunskap om servrar och hosting
Model Context Protocol
Model Context Protocol (MCP) är en öppen standard utvecklad av Anthropic. MCP-servrar kan användas med:
- AI School
- ChatGPT
- Claude
- Visual Studio Code med Copilot
- Andra MCP-kompatibla applikationer
Snabbstart med TypeScript
1. Skapa projekt
mkdir min-mcp-server
cd min-mcp-server
npm init -y
npm install @modelcontextprotocol/sdk
2. Serverkod
import { Server } from "@modelcontextprotocol/sdk/server";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio";
const server = new Server({
name: "min-server",
version: "1.0.0",
});
// Definiera dina verktyg
server.setRequestHandler("tools/list", async () => ({
tools: [
{
name: "min-tool",
description: "Beskrivning av vad verktyget gör",
inputSchema: {
type: "object",
properties: {
parameter: {
type: "string",
description: "En parameter",
},
},
required: ["parameter"],
},
},
],
}));
// Implementera verktyget
server.setRequestHandler("tools/call", async (request) => {
if (request.params.name === "min-tool") {
const { parameter } = request.params.arguments;
// Gör något med parameter
return {
content: [{ type: "text", text: `Resultat: ${parameter}` }],
};
}
});
// Starta servern
const transport = new StdioServerTransport();
server.connect(transport);
3. Starta servern
npx ts-node server.ts
HTTP-Transport för AI School
AI School stöder MCP-servrar via HTTP. Din server ska erbjuda en endpoint som tar emot MCP-meddelanden:
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') {
// Bearbeta verktygsanropet
res.json({ content: [...] });
}
});
app.listen(3000);
Hosting-alternativ
Din MCP-server måste vara tillgänglig via internet:
| Alternativ | Lämpligt för | Kostnad |
|---|---|---|
| Cloudflare Workers | Lätta arbetsbelastningar | Gratis nivå tillgänglig |
| Vercel | TypeScript-servrar | Gratis nivå tillgänglig |
| Railway | Kompletta applikationer | Från $5/månad |
| AWS Lambda | Skalbara lösningar | Betala per användning |
| Egen server | Full kontroll | Variabel |
Anslutning till AI School
- Distribuera din server till en publik URL
- Gå till instrumentpanelen i AI School
- Klicka på Kopplingar → Lägg till koppling
- Ange URL till din MCP-server
- Konfigurera eventuell autentisering
Autentisering
Du kan lägga till autentisering till din MCP-server:
API-nyckel-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 väljer du "API Key" som autentiseringsmetod.
OAuth 2.0
För mer avancerad autentisering kan du implementera OAuth 2.0. AI School stödjer OAuth 2.1 för MCP-servrar.
Exempel och resurser
Officiella MCP-servrar
- MCP Servers GitHub - Officiella exempel
Dokumentation
- MCP Specificering - Fullständig protokollspecifikation
- SDK Dokumentation - TypeScript SDK
Utvecklingstips
- Börja enkelt: börja med ett verktyg och bygg vidare
- Testa lokalt: använd MCP Inspector för felsökning
- Logging: lägg till omfattande loggning för felsökning
- Felsökning: ge tydliga felmeddelanden
- Rate limiting: skydda din server mot överbelastning
Vanliga integrationer
| System | Möjliga verktyg |
|---|---|
| LVS (Magister, Somtoday) | Hämta betyg, se scheman |
| CRM-system | Hämta kunduppgifter, lägga till anteckningar |
| Databaser | Kör frågor, skapa rapporter |
| Egna applikationer | Öppna upp varje API som du vill exponera |
Relaterade artiklar
- Zapier MCP Server - Enkla kopplingar utan kod