Vai al contenuto principale

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:

OpzioneAdatto perCosti
Cloudflare WorkersCarichi leggeriLivello gratuito disponibile
Vercelserver TypeScriptLivello gratuito disponibile
RailwayApplicazioni completeA partire da $5/mese
AWS LambdaSoluzioni scalabiliPaghi per utilizzo
Server proprioControllo completoVariabile

Collegarsi ad AI School

  1. Distribuisci il server su un URL pubblico
  2. Vai al dashboard in AI School
  3. Clicca su CollegamentiAggiungi collegamento
  4. Inserisci l'URL del tuo server MCP
  5. 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

Documentazione

Consigli per lo sviluppo

  1. Parti semplice: inizia con un semplice strumento e amplia
  2. Test locale: usa MCP Inspector per il debugging
  3. Logging: aggiungi log dettagliati per la risoluzione dei problemi
  4. Gestione degli errori: fornisci messaggi di errore chiari
  5. Rate limiting: proteggi il server da sovraccarico

Integrazioni comuni

SistemaStrumenti possibili
LVS (Magister, Somtoday)Recupero voti, visualizzazione orari
Sistemi CRMRecupero dati cliente, aggiunta di note
Basi di datiEsecuzione query, generazione di report
Applicazioni proprieQualsiasi API da esporre

Articoli correlati