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.2.0.tar.gz (53.1 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.2.0-py3-none-any.whl (52.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: base2_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 53.1 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.2.0.tar.gz
Algorithm Hash digest
SHA256 b8ee0da5d791b037d2259fc98ec8edeb5a8c8a00dca62ee1eddb7d2b3730b340
MD5 ca97846c483eae804bf32758272d3467
BLAKE2b-256 2df57431c129868bb39c89c0765d1e0caacd3c222bc693c8d5fa2350488ef43e

See more details on using hashes here.

Provenance

The following attestation bundles were made for base2_mcp-0.2.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.2.0-py3-none-any.whl.

File metadata

  • Download URL: base2_mcp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 52.3 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 53350e1307743839aa5baa8b081e6604dfb94066334a77bf61d0e5774f006de0
MD5 cc85569fb3f03fb7fd560a1ad40af39e
BLAKE2b-256 54256f7d6268a36b1d15d993729921b0507e94bfb59becd82951f5676d56ab0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for base2_mcp-0.2.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