Deploying a Rust MCP Server to Amazon Lambda with Gemini…
    Neura MarketNeura Market/Stable Diffusion
    ChatGPTChatGPTClaudeClaudeGeminiGeminiCursorCursorGrokGrokPerplexityPerplexityStable DiffusionStable Diffusion
    DeepSeekDeepSeekCoPilotCoPilotMidjourneyMidjourney
    View All Directories
    OverviewPromptsBlogVideosGuidesCoursesCommunityModelsLoRAsComfyUI WorkflowsTrending
    Stable DiffusionBlogDeploying a Rust MCP Server to Amazon Lambda with Gemini CLI
    Back to Blog
    Deploying a Rust MCP Server to Amazon Lambda with Gemini CLI
    rust

    Deploying a Rust MCP Server to Amazon Lambda with Gemini CLI

    xbill May 14, 2026
    0 views

    The rmcp crate and standard Rust libraries are used to build a basic MCP Server in Rust. This MCP...


    tags: rust,aiagent,aws,awslambda Series: Rust

    The rmcp crate and standard Rust libraries are used to build a basic MCP Server in Rust. This MCP Server is then built and deployed to AWS Lambda and validated locally with Gemini CLI.

    Even More MCP Demos?

    MCP is the Sham-wow of the AI-Verse.

    Why not just use Python?

    Python has traditionally been the main coding language for ML and AI tools. One of the strengths of the MCP protocol is that the actual implementation details are independent of the development language. The reality is that not every project is coded in Python- and MCP allows you to use the latest AI appt roaches with other coding languages.

    What is this Tutorial Trying to Do?

    Building on previous tutorials, the goal is to extend a Rust MCP server with basic support for deployment to AWS.

    What is Rust?

    Rust is a high performance, memory safe, compiled language:

    Rust

    Rust provides memory safe operations beyond C/C++ and also can provide exceptional performance gains as it is compiled directly to native binaries.

    So is this the Real Deal (tm)?

    So what is different about this lab compared to all the others out there?

    This is one of the first deep dives into deploying a Rust based MCP server hosted on AWS. The Amazon Fargate service was targeted for ease of setup and deployment.

    Rust Setup

    Instructions to install Rust are available here:

    Getting started

    For a Linux like environment the command looks like this:

    curl — proto ‘=https’ — tlsv1.2 -sSf https://sh.rustup.rs | sh
    

    Rust also depends on a working C compiler and OpenSSL setup. For a Debian 12 system — install the basic tools for development:

    sudo apt install build-essential
    sudo apt install libssl-dev
    sudo apt install pkg-config
    sudo apt-get install libudev-dev
    sudo apt install make
    sudo apt install git
    

    Gemini CLI

    If not pre-installed you can download the Gemini CLI to interact with the source files and provide real-time assistance:

    npm install -g @google/gemini-cli
    

    Testing the Gemini CLI Environment

    Once you have all the tools and the correct Node.js version in place- you can test the startup of Gemini CLI. You will need to authenticate with a Key or your Google Account:

    ▝▜▄ Gemini CLI v0.33.1
        ▝▜▄
       ▗▟▀ Logged in with Google /auth
      ▝▀ Gemini Code Assist Standard /upgrade no sandbox (see /docs) /model Auto (Gemini 3) | 239.8 MB
    

    AWS CLI

    The AWS CLI provides a command line tool to directly access AWS services from your current environment. Full details on the CLI are available here:

    Install Docker, AWS CLI, and the Lightsail Control plugin for containers

    You can version check the tool after installation:

    xbill@penguin:~/gemini-cli-aws/mcp-lightsai-rust-aws$ aws --version
    aws-cli/2.34.43 Python/3.14.4 Linux/6.6.99-09128-g14e87a8a9b71 exe/x86_64.debian.12
    

    Amazon Lambda

    AWS Lambda is a serverless, event-driven compute service that enables users to run code without provisioning or managing servers. With Lambda, developers can focus solely on their code (functions), while AWS handles all underlying infrastructure management, including capacity provisioning, automatic scaling, and operating system maintenance.

    Full details are here:

    Serverless Computing Service - Free AWS Lambda - AWS

    Setup the Basic Environment

    At this point you should have a working Rust environment and a working Gemini CLI installation. All of the relevant code examples and documentation is available in GitHub.

    The next step is to clone the GitHub repository to your local environment:

    cd ~
    git clone https://github.com/xbill9/gemini-cli-aws
    

    Then run init.sh from the cloned directory.

    The script will attempt to determine your shell environment and set the correct variables:

    source init.sh
    

    If your session times out or you need to re-authenticate- you can run the set_env.sh script to reset your environment variables:

    source set_env.sh
    

    Variables like PROJECT_ID need to be setup for use in the various build scripts- so the set_env script can be used to reset the environment if you time-out.

    Refresh the AWS credentials:

    xbill@penguin:~/gemini-cli-aws/mcp-lambda-rust-aws$ aws login --remote
    Browser will not be automatically opened.
    
    xbill@penguin:~/gemini-cli-aws/mcp-lambda-rust-aws$ source save-aws-creds.sh 
    Exporting AWS credentials...
    Successfully saved credentials to .aws_creds
    The Makefile will now automatically use these for deployments.
    

    Finally install the packages and dependencies:

    ~/gemini-cli-aws/mcp-lambda-rust-aws
    

    Build The Rust MCP Server

    Some background information on building and configuring a Rust MCP server is here:

    Building a Secure HTTP Transport MCP Server with Rust, and Gemini CLI

    The mcp-lambda-rust-aws subdirectory has the complete Rust MCP server in one subdirectory.

    Minimal System Information Tool Build

    The first step is to build the basic tool directly with Rust. This allows the tool to be debugged and tested locally before adding the MCP layer.

    First build the tool locally:

    xbill@penguin:~/gemini-cli-aws/mcp-lambda-rust-aws$ make
    Building the Rust project...
        Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.33s
    xbill@penguin:~/gemini-cli-aws/mcp-lambda-rust-aws$ 
    

    then lint check the code:

    xbill@penguin:~/gemini-cli-aws/mcp-lambda-rust-aws$ make lint
    Linting code...
        Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.22s
    xbill@penguin:~/gemini-cli-aws/mcp-lambda-rust-aws$ 
    

    and run local tests:

    xbill@penguin:~/gemini-cli-aws/mcp-lambda-rust-aws$ make test
    Running tests...
        Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s
         Running unittests src/main.rs (target/debug/deps/mcp_ebs_rust_aws-0a683fe2cbff5a44)
    
    running 2 tests
    test tests::test_greeting ... ok
    test tests::test_greet ... ok
    
    test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    xbill@penguin:~/gemini-cli-aws/mcp-lambda-rust-aws$
    

    The last step is to build the production version:

    xbill@penguin:~/gemini-cli-aws/mcp-lambda-rust-aws$ make release
    Building Release...
        Finished `release` profile [optimized] target(s) in 0.24s
    xbill@penguin:~/gemini-cli-aws/mcp-lambda-rust-aws$ 
    

    The MCP server can be started locally:

    xbill@penguin:~/gemini-cli-aws/mcp-lambda-rust-aws$ make start
    Building Release...
        Finished `release` profile [optimized] target(s) in 0.07s
    Starting the MCP server...
    Server started with PID 17599
    

    The MCP tool can then be tested:

    /mcp list
    > mcp_local-rust_greeting local
    
    ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
    │ Action Required │
    │ │
    │ ? greeting (local-rust MCP Server) {"message":"local"} │
    │ │
    │ MCP Server: local-rust │
    │ Tool: greeting │
    │ │
    │ MCP Tool Details: │
    │ (press Ctrl+O to expand MCP tool details) │
    │ Allow execution of MCP tool "greeting" from server "local-rust"? │
    │ │
    │ 1. Allow once │
    │ 2. Allow tool for this session │
    │ 3. Allow all server tools for this session │
    │ ● 4. Allow tool for all future sessions ~/.gemini/policies/auto-saved.toml │
    │ 5. No, suggest changes (esc) │
    ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
    
    ✦ The mcp_local-rust_greeting tool was executed with the message "local", returning:
      "Hello World MCP! local"
    

    Deploy To AWS Lambda

    A basic Dockerfile is used to build an image for deployment:

    xbill@penguin:~/gemini-cli-aws/mcp-lambda-rust-aws$ make deploy
    Ensuring IAM role McpLambdaExecutionRole exists...
    Ensuring AWSLambdaBasicExecutionRole is attached...
    Checking if ECR repository exists...
    Logging in to Amazon ECR...
    

    Check the Status:

    xbill@penguin:~/gemini-cli-aws/mcp-lambda-rust-aws$ make status
    -------------------------------------------------------------------
    | GetFunction |
    +-------------------------------+-----------------------+---------+
    | LastModified | Name | Status |
    +-------------------------------+-----------------------+---------+
    | 2026-05-13T01:55:43.000+0000 | mcp-lambda-rust-aws | Active |
    +-------------------------------+-----------------------+---------+
    xbill@penguin:~/gemini-cli-aws/mcp-lambda-rust-aws$ 
    

    Get the Endpoint:

    xbill@penguin:~/gemini-cli-aws/mcp-lambda-rust-aws$ make endpoint
    https://vry3auzzqvt7jigvdpy4xnkryq0fukjw.lambda-url.us-east-1.on.aws/
    

    Check Gemini MCP settings:

    {
      "mcpServers": {
        "aws-lambda-rust": {
          "httpUrl": "https://vry3auzzqvt7jigvdpy4xnkryq0fukjw.lambda-url.us-east-1.on.aws/mcp"
        },
        "local-rust": {
          "httpUrl": "http://127.0.0.1:8080/mcp"
        }
      }
    }
    

    The service will be visible on the AWS console:

    Final Test

    Start up Gemini CLI and check the MCP server status:

    🟢 aws-lambda-rust - Ready (1 tool)
      Tools:
      - mcp_aws-lambda-rust_greeting
    
                                                                                                                                                         
     > mcp_aws-lambda-rust_greeting Hello Lambda!
    
    ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
    │ ✓ greeting (aws-lambda-rust MCP Server) {"message":"Hello Lambda!"} │
    │ │
    │ Hello World MCP! Hello Lambda! │
    ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
    
    ✦ Hello World MCP! Hello Lambda!
    
    

    Summary

    A complete HTTP transport MCP server was built using Rust. This application was tested locally with Gemini CLI. Then, the entire solution was deployed to AWS Lambda. The remote MCP server was validated with Gemini CLI locally.

    Tags

    rustagentsawsawslambda

    Comments

    More Blog

    View all
    Context bankruptcy: The case for strategic forgetting for AI Agentsai

    Context bankruptcy: The case for strategic forgetting for AI Agents

    Most of us have seen a coding agent fail to complete a task we know it can do. We just don't...

    J
    James O'Reilly
    Parallel Compliance Engine: Drive-to-Sheets Multi-Agent Orchestrationgooglecloud

    Parallel Compliance Engine: Drive-to-Sheets Multi-Agent Orchestration

    When building Generative AI applications, developers often encounter a massive bottleneck: sequential...

    A
    Aryan Irani
    Is It Ethical to Post and Ask About Circuits on Dev.to?discuss

    Is It Ethical to Post and Ask About Circuits on Dev.to?

    I’ve been thinking about sharing some electronic circuit posts on Dev.to — small circuits, DIY...

    C
    codebunny20
    The One-Click Exporter: AI Studio Antigravity, Probed to Its Limitsagents

    The One-Click Exporter: AI Studio Antigravity, Probed to Its Limits

    What nobody tells you about exporting your multi-agent prototype to a local workspace. Every...

    L
    leslysandra
    Guarding the till while autonomous data agents do the diggingagenticarchitect

    Guarding the till while autonomous data agents do the digging

    Autonomous agents are genuinely good at answering messy business questions. Give one an LLM and a set...

    S
    Sireesha Pulipati
    Return on Attention: Why AI Code Reviews Are Wearing Us Outai

    Return on Attention: Why AI Code Reviews Are Wearing Us Out

    PR volume went up, ticket quality didn't, and the gap got filled with LLMs on both sides of the review: bots reviewing, bots replying, bots occasionally arguing with bots about priorities that only existed in a teammate's head. Our CEO named the actual problem, and it's bigger than code review.

    C
    christine

    Stay up to date

    Get the latest Stable Diffusion prompts, rules, and resources delivered to your inbox weekly.

    Neura Market LogoNeura Market

    Discover the best AI prompts, plugins, and resources for Stable Diffusion and more.

    Content Types

    • Rules
    • Prompts
    • MCPs
    • Agents
    • Guides

    Platforms

    • ChatGPT Directory
    • Claude Directory
    • Gemini Directory
    • Cursor Directory
    • Grok Directory
    • Perplexity Directory
    • DeepSeek Directory
    • CoPilot Directory
    • Stable Diffusion Directory
    • Midjourney Directory
    • All Directories

    Resources

    • Blog
    • Documentation
    • Help Center
    • Marketplace

    Legal

    • Privacy Policy
    • Terms of Service

    © 2026 Neura Market. All rights reserved.

    |

    Not affiliated with any AI platform vendors.

    Ready-made automations for this

    Workflows from the Neura Market marketplace related to this Stable Diffusion resource

    • Send Standardized Gmail Alert Emails with Custom Subjectn8n · $4.99 · Related topic
    • Env Paths: Get Standard App Data, Config & Cache Pathsn8n · $4.99 · Related topic
    • Document Q&A Chatbot with Gemini AI and Supabase Vector Search for Telegramn8n · Free · Related topic
    • Build AI Agents with Think-Plan-Act Architecture Using Llama-4 Reasoningn8n · Free · Related topic
    Browse all workflows