3.1 KiB
Protocole de Contexte de Modèle (MCP)
:::note Cette page explique comment configurer et utiliser le Protocole de Contexte de Modèle (MCP) dans OpenHands, vous permettant d'étendre les capacités de l'agent avec des outils personnalisés. :::
Aperçu
Le Protocole de Contexte de Modèle (MCP) est un mécanisme qui permet à OpenHands de communiquer avec des serveurs d'outils externes. Ces serveurs peuvent fournir des fonctionnalités supplémentaires à l'agent, comme le traitement spécialisé de données, l'accès à des API externes, ou des outils personnalisés. MCP est basé sur le standard ouvert défini sur modelcontextprotocol.io.
Configuration
La configuration MCP est définie dans la section [mcp] de votre fichier config.toml.
Exemple de configuration
[mcp]
# Serveurs SSE - Serveurs externes qui communiquent via Server-Sent Events
sse_servers = [
# Serveur SSE basique avec juste une URL
"http://example.com:8080/mcp",
# Serveur SSE avec authentification par clé API
{url="https://secure-example.com/mcp", api_key="your-api-key"}
]
# Serveurs Stdio - Processus locaux qui communiquent via entrée/sortie standard
stdio_servers = [
# Serveur stdio basique
{name="fetch", command="uvx", args=["mcp-server-fetch"]},
# Serveur stdio avec variables d'environnement
{
name="data-processor",
command="python",
args=["-m", "my_mcp_server"],
env={
"DEBUG": "true",
"PORT": "8080"
}
}
]
Options de configuration
Serveurs SSE
Les serveurs SSE sont configurés en utilisant soit une URL sous forme de chaîne, soit un objet avec les propriétés suivantes :
-
url(obligatoire)- Type:
str - Description: L'URL du serveur SSE
- Type:
-
api_key(optionnel)- Type:
str - Par défaut:
None - Description: Clé API pour l'authentification avec le serveur SSE
- Type:
Serveurs Stdio
Les serveurs Stdio sont configurés en utilisant un objet avec les propriétés suivantes :
-
name(obligatoire)- Type:
str - Description: Un nom unique pour le serveur
- Type:
-
command(obligatoire)- Type:
str - Description: La commande pour exécuter le serveur
- Type:
-
args(optionnel)- Type:
list of str - Par défaut:
[] - Description: Arguments de ligne de commande à passer au serveur
- Type:
-
env(optionnel)- Type:
dict of str to str - Par défaut:
{} - Description: Variables d'environnement à définir pour le processus du serveur
- Type:
Comment fonctionne MCP
Lorsque OpenHands démarre, il :
- Lit la configuration MCP depuis
config.toml - Se connecte à tous les serveurs SSE configurés
- Démarre tous les serveurs stdio configurés
- Enregistre les outils fournis par ces serveurs auprès de l'agent
L'agent peut alors utiliser ces outils comme n'importe quel outil intégré. Lorsque l'agent appelle un outil MCP :
- OpenHands achemine l'appel vers le serveur MCP approprié
- Le serveur traite la demande et renvoie une réponse
- OpenHands convertit la réponse en une observation et la présente à l'agent