Skip to content
Conduit

mcp server

aws-mcp-gateway

A lightweight gateway that exposes lambdas as MCP tools, enabling seamless integration of AWS APIs into MCP-compatible agents and workflows.

bwalheim1205/aws-mcp-gatewaycommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 23, 2026

AWS MCP Gateway

Docker Version

aws-mcp-gateway is a lightweight Go gateway that exposes AWS Lambda functions as MCP-compatible tools, inspired by the API Gateway Lambda proxy. It lets developers focus on defining their Lambda functions as tools, which can be discovered, listed, and invoked programmatically via MCP, with input/output mapping handled automatically. Allows developers to focus on the fun part - the tools!

Features

  • MCP SSE Server: Tools are served over SSE for real-time interaction.
  • Configuration Driven: Define tool input schema, name, description, and target Lambda in config.
  • IAM Authentication: System uses standard IAM Authentication process. Will use IAM role or environemnt variables to authenticate to lambda

Prerequisites

  • Go 1.21 or higher
  • Git

Installation

Clone Repository

First clone down the repository then follow instructions for either Go executable or docker build

git clone https://github.com/bwalheim1205/aws-mcp-gateway.git
cd aws-mcp-gateway

Go

go build -o aws-mcp-gateway ./cmd/mcp-server

Docker

docker build . -t aws-mcp-gateway

Configuration

The aws-mcp-gateway uses a YAML configuration file to define the Lambda functions you want to expose as MCP tools. Each tool includes metadata, the Lambda ARN, and an optional input schema to describe its parameters.

Example Configuration

name: LambdaMCPGateway
version: v1.0.0
port: 8080
endpoint: /mcp

tools:
  - name: getWeather
    description: Gets the weather for a specific city
    lambdaArn: arn:aws:lambda:us-east-1:123456789012:function:getWeather
    inputSchema:
      type: object
      properties:
        city:
          type: string
          description: City for which to get the weather
      required: ["city"]

Fields

  • server: Server configuration

    • name: Name of the MCP server broadcasted. Defaults to LambdaMCPGateway
    • version: Version of the MCP server it will broadcast. Defaults to v1.0.0
    • mode: The type of endpoint to run (sse, stream). Defaults to stream
    • endpoint: The request path to host mcp server at. Defaults to /mcp
    • port: The port MCP server is hosted at. Defaults to 8080
  • tools: A list of Lambda functions to expose as MCP tools.

    • name: Unique name for tool as it will appear in MCP.
    • description: Short description of the tool’s functionality.
    • lambdaArn: The ARN of the Lambda function to invoke.
    • inputSchema: JSON Schema describing the tool’s input parameters. This allows MCP clients to validate input and provide better tooling for users.

Usage

Once you've completed either build you can run the aws-mcp-gatewat using executable or docker image. The MCP server will then be available at http://localhost:8080/mcp

Go

./aws-mcp-gateway -f /path/to/tools.yaml

Docker

docker run -v /path/to/tools.yaml:/app/tools.yaml -p 8080:8080 aws-mcp-gateway

Roadmap

If there's something you'd like to see implemented we'd love to her from you just open an issue. Here are some of the functionality next on the horizon:

  • Lambda Auto Discovery: Coming up with potential tagging approach
  • Assume Role: Allow configuration to AssumeRole for cross-account Lambda access or temporary elevated permissions, making the gateway more flexible and secure for multi-account setups
↑↓ navigate openesc close