Server MCP Individuale
Per integrazioni avanzate puoi costruire un server MCP personalizzato. Questo offre pieno controllo sulla funzionalità ed è ideale per integrazioni con sistemi propri o applicazioni non supportate.
Quando una MCP server personale?
Un server MCP personale è adatto quando:
- Vuoi integrarti con una tua applicazione o database
- L'integrazione desiderata non è disponibile in Zapier
- Hai requisiti di sicurezza specifici
- Hai bisogno di logica complessa negli strumenti
Conoscenze richieste
Per costruire un proprio server MCP servono:
- Esperienza di programmazione (TypeScript/JavaScript o Python)
- Conoscenza delle REST API
- Nozioni di base di server e hosting
Model Context Protocol
Il Model Context Protocol (MCP) è uno standard aperto sviluppato da Anthropic. I server MCP possono essere utilizzati con:
- AI School
- ChatGPT
- Claude
- Visual Studio Code con Copilot
- Altre applicazioni compatibili MCP
Avvio rapido con TypeScript
1. Creare il progetto
mkdir mio-server-mcp
cd mio-server-mcp
npm init -y
npm install @modelcontextprotocol/sdk
2. Codice del server
import { Server } from "@modelcontextprotocol/sdk/server";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio";
const server = new Server({
name: "mio-server",
version: "1.0.0",
});
// Definisci i tuoi strumenti
server.setRequestHandler("tools/list", async () => ({
tools: [
{
name: "mio-tool",
description: "Descrizione di cosa fa lo strumento",
inputSchema: {
type: "object",
properties: {
parameter: {
type: "string",
description: "Un parametro",
},
},
required: ["parameter"],
},
},
],
}));
// Implementa lo strumento
server.setRequestHandler("tools/call", async (request) => {
if (request.params.name === "mio_tool") {
const { parameter } = request.params.arguments;
// Fai qualcosa con il parametro
return {
content: [{ type: "text", text: `Risultato: ${parameter}` }],
};
}
});
// Avvia il server
const transport = new StdioServerTransport();
server.connect(transport);
3. Avviare il server
npx ts-node server.ts
HTTP Transport per AI School
AI School supporta i server MCP tramite HTTP. Il server deve offrire un endpoint che accetti i messaggi 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') {
// Elaborare la chiamata dello strumento
res.json({ content: [...] });
}
});
app.listen(3000);
Opzioni di hosting
Il tuo server MCP deve essere raggiungibile su Internet:
| Opzione | Adatto per | Costi |
|---|---|---|
| Cloudflare Workers | Carichi leggeri | Livello gratuito disponibile |
| Vercel | server TypeScript | Livello gratuito disponibile |
| Railway | Applicazioni complete | A partire da $5/mese |
| AWS Lambda | Soluzioni scalabili | Paghi per utilizzo |
| Server proprio | Controllo completo | Variabile |
Collegarsi ad AI School
- Distribuisci il server su un URL pubblico
- Vai al dashboard in AI School
- Clicca su Collegamenti → Aggiungi collegamento
- Inserisci l'URL del tuo server MCP
- Configura eventuali autenticazioni
Autenticazione
È possibile aggiungere autenticazione al tuo server MCP:
Autenticazione 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();
});
In AI School selezioni "API Key" come metodo di autenticazione.
OAuth 2.0
Per autenticazioni più complesse puoi implementare OAuth 2.0. AI School supporta OAuth 2.1 per server MCP.
Esempi e risorse
Server MCP ufficiali
- MCP Servers GitHub - Esempi ufficiali
Documentazione
- Spec MCP - Specifica completa del protocollo
- Documentazione SDK - SDK TypeScript
Consigli per lo sviluppo
- Parti semplice: inizia con un semplice strumento e amplia
- Test locale: usa MCP Inspector per il debugging
- Logging: aggiungi log dettagliati per la risoluzione dei problemi
- Gestione degli errori: fornisci messaggi di errore chiari
- Rate limiting: proteggi il server da sovraccarico
Integrazioni comuni
| Sistema | Strumenti possibili |
|---|---|
| LVS (Magister, Somtoday) | Recupero voti, visualizzazione orari |
| Sistemi CRM | Recupero dati cliente, aggiunta di note |
| Basi di dati | Esecuzione query, generazione di report |
| Applicazioni proprie | Qualsiasi API da esporre |
Articoli correlati
- Zapier MCP Server - Collegamenti semplici senza codice