Skip to main content

MCPBundles CLI

Connect AI to 10,000+ tools from the command line.

The mcpbundles CLI provides full MCP (Model Context Protocol) access to the MCPBundles platform — tool discovery, execution, interactive shell, AI agent integration, and a desktop proxy tunnel for local services.

Browse the full catalog: 10,000+ MCP tools | MCP server providers | MCP bundle servers

Features

  • Hub MCP access — discover and call 10,000+ tools directly from your terminal
  • Interactive shell — REPL with tab completion, command history, and live connection switching
  • Multi-connection support — connect to Hub, individual bundles, or different workspaces simultaneously
  • Aggregated local proxy — expose multiple connections as a single unauthenticated MCP endpoint
  • AI agent integration — generate tool manifests for AI coding agents
  • Code execution — run sandboxed code with --stream for progressive output
  • Desktop proxy tunnel — securely forward cloud requests to local services (databases, browsers, APIs)
  • Rich terminal output — tables, syntax highlighting, JSON, streaming, and NO_COLOR support
  • Multiple auth methods — OAuth2 PKCE (browser) or API key (CI/CD)
  • Shell completion — dynamic tab completion for bash, zsh, and fish

Installation

# Recommended Python CLI install
pipx install mcpbundles

# Python package manager
pip install mcpbundles

# Node.js package manager
npm install -g mcpbundles

# macOS Homebrew
brew install thinkchainai/tap/mcpbundles

Quick Start

# Authenticate (opens browser)
mcpbundles login

# Or use an API key (CI/CD, headless)
mcpbundles login --api-key mb_your_key_here

# List available tools
mcpbundles tools

# Get full schema for a tool
mcpbundles tools code_execution

# Call a tool
mcpbundles call get-contacts limit=10

# Execute code
mcpbundles exec "result = 2 + 2; print(result)"

# Execute from file with streaming output
mcpbundles exec -f script.py --stream

# Start interactive shell
mcpbundles shell

Commands

Auth & Identity

Command Description
mcpbundles login Authenticate via browser (OAuth2 PKCE)
mcpbundles login --api-key mb_... API key auth (headless/CI)
mcpbundles logout Remove stored credentials
mcpbundles whoami Show current user, workspace, and server

Tool Discovery (always live from server)

Command Description
mcpbundles tools List all available MCP tools
mcpbundles tools <name> Show full schema for a specific tool
mcpbundles tools -f <keyword> Filter tools by name or description
mcpbundles tools --json JSON output for piping
mcpbundles resources List available MCP resources
mcpbundles prompts List available MCP prompts

Tool Execution

Command Description
mcpbundles call <tool> key=value Call a tool with typed arguments
mcpbundles call <tool> key:=true JSON-typed argument (bool, number, array)
mcpbundles call <tool> -f data.json Arguments from JSON file
mcpbundles read <uri> Read an MCP resource
mcpbundles prompt <name> key=value Get an MCP prompt
mcpbundles exec "code" Execute code (shortcut for code_execution)
mcpbundles exec -f script.py Execute code from file
mcpbundles exec -f script.py --stream Stream output line-by-line

Named Connections

Command Description
mcpbundles connect --as hub Connect to Hub (default)
mcpbundles connect --as hubspot --server hubspot Direct MCP server connection
mcpbundles connect --as dev --server localhost:8000 Dev server connection
mcpbundles connections List active connections
mcpbundles disconnect <name> Remove a connection
mcpbundles tools --as @hubspot Target a specific connection

Interactive Shell

$ mcpbundles shell
MCPBundles Shell — connecting to hub...
Connected. Type help for commands, exit to quit.

mcpbundles(hub)> tools
mcpbundles(hub)> call get-contacts limit=5
mcpbundles(hub)> exec print("hello world")
mcpbundles(hub)> use hubspot          # switch connection live
mcpbundles(hubspot)> tools
mcpbundles(hubspot)> exit

AI Agent Integration

Command Description
mcpbundles init Generate .skills/mcpbundles-cli/ for AI agents
mcpbundles init --format json JSON format manifest
mcpbundles serve Local MCP proxy on localhost:8080
mcpbundles serve --connections hub,hubspot,stripe Aggregate multiple connections

Local MCP Proxy (serve)

Start a local unauthenticated MCP server that proxies to remote MCPBundles:

# Single connection
mcpbundles serve --port 8080

# Multi-connection aggregation
mcpbundles serve --connections hub,hubspot,stripe

In aggregated mode, list_tools merges tools from all connections and call_tool routes to the correct upstream automatically. Local AI clients connect without credentials.

Desktop Proxy Tunnel

Command Description
mcpbundles proxy start Start WebSocket tunnel daemon
mcpbundles proxy stop Stop tunnel daemon
mcpbundles proxy restart Restart tunnel
mcpbundles proxy status Show tunnel status
mcpbundles proxy logs View tunnel logs
mcpbundles proxy logs -f Follow logs in real-time

Configuration

Command Description
mcpbundles config show Show all settings
mcpbundles config set key value Set a config value
mcpbundles config get key Get a config value
mcpbundles config reset Reset to defaults

Shell Completion

mcpbundles install-completion bash    # or zsh, fish

After installation, restart your shell for tab completion on commands, tool names, resource URIs, and connection names.

Output Modes

Flag Behavior
--pretty Rich tables, colors, syntax highlighting (default for discovery)
--json Raw JSON to stdout, pipe-friendly (default for execution)
--raw Full MCP response envelope (debugging)
--stream Progressive line-by-line output (for exec)
-q / --quiet Suppress non-essential output

Respects NO_COLOR environment variable.

Exit Codes

Code Meaning
0 Success
1 User/input error (bad args, missing auth)
2 Tool execution error (tool returned isError)
3 Connection/server error (unreachable, 5xx)
4 Internal error

Configuration Files

All configuration is stored in ~/.mcpbundles/ by default. With ENVIRONMENT=development, the CLI normally uses ~/.mcpbundles-dev/ — unless MCPBundles Desktop already supervises a sidecar in the prod store (~/.mcpbundles/), in which case the CLI aligns with that store automatically. Override with MCPBUNDLES_CONFIG_DIR when needed.

File Purpose
config.yaml CLI settings (server, workspace, output format)
token.json Encrypted OAuth tokens
sessions/ Named connection session files
completion_cache.json Tab completion cache (60s TTL)
shell_history REPL command history
tunnel.pid Proxy daemon PID
tunnel.log Proxy daemon logs

Config precedence (highest wins):

  1. CLI flags (--url, --json, -q)
  2. Environment variables (MCPBUNDLES_API_KEY, MCPBUNDLES_BASE_URL)
  3. Config file (~/.mcpbundles/config.yaml)
  4. Defaults

Security

  • OAuth2 PKCE — no client secret stored on disk
  • API keys prefixed mb_ — recognized and routed automatically
  • Tokens encrypted with machine-specific Fernet key
  • File permissions set to user-only (0600)
  • Desktop proxy only forwards to localhost
  • All tunnel traffic encrypted over WSS

Requirements

  • Python 3.10+
  • macOS or Linux
  • Google Chrome (optional, for browser proxy feature)

Development

git clone https://github.com/thinkchainai/mcpbundles-proxy.git proxy
cd proxy
python -m venv .venv && .venv/bin/pip install -e ".[dev]"
pytest

Learn More

Support

License

MIT License

Metadata

Release files for mcpbundles 1.5.106

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

Source distribution (sdist)

Source distribution for mcpbundles 1.5.106
File Size Uploaded Provenance
mcpbundles-1.5.106.tar.gz 238.4 kB With provenance Details

Built distribution (wheel)

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

Total release size: 434.2 kB

Release files / mcpbundles-1.5.106.tar.gz

Download URL mcpbundles-1.5.106.tar.gz
Size 238.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8538ffe7a78700a8b28e0db16388c18dd7e20e38ab7bcfde82b20d6ce4766a93
BLAKE2b-256 checksum
How to use checksums
40777595b1e8898bfddc306cd66dbf3a7fe2c8520225edd281f6c9cce480fa4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / mcpbundles-1.5.106-py3-none-any.whl

Download URL mcpbundles-1.5.106-py3-none-any.whl
Size 195.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5782cf1694e72470f4555a42ac3b951f48aebaf51bbef919b5a82eb6ed9f76e1
BLAKE2b-256 checksum
How to use checksums
6f0234387e234061814cf58c467a1a55dcd37d7ce71e15667124e22d60a2187e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Security for mcpbundles 1.5.106

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for mcpbundles-1.5.106.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

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

1.5.106 This release

2 release files Full 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