MCP2Lambda

MCP server that exposes AWS Lambda functions as model tools with no code changes: the agent finds them by prefix and calls them.

  • 110 ★ on the repository
  • Last commit
  • MIT
MCP server

Broad access

Why this level

  • The agent invokes Lambda functions with AWS credentials, and function code determines the side effects.
  • The `RunPythonCode` sample runs arbitrary code, and the function role sets its permissions.
All reasons and checks

danilop/mcp2lambda

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/mcp2lambda

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The agent invokes Lambda functions with AWS credentials, and function code determines the side effects.
  • The `RunPythonCode` sample runs arbitrary code, and the function role sets its permissions.

This is third-party code. Review the repository files before installing.

What it does

MCP2Lambda is a bridge between an MCP client and AWS Lambda functions. The agent reaches private resources such as internal applications and VPC databases without any public network exposure. By default only functions whose names start with `mcp2lambda-` are available. In pre-discovery mode (`PRE_DISCOVERY`, on by default) each function is registered as its own tool. In generic mode two tools work: `list_lambda_functions` and `invoke_lambda_function`. A function description should state what it does and which parameters it takes. The repository ships three samples: `CustomerIdFromEmail`, `CustomerInfoFromId` and `RunPythonCode`.

Who it is for. AWS developers whose business logic already lives in Lambda and has to reach an agent without a separate server.

Good fit when

  • The agent requests customer data from a private database through an existing function.
  • An internal VPC application has to be called from chat without a public address.
  • A calculation runs in the Lambda sandbox instead of the user machine.
  • Client access is limited to invoking functions, without rights to other AWS services.

Not a fit when

  • There is no AWS account or configured credentials.
  • Functions make irreversible changes and nobody confirms the calls.
  • One ready external API is needed and a dedicated MCP server is simpler.

Example request

List Lambda functions with the `mcp2lambda-` prefix and get the status of the customer with the email user@example.com.

MCP

Transport
stdio
Authentication
API key

Environment variables

PRE_DISCOVERY
true or false: register each function as its own tool.

Limitations

Python 3.12 or newer and AWS credentials allowed to invoke functions are required. The model calls functions on its own, and function roles decide which services and networks a call touches; the `RunPythonCode` sample runs arbitrary code. There is no package-manager install and the repository is cloned by hand. Last commit in October 2026. Call cost, run time and Lambda limits are set by your AWS account, and it helps to give the client rights to invoke only the needed functions.

How to disable. Remove the `mcp2lambda` entry from the client config and stop the `main.py` process. Remove the sample functions with the SAM CLI and revoke invoke permissions in IAM.

FAQ

Which functions does the agent see?

Only those whose names start with `mcp2lambda-`. An allowed name list or a prefix is set in configuration.

How do I switch the tool registration mode?

Use `PRE_DISCOVERY=false` or the `--no-pre-discovery` flag. Two generic tools then replace one tool per function.

How do I deploy the samples?

Install the SAM CLI, go to `sample_functions` and run `sam build`, then `sam deploy`. The functions receive the `mcp2lambda-` prefix.

Does it work with Amazon Bedrock?

Yes. The `mcp_client_bedrock` directory holds a Converse API client that connects MCP2Lambda to Bedrock models.

Which sample functions are included?

`CustomerIdFromEmail` and `CustomerInfoFromId` return customer data, and `RunPythonCode` runs Python code in the Lambda sandbox. The samples have modest permissions and write only to CloudWatch logs.

Discussion

No questions or reviews yet.

Official

AWS's official MCP server suite: docs, IaC, containers, serverless, databases, cost and monitoring

MCP serverBroad access9.9KRepository stars
Official

A local bridge from an MCP client to IAM-protected MCP servers on AWS: it signs requests with SigV4 using your AWS credentials

MCP serverBroad access371Repository stars
Editors’ pick

AWS's official set of MCP servers, skills and plugins so an agent can build, deploy and operate on AWS

PluginBroad access3.5KRepository stars
Official

An agent searches AWS CloudWatch logs, summarizes activity and correlates events across services.

MCP serverExtended access171Repository stars
Official

An MCP server and CLI from AWS that builds baseline IAM policies from application code or a Terraform plan and resolves AccessDenied errors

MCP serverExtended access504Repository stars
Official

Official Cloudflare MCP server: the agent drives the whole Cloudflare API by searching the spec and running code

MCP serverBroad access1.1KRepository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
MCP2Lambda (this card)noAPI key110
MCP Proxy for AWSyeskey is optional371signs requests to remote AWS MCP servers; MCP2Lambda runs your own Lambda functions as tools
Open source MCP servers for AWSyeskey is optional9,913a set of servers for individual AWS services; MCP2Lambda hands the agent your own code in Lambda

README in short

The agent gets only function invocation, while access to other AWS services stays with the roles of the functions themselves.

README badge

Report a problem