Sari la conținutul principal

Server MCP propriu

Pentru integrări avansate poți construi un server MCP propriu. Acest lucru îți oferă control complet asupra funcționalității și este ideal pentru integrări cu propriile sisteme sau aplicații care nu sunt finanțate.

Când un server MCP propriu?

Un server MCP propriu este potrivit atunci când:

  • vrei să te integrezi cu o aplicație sau bază de date proprie
  • integrarea dorită nu este disponibilă în Zapier
  • ai cerințe de securitate specifice
  • ai nevoie de logică complexă în uneltele tale

Cunoștințe necesare

Pentru a construi un server MCP propriu ai nevoie de:

  • experiență de programare (TypeScript/JavaScript sau Python)
  • cunoștințe despre REST API-uri
  • noțiuni de bază despre servere și găzduire

Protocolul Model Context

Protocolul Model Context (MCP) este un standard deschis dezvoltat de Anthropic. Serverele MCP pot fi utilizate cu:

  • AI School
  • ChatGPT
  • Claude
  • Visual Studio Code cu Copilot
  • Alte aplicații compatibile MCP

Începere rapidă cu TypeScript

1. Configurare proiect

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

2. Codul serverului

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

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

// Definire unelte
server.setRequestHandler("tools/list", async () => ({
tools: [
{
name: "tool-ul-meu",
description: "Descrierea a ceea ce face instrumentul",
inputSchema: {
type: "object",
properties: {
parameter: {
type: "string",
description: "Un parametru",
},
},
required: ["parameter"],
},
},
],
}));

// Implementare tool
server.setRequestHandler("tools/call", async (request) => {
if (request.params.name === "tool-ul-meu") {
const { parameter } = request.params.arguments;
// Fă ceva cu parametrul
return {
content: [{ type: "text", text: `Rezultat: ${parameter}` }],
};
}
});

// Pornește serverul
const transport = new StdioServerTransport();
server.connect(transport);

3. Rularea serverului

npx ts-node server.ts

Transport HTTP pentru AI School

AI School acceptă servere MCP prin HTTP. Serverul tău trebuie să ofere un endpoint care să accepte mesaje MCP:

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') {
// Procesează apelul instrumentului
res.json({ content: [...] });
}
});

app.listen(3000);

Opțiuni de găzduire

Serverul MCP trebuie să fie accesibil prin internet:

OpțiunePotrivit pentruCosturi
Cloudflare WorkersSarcini ușoareNivel gratuit disponibil
Vercelservere TypeScriptNivel gratuit disponibil
Railwayaplicații completeÎncepând de la 5$/lună
AWS Lambdasoluții scalabilePlătești pe utilizare
Server propriucontrol totalVariabil

Conectarea la AI School

  1. Deployează serverul la o adresă URL publică
  2. Accesează panoul de control în AI School
  3. Fă clic pe ConexiuniAdaugă conexiune
  4. Introdu URL-ul serverului tău MCP
  5. Configurează eventualele autentificări

Autentificare

Poți adăuga autentificare la serverul tău MCP:

Autentificare API Key

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();
});

La AI School selectezi "API Key" ca metodă de autentificare.

OAuth 2.0

Pentru autentificare mai complexă poți implementa OAuth 2.0. AI School susține OAuth 2.1 pentru servere MCP.

Exemple și resurse

Servere MCP oficiale

Documentație

Sfaturi pentru dezvoltare

  1. Începe simplu: pornește cu un singur instrument și extinde-te
  2. Testează local: folosește MCP Inspector pentru debugging
  3. Logging: adaugă logare extinsă pentru troubleshooting
  4. Gestionare erori: returnează mesaje de eroare clare
  5. Rate limiting: protejează-ți serverul de suprasarcină

Integrații uzuale

SistemUnelte posibile
LVS (Magister, Somtoday)Afișare note, vizualizare orare
Sisteme CRMAfișare detalii clienți, notițe adăugate
Baze de dateExecuția interogărilor, generare rapoarte
Aplicații propriiOrice API pe care vrei să-l expui

Articole conexe