Serveur MCP Amazon VPC Lattice
Serveur MCP (Model Context Protocol) pour le référencement des sources, fournissant des outils d'accès et de gestion des ressources AWS VPC Lattice et de la documentation associée.
Caractéristiques
Le serveur fournit cinq outils principaux :
list_sources: Liste toutes les sources disponibles avec leurs URL et des exemples d'invitesget_source_prompts: Obtient des exemples d'invites pour une source spécifiquelist_amazon_vpc_lattice_prompts: Liste tous les modèles d'invites disponiblesget_amazon_vpc_lattice_prompts: Obtenir les détails d'un modèle d'invite spécifiquevpc_lattice_cli: Exécute les commandes AWS CLI VPC Lattice pour gérer les ressources VPC Lattice
Installation du projet
Ce projet est construit avec TypeScript et utilise des modules ES. Notez que l'installation de github-mcp-server est aussi fortement recommandée pour aider au développement des invites.
- Clonez le dépôt :
git clone https://github.com/awslabs/amazon-vpc-lattice-mcp-server.git cd amazon-vpc-lattice-mcp-server
- Installez les dépendances :
npm install
- Construire le serveur :
npm run build
Le script de construction compilera le code TypeScript et définira les permissions d'exécution appropriées.
Configuration
Ajoutez le serveur à votre fichier de configuration MCP (situé dans ~/Library/Application Support/Code/User/globalStorage/asbx.amzn-cline/settings/cline_mcp_settings.json) :
{ "mcpServers" : { "amazon-vpc-lattice" : { "command" : "node", "args" : ["/path/to/amazon-vpc-lattice-mcp-server/build/index.js"], "disabled" : false, "autoApprove" : [], "env" : {} } } }
Utilisation
Une fois configurés, vous pouvez utiliser les outils MCP dans vos conversations. Notez que vous devez utiliser list_amazon_vpc_lattice_prompts pour découvrir les invites disponibles car elles ne sont pas automatiquement découvertes comme les outils.
Lister les sources
use_mcp_tool({ server_name : "amazon-vpc-lattice", tool_name : "list_sources", arguments : {} })
Obtenir les invites de la source
use_mcp_tool({ server_name : "amazon-vpc-lattice", tool_name : "get_source_prompts", arguments : { nom_source : "AWS Documentation" } })
Liste des invites Amazon VPC Lattice
use_mcp_tool({ server_name : "amazon-vpc-lattice", tool_name : "list_amazon_vpc_lattice_prompts", arguments : {} })
Obtenir les détails de l'invite Amazon VPC Lattice
use_mcp_tool({ server_name : "amazon-vpc-lattice", tool_name : "get_amazon_vpc_lattice_prompts", arguments : { prompt_name : "setup_eks_controller" } })
CLI VPC Lattice
L'outil vpc_lattice_cli fournit une interface programmatique pour les opérations AWS VPC Lattice via la CLI AWS.
Caractéristiques
- Prise en charge de toutes les principales opérations de l'interface CLI de VPC Lattice
- Accepte les arguments de commande en tant qu'objets JavaScript
- Convertit automatiquement les paramètres en camelCase en kebab-case de style CLI
- Gestion des indicateurs booléens, des tableaux et des valeurs complexes
- Prise en charge des profils AWS et de la configuration régionale
- Renvoie des réponses JSON analysées
Commandes disponibles
- Réseau de services : create-service-network, delete-service-network, get-service-network, list-service-networks, update-service-network
- Service : create-service, delete-service, get-service, list-services, update-service
- Auditeur : create-listener, delete-listener, get-listener, list-listeners, update-listener
- Règle : create-rule, delete-rule, get-rule, list-rules, update-rule
- Groupe cible : create-target-group, delete-target-group, get-target-group, list-target-groups, update-target-group
- Gestion des cibles : register-targets, deregister-targets, list-targets
- Tags de ressources : list-tags-for-resource, tag-resource, untag-resource
Exemples
Liste des réseaux de services :
use_mcp_tool({ server_name : "amazon-vpc-lattice", tool_name : "vpc_lattice_cli", arguments : { command : "list-service-networks", region : "us-west-2" } })
Créer un réseau de service :
use_mcp_tool({ server_name : "amazon-vpc-lattice", tool_name : "vpc_lattice_cli", arguments : { command : "create-service-network", args : { name : "my-network", authType : "NONE" } })
Créer un service avec des balises :
use_mcp_tool({ server_name : "amazon-vpc-lattice", tool_name : "vpc_lattice_cli", arguments : { command : "create-service", args : { name : "my-service", serviceNetworkIdentifier : "sn-12345", tags : [ { key : "Environment", value : "Production" } ] } })
Créer un groupe cible :
use_mcp_tool({ server_name : "amazon-vpc-lattice", tool_name : "vpc_lattice_cli", arguments : { command : "create-target-group", args : { name : "my-target-group", type : "INSTANCE", config : { port : 80, protocol : "HTTP", healthCheck : { enabled : true, protocol : "HTTP", path : "/health" } } } })
Sources disponibles
Le serveur inclut les sources suivantes :
Documentation AWS (docs.aws.amazon.com)
- Requêtes sur les fonctionnalités clés
- Conseils de configuration
- Meilleures pratiques
Contrôleur API AWS Gateway pour VPC Lattice (aws/aws-application-networking-k8s)
- Requêtes relatives à l'assistance technique
- Suivi des problèmes
API de passerelle Kubernetes (gateway-api.sigs.k8s.io)
- Résolution des erreurs
- Conseils sur les meilleures pratiques
Développement
Structure du projet
Le projet est organisé comme suit :
src/index.ts: Configuration et initialisation du serveur principalsrc/tools.ts: Définitions des outils et des gestionnairessrc/data/: Fichiers de donnéesprompts.ts: Modèles et paramètres des invitessources.ts: Définitions des sources et de leurs invites
package.json: Configuration du projet et dépendancestsconfig.json: Configuration TypeScript.gitignore: Règles d'ignorance Gitbuild/: Sortie JavaScript compilée
Ajouter de nouvelles sources
Pour ajouter de nouvelles sources, modifiez le tableau des sources dans src/data/sources.ts :
export const sources = [ { name : 'Your Source', url : 'https://your-source-url.com', prompts : [ 'Sample prompt 1 {placeholder}', 'Sample prompt 2 {placeholder}' ] } // ... sources existantes ]
Ajout de nouvelles invites
Pour ajouter de nouveaux modèles d'invites, modifiez le tableau des invites dans src/data/prompts.ts :
export const prompts = [ { name : "Your Prompt Template", description : "Description of what the prompt does", template : "Your prompt template with {parameter} placeholders", parameters : ['parameter'] } // ... invites existantes ]
Scripts
npm run build: Construit le serveur et définit les autorisations d'exécutionnpm run watch: Mode de surveillance pour le développementnpm test: Exécuter des tests (actuellement non implémenté)




