Deploying a Rust MCP Server to Amazon EKS — DeepSeek Tips &…
    Neura MarketNeura Market/DeepSeek
    ChatGPTChatGPTClaudeClaudeGeminiGeminiCursorCursorGrokGrokPerplexityPerplexityDeepSeekDeepSeek
    CoPilotCoPilotStable DiffusionStable DiffusionMidjourneyMidjourney
    View All Directories
    OverviewRulesPromptsMCPsAgentsGamesBlogVideosGuidesCoursesCommunityTrending
    DeepSeekBlogDeploying a Rust MCP Server to Amazon EKS
    Back to Blog
    Deploying a Rust MCP Server to Amazon EKS
    awseks

    Deploying a Rust MCP Server to Amazon EKS

    xbill May 13, 2026
    0 views

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


    published: true series: Rust

    tags: awseks,aws,mcps,aiagent


    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 EKS and validated locally with Gemini CLI.

    Even More MCP Demos?

    It is not the USB for AI for nothing!

    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 EKS

    Amazon Elastic Kubernetes Service (EKS) is a fully managed service from Amazon Web Services (AWS) that makes it easy to run Kubernetes on AWS without needing to install, operate, or maintain your own Kubernetes control plane. It automates cluster management, security, and scaling, supporting applications on both Amazon EC2 and AWS Fargate.

    More information is available here:

    What is Amazon EKS?

    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-eks-rust-aws$ aws login --remote
    Browser will not be automatically opened.
    
    xbill@penguin:~/gemini-cli-aws/mcp-eks-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-eks-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-eks-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-eks-rust-aws$ make
    Building the Rust project...
        Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.24s
    xbill@penguin:~/gemini-cli-aws/mcp-eks-rust-aws$ 
    

    then lint check the code:

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

    and run local tests:

    xbill@penguin:~/gemini-cli-aws/mcp-eks-rust-aws$ make test
    Running tests...
       Compiling mcp-eks-rust-aws v1.0.0 (/home/xbill/gemini-cli-aws/mcp-eks-rust-aws)
        Finished `test` profile [unoptimized + debuginfo] target(s) in 1.71s
         Running unittests src/main.rs (target/debug/deps/mcp_eks_rust_aws-630a8b7fdf42ed2e)
    
    running 1 test
    test tests::test_greeting ... ok
    
    test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    xbill@penguin:~/gemini-cli-aws/mcp-eks-rust-aws$ 
    

    The last step is to build the production version:

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

    The MCP server can be started locally:

    xbill@penguin:~/gemini-cli-aws/mcp-eks-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 EKS

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

    xbill@penguin:~/gemini-cli-aws/mcp-eks-rust-aws$ make deploy
    Updating kubeconfig for cluster mcp-eks-cluster...
    Updated context arn:aws:eks:us-east-1:106059658660:cluster/mcp-eks-cluster in /home/xbill/.kube/config
    Logging in to Amazon ECR...
                                                                       0.0s
    

    Get the Endpoint:

    xbill@penguin:~/gemini-cli-aws/mcp-eks-rust-aws$ make endpoint
    Fetching EKS LoadBalancer endpoint...
    aadf6b26ff7dc4c848e44c93dff53238-2077272563.us-east-1.elb.amazonaws.com
    

    Check Gemini MCP settings:

    {
      "mcpServers": {
        "mcp-eks-rust-aws": {
          "httpUrl": "http://aadf6b26ff7dc4c848e44c93dff53238-2077272563.us-east-1.elb.amazonaws.com/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:

    /mcp list  
    
    🟢 mcp-eks-rust-aws - Ready (1 tool)
      Tools:
      - mcp_mcp-eks-rust-aws_greeting
                                                                                                                                                   
     > mcp_mcp-eks-rust-aws_greeting hello EKS!
    
    ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
    │ ✓ greeting (mcp-eks-rust-aws MCP Server) {"message":"hello EKS!"} │
    │ │
    │ Hello World MCP! hello EKS! │
    ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
    
    ✦ OK. The greeting tool returned: "Hello World MCP! hello EKS!"                                                                                                                                      
    

    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 EKS. The remote MCP server was validated with Gemini CLI locally.

    Tags

    awseksawsmcpsagents

    Comments

    More Blog

    View all
    Five Gemma-4 models, one accelerator: what porting E2B 31B to AWS Inferentia2 taught megemma

    Five Gemma-4 models, one accelerator: what porting E2B 31B to AWS Inferentia2 taught me

    I ported the whole Gemma-4 family — E2B, E4B, 12B, 31B, and the 26B-A4B MoE — to run on...

    X
    xbill
    Hey DEV, I'm Tobore. Let's actually connect.community

    Hey DEV, I'm Tobore. Let's actually connect.

    Hey DEV, I'm Tobore. Let's actually connect. I've been on here for a while now, mostly writing and...

    L
    Laurina Ayarah
    I burned through thousands of AI tokens. Then a friend did it for freeai

    I burned through thousands of AI tokens. Then a friend did it for free

    (yep, kinda clickbait, just for the funsies 😊) At the beginning of the year, I relaunched my...

    P
    Paulo Henrique
    Claude might be saturating your machineai

    Claude might be saturating your machine

    My laptop was sitting idle with the fan at full tilt. Nothing was running that I knew of. The culprit...

    S
    Sidhant Panda
    Automated GitHub Code Reviews Using Google Geminigithubactions

    Automated GitHub Code Reviews Using Google Gemini

    I Built a Thing! TL;DR — Google Gemini-based Pull Request reviews and Issue Triaging for...

    D
    Darren "Dazbo" Lester
    What is an "agentic harness," actually?ai

    What is an "agentic harness," actually?

    I've been hearing the word "harness" thrown around a lot lately. I assumed it just meant "the IDE" or...

    T
    Tilde A. Thurium

    Stay up to date

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

    Neura Market LogoNeura Market

    Discover the best AI prompts, plugins, and resources for DeepSeek 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.

    Neura Market

    Custom AI Systems & Services

    Our team of experienced AI builders will help build custom AI systems, workflows, and solutions for your business.

    Request custom work

    Ready-made automations for this

    Workflows from the Neura Market marketplace related to this DeepSeek resource

    • Automate Blog Content Creation with Notion MCP, DeepSeek AI, and WordPressn8n · $9.99 · Related topic
    • Generate AI Videos from Scripts with DeepSeek, Synthesia, and Together.ain8n · $24.99 · Related topic
    • Compare Multi-Period Financial Data from Google Sheets with DeepSeek AI Analysisn8n · $14.99 · Related topic
    • PostgreSQL Conversational Agent with Claude & DeepSeek (Multi-KPI, Secure)n8n · $14.99 · Related topic
    Browse all workflows