Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
OpenSearch serveur MCP
OpenSearch Le serveur MCPopensearch-mcp-server-py) est une implémentation open source du protocole Model Context
Le serveur fonctionne à la fois avec les domaines OpenSearch de service gérés et avec les collections OpenSearch sans serveur. Vous pouvez le connecter au codage IDEs (Kiro, Claude Code, Cursor), aux assistants d'IA de bureau (Claude Desktop) et aux frameworks d'agents (Strands Agents, LangGraph).
Conditions préalables
-
Python 3.10 ou version ultérieure.
-
uv(recommandé) ou pip. -
Un point de OpenSearch terminaison accessible : un domaine de OpenSearch service, une collection OpenSearch sans serveur ou un cluster autogéré OpenSearch .
-
Informations d'identification avec autorisation d'appeler le OpenSearch APIs nom que vous souhaitez exposer. Pour les politiques IAM relatives aux domaines OpenSearch de service, consultezPolitiques basées sur l’identité. Pour les politiques d'accès aux données OpenSearch sans serveur, voirContrôle d'accès aux données pour Amazon OpenSearch Serverless.
Installation
Exécutez le serveur avec uvx (aucune installation requise) ou installez-le localement :
# Run directly with uvx (recommended – no install step) uvx opensearch-mcp-server-py # Or install with pip pip install opensearch-mcp-server-py
La plupart des utilisateurs configurent leur assistant IDE ou AI pour démarrer le serveur automatiquement. Voir Configuration dans un IDE de codage et Utilisation avec des frameworks d'agents pour des exemples.
Authentification
Configurez l'authentification via des variables d'environnement (mode cluster unique) ou par cluster dans un fichier de configuration YAML (mode multi-clusters). Le serveur applique les méthodes d'authentification dans l'ordre de priorité suivant : aucune authentification, basée sur l'en-tête, rôle IAM, authentification de base, clés d'accès. AWS
- Rôle IAM (SigV4) : recommandé pour les domaines de service OpenSearch
-
export OPENSEARCH_URL="https://your-domain-endpoint" export AWS_IAM_ARN="arn:aws:iam::123456789012:role/YourOpenSearchRole" export AWS_REGION="us-east-1"Le rôle doit être autorisé à appeler les appels utilisés OpenSearch APIs par le serveur. Consultez Exemples de stratégies supplémentaires des exemples de politiques.
- AWS informations d'identification ou profil
-
export OPENSEARCH_URL="https://your-domain-endpoint" export AWS_REGION="us-east-1" export AWS_PROFILE="your-aws-profile" - OpenSearch Collections sans serveur
-
Réglez de
AWS_OPENSEARCH_SERVERLESS=truetelle sorte que le serveur signe les demandes avec le nom duaossservice au lieu dees. Assurez-vous que le principal est autorisé à accéder aux données par le biais d'une politique d'accès aux données relative à la collection (voirContrôle d'accès aux données pour Amazon OpenSearch Serverless).export OPENSEARCH_URL="https://collection-id.us-east-1.aoss.amazonaws.com" export AWS_OPENSEARCH_SERVERLESS="true" export AWS_REGION="us-east-1" export AWS_PROFILE="your-aws-profile" - Authentification basique
-
export OPENSEARCH_URL="https://your-domain-endpoint" export OPENSEARCH_USERNAME="username" export OPENSEARCH_PASSWORD="password"Important
N'intégrez pas de mots de passe dans les fichiers de configuration qui peuvent être enregistrés dans le contrôle de source. Utilisez le gestionnaire secret ou l'environnement shell de votre système d'exploitation pour fournir des informations d'identification.
Considérations sur la sécurité
Le serveur MCP fonctionne avec les informations d'identification que vous fournissez. Tout ce que ces informations d'identification sont autorisées à faire, l'assistant AI peut potentiellement le déclencher en votre nom. Suivez les pratiques suivantes :
-
Utilisez des informations d'identification dotées du moindre privilège. Créez un rôle ou un OpenSearch utilisateur IAM dédié adapté aux index et aux actions dont l'agent a besoin. Évitez de réutiliser les informations d'identification de l'administrateur.
-
Développement et production séparés. Dirigez le serveur vers des clusters non liés à la production à des fins d'exploration. Utilisez le mode multimode avec des noms de cluster explicites lorsque l'accès à la production est requis.
-
Outils de filtrage Désactivez les catégories d'outils dont votre flux de travail n'a pas besoin.
OPENSEARCH_DISABLED_CATEGORIES=core_toolsParamétré pour désactiver l'ensemble par défaut ouOPENSEARCH_ENABLED_CATEGORIESpour n'activer que des catégories spécifiques. -
Protégez les informations d'identification. Préférez les AWS profils et les rôles IAM aux clés d'accès statiques. Ne publiez jamais de secrets dans les fichiers de configuration dans le contrôle de source.
-
Passez en revue les résultats de l'outil. Les réponses de l'outil MCP sont renvoyées au modèle de langage sous forme de contexte. Évitez d'exécuter le serveur sur des index contenant des données sensibles que vous ne voulez pas exposer à votre fournisseur d'IA.
Résolution des problèmes
- L'assistant ne voit aucun OpenSearch outil
-
Vérifiez que votre fichier de configuration est un JSON valide et redémarrez complètement le client. La plupart des clients ne chargent les serveurs MCP qu'au démarrage.
- Les appels d'outils retournent 403 Forbidden
-
Vos informations d'identification ne sont pas autorisées à accéder à l'API que l'outil appelle. Pour les domaines de OpenSearch service, consultez la politique d'accès au domaine et les politiques IAM associées à votre rôle. Pour OpenSearch Serverless, consultez la politique d'accès aux données de la collection.
- Erreurs de non-concordance des signatures avec Serverless OpenSearch
-
Assurez-vous qu'
AWS_OPENSEARCH_SERVERLESS=trueil est réglé (ou qu'il estis_serverless: trueen mode multiple). Dans le cas contraire, le serveur signe avec le nom duesservice au lieu deaoss. - L'outil dont vous avez besoin n'est pas disponible
-
Vérifiez s'il appartient à une catégorie autre que celle par défaut et activez-le avec
OPENSEARCH_ENABLED_CATEGORIESouenabled_categoriesdans votre configuration YAML.
Pour obtenir de l'aide supplémentaire, ouvrez un problème dans le opensearch-mcp-server-py référentiel
Ressources supplémentaires
-
opensearch-mcp-server-py
activé GitHub : source, problèmes et notes de publication. -
Guide de l'utilisateur
— Référence de configuration complète, y compris les transports en streaming et le déploiement de Kubernetes. -
Strands Agents
AWS— SDK d'agents natifs avec support MCP intégré. -
LangGraph
— Cadre d'orchestration de bas niveau pour les agents dynamiques. -
OpenSearch Compétences des agents— La collection de compétences complémentaires pour les flux de travail axés sur les tâches.