Amazon VPC Lattice
Access and manage AWS VPC Lattice resources and related documentation.
Amazon VPC Lattice MCP Server
A Model Context Protocol (MCP) server for source listing, providing tools for accessing and managing AWS VPC Lattice resources and related documentation.
Features
The server provides five main tools:
list_sources: Lists all available sources with their URLs and sample promptsget_source_prompts: Gets sample prompts for a specific sourcelist_amazon_vpc_lattice_prompts: Lists all available prompt templatesget_amazon_vpc_lattice_prompts: Gets details of a specific prompt templatevpc_lattice_cli: Execute AWS CLI VPC Lattice commands for managing VPC Lattice resources
Installation
This project is built with TypeScript and uses ES modules. Note that installing github-mcp-server is also strongly recommended to assist with development prompts.
- Clone the repository:
git clone https://github.com/awslabs/amazon-vpc-lattice-mcp-server.git
cd amazon-vpc-lattice-mcp-server
- Install dependencies:
npm install
- Build the server:
npm run build
The build script will compile the TypeScript code and set the appropriate executable permissions.
Configuration
Add the server to your MCP settings file (located at ~/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": {}
}
}
}
Usage
Once configured, you can use the MCP tools in your conversations. Note that you should use list_amazon_vpc_lattice_prompts to discover available prompts as these are not automatically discoverable like tools.
List Sources
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "list_sources",
arguments: {}
})
Get Source Prompts
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "get_source_prompts",
arguments: {
source_name: "AWS Documentation"
}
})
List Amazon VPC Lattice Prompts
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "list_amazon_vpc_lattice_prompts",
arguments: {}
})
Get Amazon VPC Lattice Prompt Details
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "get_amazon_vpc_lattice_prompts",
arguments: {
prompt_name: "setup_eks_controller"
}
})
VPC Lattice CLI
The vpc_lattice_cli tool provides a programmatic interface to AWS VPC Lattice operations through the AWS CLI.
Features
- Supports all major VPC Lattice CLI operations
- Accepts command arguments as JavaScript objects
- Automatically converts camelCase parameters to CLI-style kebab-case
- Handles boolean flags, arrays, and complex values
- Supports AWS profiles and region configuration
- Returns parsed JSON responses
Available Commands
- Service Network: 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
- Listener: create-listener, delete-listener, get-listener, list-listeners, update-listener
- Rule: create-rule, delete-rule, get-rule, list-rules, update-rule
- Target Group: create-target-group, delete-target-group, get-target-group, list-target-groups, update-target-group
- Target Management: register-targets, deregister-targets, list-targets
- Resource Tags: list-tags-for-resource, tag-resource, untag-resource
Examples
List service networks:
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "vpc_lattice_cli",
arguments: {
command: "list-service-networks",
region: "us-west-2"
}
})
Create a service network:
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "vpc_lattice_cli",
arguments: {
command: "create-service-network",
args: {
name: "my-network",
authType: "NONE"
}
}
})
Create a service with tags:
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" }
]
}
}
})
Create a target group:
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"
}
}
}
}
})
Available Sources
The server includes these sources:
-
AWS Documentation (docs.aws.amazon.com)
- Key features queries
- Configuration guidance
- Best practices
-
AWS Gateway API Controller for VPC Lattice (aws/aws-application-networking-k8s)
- Feature support queries
- Issue tracking
-
Kubernetes Gateway API (gateway-api.sigs.k8s.io)
- Error resolution
- Best practices guidance
Development
Project Structure
The project is organized as follows:
src/index.ts: Main server setup and initializationsrc/tools.ts: Tool definitions and handlerssrc/data/: Data filesprompts.ts: Prompt templates and parameterssources.ts: Source definitions and their prompts
package.json: Project configuration and dependenciestsconfig.json: TypeScript configuration.gitignore: Git ignore rulesbuild/: Compiled JavaScript output
Adding New Sources
To add new sources, modify the sources array in 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
];
Adding New Prompts
To add new prompt templates, modify the prompts array in 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
];
Scripts
npm run build: Build the server and set executable permissionsnpm run watch: Watch mode for developmentnpm test: Run tests (currently not implemented)
Related Servers
Cloudflare Remote MCP Server (Authless)
An example for deploying a remote, authentication-free MCP server on Cloudflare Workers.
Cloudways MCP Server
Integrates with the Cloudways API, allowing AI assistants to access and manage Cloudways infrastructure.
Google Security
Access Google's security products and services, including Chronicle, SOAR, Threat Intelligence (GTI), and Security Command Center (SCC).
HubSpot MCP Server by CData
A read-only MCP server for querying live HubSpot data, powered by CData.
AWS Security MCP
An MCP server that enables AI assistants to interact with AWS security services.
Rostro
Turn any language model into a multimodal powerhouse that can generate images, music, videos and more on the fly. Rostro's tools are designed to be used by language models from the ground up, expanding capabilities with minimal context bloat.
Azure AHDS FHIR MCP Server
An MCP server implementation for interacting with Azure Health Data Services FHIR.
Uptime Agent
Connects your Uptime Agent monitoring system to AI assistants.
Cloudflare MCP Server
A remote MCP server deployable on Cloudflare Workers without authentication.
Google Analytics
Access Google Analytics 4 (GA4) data using the Model Context Protocol.