Amazon VPC Lattice MCP Server
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)
Available Tools
5 toolsget_amazon_vpc_lattice_promptsC
Get details of a specific prompt template
| Name | Required | Description | Default |
|---|---|---|---|
| prompt_name | Yes | Name of the prompt template to get |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states what the tool does ('Get details') without mentioning any behavioral traits such as permissions needed, rate limits, error handling, or what 'details' include. This is insufficient for a tool with no annotation coverage, as it leaves key operational aspects undefined.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and efficiently communicates the core function, earning its place without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It does not explain what 'details' are returned, how errors are handled, or any behavioral context. For a tool that retrieves specific data, this leaves significant gaps in understanding its full operation and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the parameter 'prompt_name' clearly documented as 'Name of the prompt template to get'. The description does not add any additional meaning beyond this, such as format examples or constraints. Given the high schema coverage, a baseline score of 3 is appropriate as the schema adequately handles parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Get details of a specific prompt template', which includes a specific verb ('Get') and resource ('prompt template'). However, it does not explicitly distinguish this from sibling tools like 'get_source_prompts' or 'list_amazon_vpc_lattice_prompts', which likely involve similar resources but different scopes or operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools, prerequisites, or specific contexts for usage, leaving the agent to infer based on the tool name alone. This lack of explicit when-to-use or when-not-to-use information reduces clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_source_promptsB
Get sample prompts for a specific source
| Name | Required | Description | Default |
|---|---|---|---|
| source_name | Yes | Name of the source to get prompts for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe behavioral traits such as whether it's read-only, if it requires authentication, rate limits, error handling, or what format the 'sample prompts' are returned in. This leaves significant gaps for a tool that likely retrieves data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on usage guidelines, behavioral traits, and output format, which are important for effective tool invocation in a broader context with sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the single parameter 'source_name' clearly documented in the schema. The description adds minimal value beyond the schema by implying the parameter is used to identify a source, but it doesn't provide additional context like valid source names or examples. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get sample prompts') and the target resource ('for a specific source'), which provides a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'get_amazon_vpc_lattice_prompts' or 'list_sources', which appear to be related to similar domains but have different scopes or functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'list_sources' (which might list sources before selecting one) or 'get_amazon_vpc_lattice_prompts' (which seems source-specific), leaving the agent to infer usage context without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_amazon_vpc_lattice_promptsB
List all available prompt templates
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'List all available prompt templates' implies a read-only operation, it doesn't specify whether this requires authentication, has rate limits, returns paginated results, or details the format of the output. For a tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 0 parameters, no annotations, and no output schema, the description is minimally adequate but lacks completeness. It doesn't explain what 'prompt templates' are, how they're structured, or what the output looks like, which could hinder an agent's ability to use this tool effectively in context with siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, earning a baseline score of 4 for not adding unnecessary information beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('all available prompt templates'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'get_amazon_vpc_lattice_prompts' or 'get_source_prompts', which likely retrieve specific prompts rather than listing all templates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention sibling tools like 'get_amazon_vpc_lattice_prompts' (which might retrieve specific prompts) or 'list_sources' (which might list different resources), leaving the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sourcesB
List all available sources with their URLs and sample prompts
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool lists sources with URLs and sample prompts, which implies a read-only operation, but doesn't specify if this requires authentication, how data is returned (e.g., pagination, format), or any rate limits. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence: 'List all available sources with their URLs and sample prompts.' It is front-loaded with the core action and includes no unnecessary words, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are no parameters and no output schema, the description provides a clear purpose but lacks details on behavioral aspects like authentication, return format, or error handling. For a simple list tool, this might be adequate, but without annotations or output schema, it doesn't fully prepare an agent for invocation, leaving room for improvement in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, meaning there are no parameters to document. The description doesn't need to add parameter details, so it appropriately focuses on the tool's purpose. A baseline of 4 is applied since no parameters exist, and the description doesn't attempt to explain non-existent inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'List all available sources with their URLs and sample prompts.' It specifies the verb ('List'), resource ('available sources'), and what information is included ('URLs and sample prompts'). However, it doesn't explicitly distinguish this from sibling tools like 'get_source_prompts' or 'list_amazon_vpc_lattice_prompts', which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_source_prompts' and 'list_amazon_vpc_lattice_prompts' available, there is no indication of when this tool is appropriate, what prerequisites might be needed, or any exclusions for its use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vpc_lattice_cliC
Execute AWS CLI VPC Lattice commands
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Command arguments as key-value pairs | |
| command | Yes | The VPC Lattice subcommand to execute (e.g., create-service-network, list-service-networks) | |
| profile | No | AWS CLI profile to use | default |
| region | No | AWS region | us-east-1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'execute' which implies mutation, but doesn't disclose behavioral traits like which commands are destructive (e.g., delete-*), authentication needs, error handling, or output format. This is a significant gap for a CLI tool with potentially destructive operations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, clearly stating the tool's function without unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 parameters, no annotations, no output schema, and a wide range of commands including destructive ones), the description is incomplete. It lacks context on safety, output, error cases, or how to interpret results, making it inadequate for effective tool use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents parameters. The description adds no meaning beyond the schema—it doesn't explain parameter relationships, command-argument mappings, or usage examples. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Execute AWS CLI VPC Lattice commands' states the action (execute) and target (AWS CLI VPC Lattice commands), but is vague about what VPC Lattice is and doesn't differentiate from sibling tools like get_amazon_vpc_lattice_prompts or list_amazon_vpc_lattice_prompts. It provides a basic purpose but lacks specificity about the resource domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention sibling tools, prerequisites like AWS credentials, or typical use cases. Usage is implied only through the command enum in the schema, not in the description itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.0.0- First observed
get_amazon_vpc_lattice_prompts - First observed
get_source_prompts - First observed
list_amazon_vpc_lattice_prompts - First observed
list_sources - First observed
vpc_lattice_cli
TDQS
Scored across 5 tools
The tools have some overlap but descriptions help clarify distinctions. 'get_amazon_vpc_lattice_prompts' and 'get_source_prompts' both retrieve prompts but target different entities (templates vs. sources), while 'list_amazon_vpc_lattice_prompts' and 'list_sources' similarly list different items. The 'vpc_lattice_cli' tool stands apart for CLI execution, but the prompt-related tools could cause mild confusion without careful reading.
The naming is mostly consistent with a verb_noun pattern, using 'get_' and 'list_' prefixes clearly. However, 'vpc_lattice_cli' deviates by omitting a verb and using a compound noun, breaking the pattern. The other four tools follow a predictable convention, making this a minor inconsistency.
With 5 tools, the count is borderline for the server's purpose of managing Amazon VPC Lattice prompts and sources. It feels slightly thin, as it covers listing and getting prompts/sources and CLI execution, but might lack operations like creating, updating, or deleting prompts, which could limit functionality. The scope is reasonable but not fully fleshed out.
There are significant gaps in the tool surface for managing Amazon VPC Lattice prompts. The server only provides read operations (get and list) for prompts and sources, along with CLI execution, but lacks create, update, or delete tools. This incomplete CRUD coverage will likely cause agent failures when full lifecycle management is needed, as agents cannot modify or add new prompts or sources.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The AWS Knowledge MCP server is a fully managed remote Model Context Protocol server that provides real-time access to official AWS content in an LLM-compatible format. It offers structured access to AWS documentation, code samples, blog posts, What's New announcements, Well-Architected best practices, and regional availability information for AWS APIs and CloudFormation resources. Key capabilities include searching and reading documentation in markdown format, getting content recommendations, listing AWS regions, and checking regional availability for services and features.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
Enable secure connectivity between Sentry issues and debugging data, and LLM clients, using a Model Context Protocol (MCP) server.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceProvides a scalable, containerized infrastructure for deploying and managing Model Context Protocol servers with monitoring, high availability, and secure configurations.-

Log Analyzer with MCPofficial
AlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that provides AI assistants access to AWS CloudWatch Logs, enabling browsing, searching, summarizing, and correlating logs across multiple AWS services.167Apache 2.0- -licenseNot gradedqualityNot gradedmaintenanceServes as a Model Context Protocol server that provides tools to look up Amazon Leadership Principles and access video transcripts for integration with Amazon Q CLI.-
- AlicenseDqualityDmaintenanceA Model Context Protocol server that enables LLMs to explore and interact with API specifications by providing tools for loading, browsing, and getting detailed information about API endpoints.41514ISC