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
--streamfor 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_COLORsupport - 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):
- CLI flags (
--url,--json,-q) - Environment variables (
MCPBUNDLES_API_KEY,MCPBUNDLES_BASE_URL) - Config file (
~/.mcpbundles/config.yaml) - 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
- What is MCP? — Model Context Protocol explained
- CLI setup guide — full CLI documentation
- Browse all tools — search 10,000+ MCP tools
- Browse providers — every connected service
- Claude Code + MCP — connect Claude Code to 1,500+ APIs
Support
- Docs: https://www.mcpbundles.com/docs
- Email: support@mcpbundles.com
License
MIT License
Metadata
Release files for mcpbundles 1.5.105
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mcpbundles-1.5.105.tar.gz | 238.4 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcpbundles-1.5.105-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 434.2 kB
Release files / mcpbundles-1.5.105.tar.gz
| Download URL | mcpbundles-1.5.105.tar.gz |
|---|---|
| Size | 238.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9d2ddb488a4dfdb4c4ac6b15dcc0d35e6b352b26cde9259f1f219cc0e321279d
|
|
BLAKE2b-256 checksum How to use checksums |
cbad3e991552900129994ae96462d51ec847b06cc60605c758b625c1af4471f1
|
| 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 logRelease files / mcpbundles-1.5.105-py3-none-any.whl
| Download URL | mcpbundles-1.5.105-py3-none-any.whl |
|---|---|
| Size | 195.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c37de5591af30fb4cde523d66a42d51313355c71f8bf77afffef383002ba448e
|
|
BLAKE2b-256 checksum How to use checksums |
59e76eb3c238ba56ecade5a0bde96c6417aa9fa393ec53ff39d4ddd74b5947c4
|
| 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 logSecurity for mcpbundles 1.5.105
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.
Attestation for mcpbundles-1.5.105.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 logA 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.