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

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

Решетка VPC CLI

Инструмент vpc_lattice_cli предоставляет программный интерфейс для операций AWS VPC Lattice через AWS CLI.

Функции

  • Поддерживает все основные операции VPC Lattice CLI

  • Принимает аргументы команды как объекты JavaScript

  • Автоматически преобразует параметры camelCase в параметры kebab-case в стиле CLI

  • Обрабатывает логические флаги, массивы и комплексные значения

  • Поддерживает профили AWS и конфигурацию региона

  • Возвращает проанализированные ответы JSON

Доступные команды

  • Сервисная сеть: создать-сервисную-сеть, удалить-сервисную-сеть, получить-сервисную-сеть, составить список-сервисных-сетей, обновить-сервисную-сеть

  • Служба: создать-службу, удалить-службу, получить-службу, составить список-служб, обновить-службу

  • Прослушиватель: создание-прослушиватель, удаление-прослушиватель, получение-прослушиватель, список-прослушивателей, обновление-прослушиватель

  • Правило: создать-правило, удалить-правило, получить-правило, составить список-правил, обновить-правило

  • Целевая группа: создать-целевую-группу, удалить-целевую-группу, получить-целевую-группу, составить список-целевых-групп, обновить-целевую-группу

  • Управление целями: регистрация целей, отмена регистрации целей, список целей

  • Теги ресурса: список-тегов-для-ресурса, тег-ресурс, не тег-ресурс

Примеры

Список сетей обслуживания:

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. Контроллер API шлюза AWS для VPC Lattice (aws/aws-application-networking-k8s)

    • Запросы на поддержку функций

    • Отслеживание проблем

  3. API шлюза Kubernetes (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

Добавление новых источников

Чтобы добавить новые источники, измените массив sources в 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
];

Добавление новых подсказок

Чтобы добавить новые шаблоны подсказок, измените массив prompts в 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
];

Скрипты

  • 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