Skip to main content

mcp-cloud

PyPI version License: MIT

Model Context Protocol Server for Public Cloud environments like AWS, Azure, and more. mcp-cloud is a Python MCP server that:

  • Connects to public cloud services to access resources like S3 Buckets and Azure Blobs
  • Provides tools for performing CRUD operations on cloud resources
  • Enables AI models to interact with cloud infrastructure securely

Installation

You can install mcp-cloud using pip:

pip install mcp-cloud

Or install from source:

git clone https://github.com/yourusername/mcp_multi_cloud.git
cd mcp-cloud
pip install -e .

Quick Start

  1. Set up your environment variables (see Configuration section below)

  2. Start the MCP server:

    python -m mcp_cloud.main
    

    or using uv:

    uv run --with mcp mcp run main.py
    
  3. The server will start on http://localhost:7008 by default

Configuration

Environment Variables

Create a .env file in your project root with your cloud credentials:

CLOUD_PROVIDER=aws  # or azure, google
CLOUD_ACCESS_KEY=your_access_key
CLOUD_SECRET_KEY=your_secret_key
CLOUD_REGION=us-east-1  # or your preferred region

You can use the provided setup script to configure your environment:

python set_env.py

Loading Environment Variables

Unix/Linux/MacOS

source .env

Windows

PowerShell:

Get-Content .env | ForEach-Object {
    if ($_ -match '^([^=]+)=(.*)$') {
        $name = $matches[1]
        $value = $matches[2]
        Set-Item -Path "Env:$name" -Value $value
    }
}

Usage

Basic Usage

  1. Start the MCP server:

    python -m mcp_cloud.main
    
  2. Verify the server is running:

    mcp inspect info --url http://localhost:7008
    

Integration with Claude Desktop

Add the following configuration to your Claude Desktop settings:

{
  "mcpServers": {
    "mcp-cloud": {
      "command": "path/to/uv",
      "args": [
        "--directory",
        "path/to/mcp_multi_cloud/src",
        "run",
        "--with",
        "mcp",
        "mcp",
        "run",
        "main.py"
      ],
      "env": {
        "CLOUD_PROVIDER": "aws",
        "CLOUD_ACCESS_KEY": "your_access_key",
        "CLOUD_SECRET_KEY": "your_secret_key",
        "CLOUD_REGION": "us-east-1"
      }
    }
  }
}

Available Features

Cloud Storage Operations

  • List buckets/containers
  • Create/delete buckets/containers
  • Upload files
  • Download files
  • List files in a bucket/container
  • Delete files

Coming Soon

  • Cloud Compute operations
  • Additional cloud providers
  • Enhanced security features

Testing

Running Tests

  1. Unit Tests:

    python -m unittest test_mcp_server.py
    
  2. Integration Tests:

    # Terminal 1: Start the server
    python -m mcp_cloud.main
    
    # Terminal 2: Run integration tests
    mcp inspect test --url http://localhost:7008
    

For detailed testing instructions, see TESTING.md.

Security Considerations

  1. Never commit your .env file or expose your cloud credentials
  2. Use IAM roles and minimal permissions when possible
  3. Regularly rotate your access keys
  4. Monitor your cloud resources for unexpected usage

Troubleshooting

Common Issues

  1. Connection refused:

    • Ensure the server is running
    • Check if the port 7008 is available
    • Verify firewall settings
  2. Authentication failures:

    • Verify your cloud credentials are correct
    • Ensure environment variables are properly set
    • Check if your access keys are active
  3. Permission denied:

    • Verify IAM roles and permissions
    • Check resource-specific access policies

Getting Help

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

This project is licensed under the MIT License - see the LICENSE file for details.

mcp-cloud

Model Context Protocol Server for Public Cloud mcp-cloud is designed to run a MCP Server for Public Cloud like AWS, Azure etc.

Mode Context Protocol

MCP Protocol for GenAI agents has been created by Anthropic. MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. MCP provides a standardized way to connect AI models to different data sources and tools. Refer Anthopic's MCP Protocol Introduction. Refer to the MCP Quickstart Guide for Users to learn how to use MCP

Concepts

MCP servers can provide three main types of capabilities: Resources: File-like data that can be read by clients (like API responses or file contents) Tools: Functions that can be called by the LLM (with user approval) Prompts: Pre-written templates that help users accomplish specific tasks

Initial version of MCP Server will focus on resources available of Public Clouds e.g S3 Buckets, Azure for now.

MCP Primitives The MCP protocol defines three core primitives that servers can implement:

Primitive Control Description Example Use Prompts User-controlled Interactive templates invoked by user choice Slash commands, menu options Resources Application-controlled Contextual data managed by the client application File contents, API responses Tools Model-controlled Functions exposed to the LLM to take actions API calls, data updates

Running MCP Server

python src/main.py

or

uv run --with mcp mcp run main.py

Using mcp commands & mcp inspector

mcp install main.py 
mcp dev main.py

Features

0.1 [x] Cloud Storage [ ] Cloud Compute .. Coming Soon ..

Steps to Install

TODO: Update

Steps to Use

TODO:

Environment Setup

To set up your cloud storage credentials, you can use the provided environment setup script:

python src/set_env.py

This will:

  1. Prompt you for your cloud provider credentials
  2. Create a .env file with your settings
  3. Verify that the environment variables are set correctly

The script will ask for:

  • Cloud Provider (aws/azure/google)
  • Access Key
  • Secret Key
  • Region (defaults to us-east-1)

Alternatively, you can manually create a .env file with the following variables:

CLOUD_PROVIDER=your_provider
CLOUD_ACCESS_KEY=your_access_key
CLOUD_SECRET_KEY=your_secret_key
CLOUD_REGION=your_region

Loading Environment Variables in System

Unix/Linux/MacOS

Using source command:

source .env

Or using export command:

export $(cat .env | xargs)

Windows

Command Prompt:

for /f "tokens=*" %a in (.env) do set %a

PowerShell:

Get-Content .env | ForEach-Object {
    if ($_ -match '^([^=]+)=(.*)$') {
        $name = $matches[1]
        $value = $matches[2]
        Set-Item -Path "Env:$name" -Value $value
    }
}

Verifying Environment Variables

  • Unix/Linux/MacOS: printenv | grep CLOUD_
  • Windows: set | findstr CLOUD_

Important Notes

  1. The .env file should be in your project root directory
  2. Each variable should be on a new line
  3. No spaces around the = sign
  4. No quotes around values unless they're part of the value

Example .env file format:

CLOUD_PROVIDER=aws
CLOUD_ACCESS_KEY=your_access_key
CLOUD_SECRET_KEY=your_secret_key
CLOUD_REGION=us-east-1

Testing

The MCP Cloud Server includes comprehensive testing options to ensure everything is working correctly.

Quick Start Testing

# Run unit tests
python src/test_mcp_server.py

# Test with MCP Inspect
python src/main.py  # In one terminal
mcp-inspect info --url http://localhost:7008  # In another terminal

For detailed testing instructions, including how to test with Claude Desktop, see TESTING.md.

Testing with Claude Desktop

{
  "mcpServers": {
    "mcp-cloud": {
      "command": "<path to uv>/uv", 
      "args": [
        "--directory",
        "<path_to_mcp_cloud>e/mcp_multi_cloud/src",
        "run",
        "--with",
        "mcp",
        "mcp",
        "run",
        "main.py"
      ],
      "env": {
        "CLOUD_PROVIDER": "aws",
        "CLOUD_ACCESS_KEY": "*******",
        "CLOUD_SECRET_KEY": "*******",
        "CLOUD_REGION": "us-east-1"
      }
    }
  }
}

Metadata

Release files for mcp_multi_cloud 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp_multi_cloud 0.1.0
File Size Uploaded Provenance
mcp_multi_cloud-0.1.0.tar.gz 7.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp_multi_cloud 0.1.0
File Interpreter ABI Platform
mcp_multi_cloud-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.9 kB

Release files / mcp_multi_cloud-0.1.0.tar.gz

Download URL mcp_multi_cloud-0.1.0.tar.gz
Size 7.8 kB
Tags Source
SHA-256 checksum
How to use checksums
52b94e84665ce8f0b53a640986602d6525be655c10ba9a195491984260da6ee0
BLAKE2b-256 checksum
How to use checksums
0277f1190b6812c84d1938d528085a473eea87fb45c05598423942a98c535101
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.14

Release files / mcp_multi_cloud-0.1.0-py3-none-any.whl

Download URL mcp_multi_cloud-0.1.0-py3-none-any.whl
Size 8.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cdd7db7307040e2b7ca32aa2de5b62e0fa0250a8a871d5c5047436c6ea592d65
BLAKE2b-256 checksum
How to use checksums
07f9bd9d460000f58d77f6714225ef622ad9362175f73e34b9b27c75c707842e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.14

Security for mcp_multi_cloud 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page