Skip to main content
Glama
rlymbur

Amazon VPC Lattice MCP Server

by rlymbur

get_amazon_vpc_lattice_prompts

Retrieve specific prompt template details to access AWS VPC Lattice information and manage networking documentation efficiently.

Instructions

Get details of a specific prompt template

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
prompt_nameYesName of the prompt template to get

Implementation Reference

  • Executes the tool by finding the prompt by name from the imported prompts array and returning its JSON representation, or throws InvalidParams if not found.
    case 'get_amazon_vpc_lattice_prompts': {
      const { prompt_name } = request.params.arguments as { prompt_name: string };
      const prompt = prompts.find(p => p.name === prompt_name);
      
      if (!prompt) {
        throw new McpError(
          ErrorCode.InvalidParams,
          `Prompt template not found: ${prompt_name}`
        );
      }
    
      return {
        content: [
          {
            type: 'text',
            text: JSON.stringify(prompt, null, 2)
          }
        ]
      };
    }
  • src/tools.ts:49-63 (registration)
    Registration of the 'get_amazon_vpc_lattice_prompts' tool in the exported tools array, including name, description, and input schema. This array is used by the MCP server to list available tools.
    {
      name: 'get_amazon_vpc_lattice_prompts',
      description: 'Get details of a specific prompt template',
      inputSchema: {
        type: 'object',
        properties: {
          prompt_name: {
            type: 'string',
            description: 'Name of the prompt template to get'
          }
        },
        required: ['prompt_name'],
        additionalProperties: false
      },
    },
  • Input schema defining the required 'prompt_name' string parameter for the tool.
    inputSchema: {
      type: 'object',
      properties: {
        prompt_name: {
          type: 'string',
          description: 'Name of the prompt template to get'
        }
      },
      required: ['prompt_name'],
      additionalProperties: false
    },
  • Supporting data: Array of prompt objects that the handler searches to retrieve the specific prompt.
    export const prompts = [
      {
        name: 'create_github_pr',
        description: 'Create a GitHub pull request from current branch to main',
        template:
            '1. Get the current branch name using "git rev-parse --abbrev-ref HEAD"\n' +
            '2. Push the current branch to remote using "git push -u origin $(git rev-parse --abbrev-ref HEAD)"\n' +
            '3. Use the GitHub MCP server to create a pull request from the current branch to main branch on aws/aws-application-networking-k8s',
        parameters: []
      },
      {
        name: 'setup_eks_controller',
        description: 'Guide for setting up the AWS Application Networking Controller for Kubernetes',
        template: 'Run "make setup" and assist with any resulting errors.',
        parameters: ['cluster_name', 'region', 'k8s_version']
      },
      {
        name: 'run_eks_controller_tests',
        description: 'Run tests for the AWS Application Networking Controller',
        template:
            'Request a test_type from the user. Based on the test_type perform the following tasks. If test_type is unit, ' +
            'run "make test" in the current directory and summarize the results. If test_type is integration, complete the ' +
            'following steps:/n' +
            '1. Kill any processes running in the current terminal and then run "make run".\n' +
            '2. Open a new terminal window and run "make e2e-clean && export FOCUS=$test_focus && export SECONDARY_ACCOUNT_TEST_ROLE_ARN=$secondary_account && make e2e-test" and summarize the results.\n' +
            '3. Return to the original terminal and kill any running processes. If the test_type is not provided, run the steps described for a unit test type first, then the steps described for the integration test type.',
        parameters: ['test_type', 'test_focus', 'secondary_account']
      },
      {
        name: 'eks_controller_issue_solution',
        description: 'Create a solution for an AWS Application Networking Controller GitHub issue',
        template:
            'Create a solution for an AWS Application Networking Controller GitHub issue with the following steps:\n' +
            '1. Request an issue_number from the user. Use the GitHub get_issue tool to understand the issue.\n' +
            '2. Provide a summary of the proposed code changes. Ask the user if they would like to proceed. If they have not chosen to proceed, stop here.\n' +
            '3. Create a new branch locally by running "git checkout -b $branch_name" with an appropriate branch name.\n' +
            '4. Proceed with the code changes using best practices. Ask the user for clarification if required.\n' +
            '5. Ask the user if they would like to create unit tests based on the diff of changes. Append these tests to the existing test file if applicable.\n' +
            '6. Before commiting changes to the local branch, run "source ~/.bashrc && make presubmit" to confirm unit tests pass.',
        parameters: ['issue_number']
      },
      {
        name: 'review_github_pr',
        description: 'Perform a comprehensive code review of a GitHub pull request',
        template:
            'Perform a code review for: {pr_url} by providing specific recommendations for improvements in each of the following areas:\n' +
            '1. Code Quality (Clean and maintainable code, Follows project conventions, No code smells or anti-patterns, Proper error handling, Performance considerations)\n' +
            '2. Testing (Adequate test coverage, Test cases cover edge cases, Integration test considerations, Test documentation)\n' +
            '3. Security (No security vulnerabilities, Secure coding practices, Proper input validation, Authentication/authorization checks)\n' +
            '4. Documentation (Clear inline comments, Updated README/docs, API documentation if applicable, Architecture changes documented)\n' +
            '5. Design (Follows SOLID principles, Appropriate abstractions, Interface consistency, Scalability considerations)\n' +
            '6. Dependencies (Proper version management, No conflicting dependencies, Security of dependencies)',
        parameters: ['pr_url']
      },
      {
        name: 'generate_docs',
        description: 'Generate documentation for code or APIs',
        template: 'Generate documentation for: {code}\n\nInclude:\n- Overview\n- Parameters\n- Return values\n- Example usage',
        parameters: ['code']
      },
      {
        name: 'review_security',
        description: 'Review code or architecture for security concerns',
        template: 'Perform a security review of the code base. Check for vulnerabilities, best practices, and compliance issues',
        parameters: ['target']
      }
    ];
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.

Install Server

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rlymbur/amazon-vpc-lattice-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server