Servidor MCP de Amazon VPC Lattice
Un servidor de Protocolo de contexto de modelo (MCP) para listado de fuentes, que proporciona herramientas para acceder y administrar recursos de AWS VPC Lattice y documentación relacionada.
Características
El servidor proporciona cinco herramientas principales:
list_sources: enumera todas las fuentes disponibles con sus URL y mensajes de muestraget_source_prompts: obtiene indicaciones de muestra para una fuente específicalist_amazon_vpc_lattice_prompts: enumera todas las plantillas de solicitud disponiblesget_amazon_vpc_lattice_prompts: obtiene detalles de una plantilla de solicitud específicavpc_lattice_cli: ejecuta comandos de AWS CLI VPC Lattice para administrar recursos de VPC Lattice
Related MCP server: Log Analyzer with MCP
Instalación
Este proyecto está construido con TypeScript y utiliza módulos ES.
Clonar el repositorio:
git clone https://github.com/awslabs/amazon-vpc-lattice-mcp-server.git
cd amazon-vpc-lattice-mcp-serverInstalar dependencias:
npm installConstruir el servidor:
npm run buildEl script de compilación compilará el código TypeScript y establecerá los permisos ejecutables adecuados.
Configuración
Agregue el servidor a su archivo de configuración de MCP (ubicado en ~/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": {}
}
}
}Uso
Una vez configuradas, puedes usar las herramientas de MCP en tus conversaciones. Ten en cuenta que debes usar list_amazon_vpc_lattice_prompts para descubrir las indicaciones disponibles, ya que no se detectan automáticamente como las herramientas.
Lista de fuentes
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "list_sources",
arguments: {}
})Obtener indicaciones de origen
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "get_source_prompts",
arguments: {
source_name: "AWS Documentation"
}
})Lista de indicaciones de Amazon VPC Lattice
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "list_amazon_vpc_lattice_prompts",
arguments: {}
})Obtener detalles del mensaje de 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 de VPC Lattice
La herramienta vpc_lattice_cli proporciona una interfaz programática para las operaciones de AWS VPC Lattice a través de la AWS CLI.
Características
Admite todas las principales operaciones CLI de VPC Lattice
Acepta argumentos de comando como objetos JavaScript
Convierte automáticamente los parámetros camelCase al estilo kebab-case de CLI
Maneja indicadores booleanos, matrices y valores complejos
Admite perfiles de AWS y configuración de regiones
Devuelve respuestas JSON analizadas
Comandos disponibles
Red de servicios: crear red de servicios, eliminar red de servicios, obtener red de servicios, enumerar redes de servicios, actualizar red de servicios
Servicio: crear-servicio, eliminar-servicio, obtener-servicio, listar-servicios, actualizar-servicio
Oyente: crear-oyente, eliminar-oyente, obtener-oyente, listar-oyentes, actualizar-oyente
Regla: crear-regla, eliminar-regla, obtener-regla, listar-reglas, actualizar-regla
Grupo objetivo: crear-grupo-objetivo, eliminar-grupo-objetivo, obtener-grupo-objetivo, listar-grupos-objetivo, actualizar-grupo-objetivo
Gestión de objetivos: registrar objetivos, cancelar registro de objetivos, listar objetivos
Etiquetas de recursos: lista de etiquetas para recursos, etiqueta de recurso, desetiqueta de recurso
Ejemplos
Listado de redes de servicios:
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "vpc_lattice_cli",
arguments: {
command: "list-service-networks",
region: "us-west-2"
}
})Crear una red de servicios:
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "vpc_lattice_cli",
arguments: {
command: "create-service-network",
args: {
name: "my-network",
authType: "NONE"
}
}
})Crear un servicio con etiquetas:
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" }
]
}
}
})Crear un grupo objetivo:
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"
}
}
}
}
})Fuentes disponibles
El servidor incluye estas fuentes:
Documentación de AWS (docs.aws.amazon.com)
Consultas sobre características clave
Guía de configuración
Mejores prácticas
Controlador de API de AWS Gateway para VPC Lattice (aws/aws-application-networking-k8s)
Consultas de soporte de funciones
Seguimiento de problemas
API de puerta de enlace de Kubernetes (gateway-api.sigs.k8s.io)
Resolución de errores
Guía de mejores prácticas
Desarrollo
Estructura del proyecto
El proyecto está organizado de la siguiente manera:
src/index.ts: Configuración e inicialización del servidor principalsrc/tools.ts: Definiciones y controladores de herramientassrc/data/: Archivos de datosprompts.ts: Plantillas y parámetros de solicitudsources.ts: Definiciones de fuentes y sus indicaciones
package.json: Configuración del proyecto y dependenciastsconfig.json: configuración de TypeScript.gitignore: Git ignora las reglasbuild/: Salida de JavaScript compilada
Agregar nuevas fuentes
Para agregar nuevas fuentes, modifique la matriz sources en 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}'
]
}
// ... existing sources
];Agregar nuevos avisos
Para agregar nuevas plantillas de indicaciones, modifique la matriz prompts en 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']
}
// ... existing prompts
];Guiones
npm run build: Construye el servidor y establece permisos ejecutablesnpm run watch: Modo de vigilancia para el desarrollonpm test: Ejecutar pruebas (actualmente no implementado)