Skip to main content

MCP server for Base2 open-source AWS tools — documentation, guidance, and CLI execution

Project description

base2-mcp

MCP server for Base2 open-source AWS tools — documentation, guidance, and CLI execution.

Supported Tools

Tool Description Install
cfhighlander CloudFormation DSL and component library gem install cfhighlander
shelvery Automated AWS backups (EBS, RDS, EC2, Redshift, DocumentDB) pip install shelvery
cfn-guardian CloudWatch alarm management via CloudFormation gem install cfn-guardian
monitorable CloudWatch alarm coverage auditing Clone repo
cfn-vpn AWS Client VPN management via CloudFormation gem install cfn-vpn
bastion-cli Temporary bastion EC2 instances via Session Manager GitHub releases

Quick Start

Cursor IDE (Recommended)

Add to your .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "base2": {
      "command": "uvx",
      "args": ["--upgrade", "base2-mcp"]
    }
  }
}

No manual install needed — uvx fetches the package from PyPI automatically and --upgrade ensures you always get the latest version on server restart.

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "base2": {
      "command": "uvx",
      "args": ["--upgrade", "base2-mcp"]
    }
  }
}

Alternative: pin to a specific version

If you need a stable version that won't change unexpectedly:

{
  "mcpServers": {
    "base2": {
      "command": "uvx",
      "args": ["base2-mcp==0.1.0"]
    }
  }
}

Prerequisite: uv

uvx is part of uv, a fast Python package manager. Install it with:

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# Or via pip
pip install uv

What It Does

This MCP server gives AI agents two capabilities for each tool:

  1. Documentation — Embedded docs with CLI usage, configuration, examples, and best practices. The agent can read these to understand any tool without you explaining it.

  2. CLI Execution — Wrapper tools that run the actual CLI commands (cfhighlander cfcompile, shelvery ebs create_backups, bastion launch, etc.) and return structured output.

Available MCP Tools

Discovery:

  • list_base2_tools — Overview of all 6 tools
  • get_tool_docs — Detailed documentation for a specific tool

cfhighlander:

  • cfhighlander_docs / cfhighlander_compile / cfhighlander_publish / cfhighlander_test / cfhighlander_validate

shelvery:

  • shelvery_docs / shelvery_create_backups / shelvery_clean_backups / shelvery_pull_shared_backups

cfn-guardian:

  • guardian_docs / guardian_compile / guardian_deploy / guardian_show_alarms / guardian_show_resources

monitorable:

  • monitorable_docs / monitorable_audit

cfn-vpn:

  • cfn_vpn_docs / cfn_vpn_init / cfn_vpn_modify / cfn_vpn_routes / cfn_vpn_sessions

bastion-cli:

  • bastion_docs / bastion_launch / bastion_connect / bastion_terminate / bastion_port_forward

Prerequisites

The MCP server itself only needs Python 3.11+ and the mcp package. The CLI tools it wraps need to be installed separately — the server will tell the agent if a tool is missing and how to install it.

Development

# Install dependencies
pip install -r requirements.txt -r requirements-dev.txt

# Run tests
pytest tests/ -v

# Run the server locally (stdio mode)
python src/app.py

Architecture

base2-mcp/
├── src/
│   ├── app.py                    # FastMCP entry point (stdio transport)
│   ├── docs/                     # Embedded markdown documentation
│   │   ├── __init__.py           # Doc loader utility
│   │   ├── cfhighlander.md
│   │   ├── shelvery.md
│   │   ├── guardian.md
│   │   ├── monitorable.md
│   │   ├── cfn_vpn.md
│   │   └── bastion.md
│   ├── executor/
│   │   └── cli_runner.py         # Shared subprocess executor
│   └── tools/                    # One module per tool
│       ├── overview_tools.py     # list_base2_tools, get_tool_docs
│       ├── cfhighlander_tools.py
│       ├── shelvery_tools.py
│       ├── guardian_tools.py
│       ├── monitorable_tools.py
│       ├── cfn_vpn_tools.py
│       └── bastion_tools.py
├── tests/                        # pytest suite (56 tests)
├── pyproject.toml
├── requirements.txt
└── requirements-dev.txt

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

base2_mcp-0.1.0.tar.gz (20.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

base2_mcp-0.1.0-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

Details for the file base2_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: base2_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 20.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for base2_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f481ac95a84f90abca2ae65be93a8f119de3f4cc82a4bc09289b3b6162feb3b7
MD5 e48c3a3efbf9c77006f541f814c29703
BLAKE2b-256 50331179b01d073feb3f0c3ae995c6372c684c2d6a99a52aa6196567195c9f21

See more details on using hashes here.

Provenance

The following attestation bundles were made for base2_mcp-0.1.0.tar.gz:

Publisher: publish.yml on base2Services/base2-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file base2_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: base2_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 25.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for base2_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5688fcf71e35807fbb82571c49e849831764bb0279151168e24a2bc3d481f218
MD5 cc30c430bc5ddedee942001469c43dc8
BLAKE2b-256 d0dfaaf07a32809a2067b165456fa604e54035467c2fc834cf98802e2655e722

See more details on using hashes here.

Provenance

The following attestation bundles were made for base2_mcp-0.1.0-py3-none-any.whl:

Publisher: publish.yml on base2Services/base2-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page