
Bibliothèques Python pour le développement de serveurs Model Context Protocol (MCP)
Exemple rapide pour développer votre propre serveur MCP avec Python.
MCP standardise l’accès sécurisé des LLM à des données, outils et plugins externes, permettant une intégration IA flexible, puissante et interopérable.
Le Model Context Protocol (MCP) est une interface standard ouverte qui permet aux grands modèles de langage (LLM) d’accéder de manière sécurisée et cohérente à des sources de données externes, des outils et des fonctionnalités. Il établit une couche de communication standardisée entre les applications d’IA et divers fournisseurs de contexte, servant de « USB-C » pour les systèmes d’IA.
MCP suit une architecture client-serveur :
MCP définit trois primitives fondamentales qui constituent les briques de base du protocole :
Les ressources représentent des données et contenus que les serveurs MCP mettent à disposition des LLM.
Exemple d’usage : Un serveur MCP exposant un fichier journal comme ressource avec l’URI file:///logs/app.log
Les prompts sont des modèles ou workflows prédéfinis que les serveurs proposent pour guider l’interaction avec les LLM.
Exemple d’usage : Un prompt générateur de message de commit git acceptant des modifications de code en entrée
Les outils exposent des fonctions exécutables que les LLM peuvent invoquer (généralement avec l’accord de l’utilisateur) pour réaliser des actions.
Exemple d’usage : Un outil calculatrice qui effectue des opérations mathématiques sur des entrées fournies par le modèle
// Serveur exposant un fichier journal comme ressource
const server = new Server({ /* config */ }, { capabilities: { resources: {} } });
// Lister les ressources disponibles
server.setRequestHandler(ListResourcesRequestSchema, async () => {
return {
resources: [
{
uri: "file:///logs/app.log",
name: "Journaux d'application",
mimeType: "text/plain"
}
]
};
});
// Fournir le contenu de la ressource
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("Resource not found");
});
const server = new Server({ /* config */ }, { capabilities: { tools: {} } });
// Lister les outils disponibles
server.setRequestHandler(ListToolsRequestSchema, async () => {
return {
tools: [{
name: "calculate_sum",
description: "Additionner deux nombres",
inputSchema: {
type: "object",
properties: {
a: { type: "number", description: "Premier nombre" },
b: { type: "number", description: "Second nombre" }
},
required: ["a", "b"]
},
annotations: {
title: "Calculer la somme",
readOnlyHint: true,
openWorldHint: false
}
}]
};
});
// Gérer l'exécution de l'outil
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("Entrée invalide : 'a' et 'b' doivent être des nombres.");
}
const sum = a + b;
return {
content: [{ type: "text", text: String(sum) }]
};
} catch (error: any) {
return {
isError: true,
content: [{ type: "text", text: `Erreur lors du calcul de la somme : ${error.message}` }]
};
}
}
throw new Error("Tool not found");
});
MCP est une interface standard ouverte qui permet aux LLM d'accéder de manière sécurisée et cohérente à des sources de données, outils et fonctionnalités externes, créant une couche de communication standardisée entre les applications d'IA et les fournisseurs de contexte.
MCP se compose d'hôtes, de clients, de serveurs et de sources de données. Il utilise des primitives de base—ressources, prompts et outils—pour permettre des interactions flexibles et sécurisées entre les LLM et les systèmes externes.
MCP simplifie l'intégration de l'IA, renforce la sécurité, réduit l'enfermement propriétaire et permet un accès fluide à une diversité d'informations et d'outils pour les développeurs comme pour les organisations.
Le MCP peut être mis en œuvre via des serveurs qui exposent des ressources ou des outils (par exemple, accès à des fichiers journaux, outils calculatrice) en utilisant une interface standardisée, simplifiant la connexion avec les modèles d'IA.
Le MCP standardise le processus par lequel les LLM invoquent des fonctions ou des outils externes, de la même manière que les plugins étendent les capacités des navigateurs ou des logiciels.
Commencez à créer des systèmes d'IA puissants avec des intégrations standardisées, un accès sécurisé aux données et une connectivité flexible aux outils grâce à FlowHunt.
Exemple rapide pour développer votre propre serveur MCP avec Python.
Le serveur ModelContextProtocol (MCP) agit comme un pont entre les agents IA et les sources de données externes, API et services, permettant aux utilisateurs de...
Découvrez comment le Model Context Protocol (MCP) permet des opérations sur le système de fichiers sécurisées pour les assistants IA et les outils de développem...