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
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.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/mcp2lambdaDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad 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.
Related
MCP serversAWS's official MCP server suite: docs, IaC, containers, serverless, databases, cost and monitoring
A local bridge from an MCP client to IAM-protected MCP servers on AWS: it signs requests with SigV4 using your AWS credentials
AWS's official set of MCP servers, skills and plugins so an agent can build, deploy and operate on AWS
An agent searches AWS CloudWatch logs, summarizes activity and correlates events across services.
An MCP server and CLI from AWS that builds baseline IAM policies from application code or a Terraform plan and resolves AccessDenied errors
Official Cloudflare MCP server: the agent drives the whole Cloudflare API by searching the spec and running code
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| MCP2Lambda (this card) | no | API key | 110 | |
| MCP Proxy for AWS | yes | key is optional | 371 | signs requests to remote AWS MCP servers; MCP2Lambda runs your own Lambda functions as tools |
| Open source MCP servers for AWS | yes | key is optional | 9,913 | a 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.