Skip to main content
Glama
rlymbur

Amazon VPC Lattice MCP Server

by rlymbur

Amazon VPC Lattice MCP 服务器

用于源列表的模型上下文协议 (MCP) 服务器,提供访问和管理 AWS VPC Lattice 资源和相关文档的工具。

特征

该服务器提供五个主要工具:

  1. list_sources :列出所有可用来源及其 URL 和示例提示

  2. get_source_prompts :获取特定源的示例提示

  3. list_amazon_vpc_lattice_prompts :列出所有可用的提示模板

  4. get_amazon_vpc_lattice_prompts :获取特定提示模板的详细信息

  5. vpc_lattice_cli :执行 AWS CLI VPC Lattice 命令来管理 VPC Lattice 资源

Related MCP server: Log Analyzer with MCP

安装

该项目使用 TypeScript 构建并使用 ES 模块。

  1. 克隆存储库:

git clone https://github.com/awslabs/amazon-vpc-lattice-mcp-server.git
cd amazon-vpc-lattice-mcp-server
  1. 安装依赖项:

npm install
  1. 构建服务器:

npm run build

构建脚本将编译 TypeScript 代码并设置适当的可执行权限。

配置

将服务器添加到您的 MCP 设置文件(位于~/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": {}
    }
  }
}

用法

配置完成后,您就可以在对话中使用 MCP 工具了。请注意,您应该使用list_amazon_vpc_lattice_prompts来发现可用的提示,因为这些提示不像其他工具那样可以自动发现。

列出来源

use_mcp_tool({
  server_name: "amazon-vpc-lattice",
  tool_name: "list_sources",
  arguments: {}
})

获取源提示

use_mcp_tool({
  server_name: "amazon-vpc-lattice",
  tool_name: "get_source_prompts",
  arguments: {
    source_name: "AWS Documentation"
  }
})

列出 Amazon VPC Lattice 提示

use_mcp_tool({
  server_name: "amazon-vpc-lattice",
  tool_name: "list_amazon_vpc_lattice_prompts",
  arguments: {}
})

获取 Amazon VPC Lattice Prompt 详细信息

use_mcp_tool({
  server_name: "amazon-vpc-lattice",
  tool_name: "get_amazon_vpc_lattice_prompts",
  arguments: {
    prompt_name: "setup_eks_controller"
  }
})

VPC Lattice CLI

vpc_lattice_cli工具通过 AWS CLI 为 AWS VPC Lattice 操作提供编程接口。

特征

  • 支持所有主要的 VPC Lattice CLI 操作

  • 接受命令参数作为 JavaScript 对象

  • 自动将 camelCase 参数转换为 CLI 风格的 kebab-case

  • 处理布尔标志、数组和复数值

  • 支持 AWS 配置文件和区域配置

  • 返回已解析的 JSON 响应

可用命令

  • 服务网络:创建服务网络、删除服务网络、获取服务网络、列出服务网络、更新服务网络

  • 服务:创建服务、删除服务、获取服务、列出服务、更新服务

  • 监听器:创建监听器、删除监听器、获取监听器、列出监听器、更新监听器

  • 规则:创建规则、删除规则、获取规则、列出规则、更新规则

  • 目标组:创建目标组、删除目标组、获取目标组、列出目标组、更新目标组

  • 目标管理:注册目标、取消注册目标、列出目标

  • 资源标签:list-tags-for-resource、tag-resource、untag-resource

示例

列出服务网络:

use_mcp_tool({
  server_name: "amazon-vpc-lattice",
  tool_name: "vpc_lattice_cli",
  arguments: {
    command: "list-service-networks",
    region: "us-west-2"
  }
})

建立服务网络:

use_mcp_tool({
  server_name: "amazon-vpc-lattice",
  tool_name: "vpc_lattice_cli",
  arguments: {
    command: "create-service-network",
    args: {
      name: "my-network",
      authType: "NONE"
    }
  }
})

创建带有标签的服务:

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" }
      ]
    }
  }
})

创建目标组:

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"
        }
      }
    }
  }
})

可用资源

该服务器包括以下来源:

  1. AWS 文档 (docs.aws.amazon.com)

    • 主要功能查询

    • 配置指南

    • 最佳实践

  2. 适用于 VPC Lattice 的 AWS 网关 API 控制器 (aws/aws-application-networking-k8s)

    • 功能支持查询

    • 问题跟踪

  3. Kubernetes 网关 API(gateway-api.sigs.k8s.io)

    • 错误解决

    • 最佳实践指南

发展

项目结构

该项目组织如下:

  • src/index.ts :主服务器设置和初始化

  • src/tools.ts :工具定义和处理程序

  • src/data/ :数据文件

    • prompts.ts :提示模板和参数

    • sources.ts :源定义及其提示

  • package.json :项目配置和依赖项

  • tsconfig.json :TypeScript 配置

  • .gitignore :Git 忽略规则

  • build/ :编译后的 JavaScript 输出

添加新来源

要添加新源,请修改src/data/sources.ts中的sources数组:

export const sources = [
  {
    name: 'Your Source',
    url: 'https://your-source-url.com',
    prompts: [
      'Sample prompt 1 {placeholder}',
      'Sample prompt 2 {placeholder}'
    ]
  }
  // ... existing sources
];

添加新提示

要添加新的提示模板,请修改src/data/prompts.ts中的prompts数组:

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
];

脚本

  • npm run build :构建服务器并设置可执行权限

  • npm run watch :用于开发的监视模式

  • npm test :运行测试(目前尚未实现)

Available Tools

5 tools
get_amazon_vpc_lattice_promptsC

Get details of a specific prompt template

ParametersJSON Schema
NameRequiredDescriptionDefault
prompt_nameYesName of the prompt template to get

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
source_nameYesName of the source to get prompts for

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoCommand arguments as key-value pairs
commandYesThe VPC Lattice subcommand to execute (e.g., create-service-network, list-service-networks)
profileNoAWS CLI profile to usedefault
regionNoAWS regionus-east-1

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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.

  1. 5 tool updatesv1.0.0
    • First observedget_amazon_vpc_lattice_prompts
    • First observedget_source_prompts
    • First observedlist_amazon_vpc_lattice_prompts
    • First observedlist_sources
    • First observedvpc_lattice_cli

TDQS

C2.9/5.0

Scored across 5 tools

Disambiguation3/5

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.

Naming Consistency4/5

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.

Tool Count3/5

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.

Completeness2/5

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    A Model Context Protocol server that provides AI assistants access to AWS CloudWatch Logs, enabling browsing, searching, summarizing, and correlating logs across multiple AWS services.
    167
    Apache 2.0
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Serves 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.
    -
  • A
    license
    D
    quality
    D
    maintenance
    A 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.
    4
    15
    14
    ISC