
Librerie Python per lo sviluppo di server Model Context Protocol (MCP)
Esempio rapido di come sviluppare il tuo server MCP con Python.
MCP standardizza l’accesso sicuro degli LLM a dati esterni, strumenti e plugin, abilitando un’integrazione AI flessibile, potente e interoperabile.
Il Model Context Protocol (MCP) è un’interfaccia standard aperta che consente ai Large Language Models (LLM) di accedere in modo sicuro e coerente a fonti di dati esterne, strumenti e funzionalità. Stabilisce uno strato di comunicazione standardizzato tra applicazioni AI e diversi provider di contesto, servendo come la “USB-C” per i sistemi di intelligenza artificiale.
MCP segue un’architettura client-server:
MCP definisce tre primitive fondamentali che costituiscono i mattoni del protocollo:
Le risorse rappresentano dati e contenuti che i server MCP mettono a disposizione degli LLM.
Esempio d’uso: Un server MCP che espone un file di log come risorsa con URI file:///logs/app.log
I prompt sono modelli o workflow predefiniti che i server offrono per guidare le interazioni degli LLM.
Esempio d’uso: Un prompt generatore di messaggi di commit git che accetta modifiche al codice come input
Gli strumenti espongono funzioni eseguibili che gli LLM possono invocare (solitamente con l’approvazione dell’utente) per compiere azioni.
Esempio d’uso: Uno strumento calcolatrice che esegue operazioni matematiche sugli input forniti dal modello
// Server che espone un singolo file di log come risorsa
const server = new Server({ /* config */ }, { capabilities: { resources: {} } });
// Elenca le risorse disponibili
server.setRequestHandler(ListResourcesRequestSchema, async () => {
return {
resources: [
{
uri: "file:///logs/app.log",
name: "Log Applicazione",
mimeType: "text/plain"
}
]
};
});
// Fornisce il contenuto della risorsa
server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
if (request.params.uri === "file:///logs/app.log") {
const logContents = await readLogFile();
return {
contents: [{
uri: request.params.uri,
mimeType: "text/plain",
text: logContents
}]
};
}
throw new Error("Risorsa non trovata");
});
const server = new Server({ /* config */ }, { capabilities: { tools: {} } });
// Elenca gli strumenti disponibili
server.setRequestHandler(ListToolsRequestSchema, async () => {
return {
tools: [{
name: "calculate_sum",
description: "Somma due numeri",
inputSchema: {
type: "object",
properties: {
a: { type: "number", description: "Primo numero" },
b: { type: "number", description: "Secondo numero" }
},
required: ["a", "b"]
},
annotations: {
title: "Calcola Somma",
readOnlyHint: true,
openWorldHint: false
}
}]
};
});
// Gestisce l'esecuzione dello strumento
server.setRequestHandler(CallToolRequestSchema, async (request) => {
if (request.params.name === "calculate_sum") {
try {
const { a, b } = request.params.arguments;
if (typeof a !== 'number' || typeof b !== 'number') {
throw new Error("Input non valido: 'a' e 'b' devono essere numeri.");
}
const sum = a + b;
return {
content: [{ type: "text", text: String(sum) }]
};
} catch (error: any) {
return {
isError: true,
content: [{ type: "text", text: `Errore nel calcolo della somma: ${error.message}` }]
};
}
}
throw new Error("Strumento non trovato");
});
MCP è un'interfaccia standard aperta che consente agli LLM di accedere in modo sicuro e coerente a fonti di dati esterne, strumenti e funzionalità, creando uno strato di comunicazione standardizzato tra applicazioni AI e provider di contesto.
MCP è composto da host, client, server e fonti di dati. Utilizza primitive di base—risorse, prompt e strumenti—per abilitare interazioni flessibili e sicure tra LLM e sistemi esterni.
MCP semplifica l'integrazione AI, aumenta la sicurezza, riduce il vincolo verso i fornitori e consente l'accesso semplice a informazioni e strumenti diversificati sia per gli sviluppatori che per le organizzazioni.
MCP può essere implementato tramite server che espongono risorse o strumenti (ad esempio, accesso a file di log, strumenti calcolatrice) utilizzando un'interfaccia standardizzata, semplificando le connessioni con i modelli AI.
MCP standardizza il processo con cui gli LLM richiamano funzioni o strumenti esterni, in modo simile a come i plugin estendono le funzionalità dei browser o dei software.
Inizia a costruire sistemi AI potenti con integrazioni standardizzate, accesso sicuro ai dati e connettività flessibile agli strumenti utilizzando FlowHunt.
Esempio rapido di come sviluppare il tuo server MCP con Python.
L'AI agentica sta ridefinendo l'automazione dei flussi di lavoro con il Model Context Protocol (MCP), consentendo un'integrazione scalabile e dinamica degli age...
Il Server ModelContextProtocol (MCP) funge da ponte tra agenti AI e fonti dati esterne, API e servizi, consentendo agli utenti FlowHunt di costruire assistenti ...