Skip to main content

Desktop proxy for MCPBundles - tunnels cloud requests to local services

Project description

MCPBundles Desktop Proxy

Tunnel cloud requests from MCPBundles.com to local services on your machine.

Connect your local databases, APIs, and services to the MCPBundles platform without exposing them to the internet. The proxy runs in the background and securely forwards requests over an encrypted WebSocket tunnel.

Features

  • Secure OAuth2 authentication
  • Auto-reconnection with exponential backoff
  • Encrypted token storage
  • Dynamic port forwarding to any localhost service
  • Local browser service (optional) - Control a real browser on your machine from the cloud
  • Background daemon with status monitoring
  • Comprehensive logging
  • Fast and lightweight (~5MB)

Installation

Basic Installation

pip install mcpbundles-proxy

With Browser Service

pip install mcpbundles-proxy[browser]

# After installation, install Playwright browsers
playwright install chromium

Full Installation (All Features)

pip install mcpbundles-proxy[all]
playwright install chromium

Quick Start

1. Authenticate

mcpbundles-proxy login

This opens your browser to authenticate with MCPBundles.com. Once complete, you can close the browser.

2. Start the tunnel

mcpbundles-proxy start

The tunnel runs in the background. You can close your terminal - it keeps running.

3. Check status

mcpbundles-proxy status

Example output:

✅ Running (PID: 12345)
   Uptime: 2:30:15
   Tunnel: 🟢 connected

Commands

Command Description
login Authenticate with MCPBundles
start Start tunnel daemon in background
stop Stop tunnel daemon
restart Restart tunnel daemon
status Show connection status
logs View tunnel logs
logs -f Follow logs in real-time
logout Remove stored credentials

How It Works

  1. You create a provider on MCPBundles.com with base URL like localhost:5432
  2. When you run a tool from that provider, the request is sent through the tunnel
  3. The desktop proxy receives it and forwards to your local service
  4. The response flows back through the tunnel to the cloud
MCPBundles Backend (Cloud)
  ↓ WebSocket Tunnel (encrypted)
Desktop Proxy (Your Machine)
  ↓ HTTP
Local Service (localhost:XXXX)

Local Browser Service

The proxy can run a local browser (Chromium) that cloud tools can control. Perfect for web scraping, testing, and automation.

Enable from web:

  1. Go to MCPBundles.com → Settings
  2. Toggle "Browser Service" on
  3. Choose "Show browser window" or "Hidden mode"
  4. Browser starts automatically on your machine

Benefits:

  • 🖥️ Visible mode: Watch the browser in action on your screen
  • 🕶️ Hidden mode: Run in background for pure automation
  • 🌍 Use your IP: Browse from your location
  • 🔒 Secure: Browser runs locally, controlled via tunnel
  • 📸 Full control: Screenshots, PDFs, form filling, JavaScript execution

Cloud tools can:

  • Scrape websites using your IP/location
  • Test web apps on your machine
  • Fill forms and submit data
  • Take screenshots and PDFs
  • Execute JavaScript

All controlled from MCPBundles.com web interface!

Configuration

All configuration is stored in ~/.mcpbundles/:

  • token.json - Encrypted OAuth tokens
  • tunnel.pid - Process ID of running daemon
  • tunnel.log - Log file

Security

  • ✅ Only forwards to localhost - never to your network
  • ✅ OAuth2 authenticated tunnel
  • ✅ All traffic encrypted over WSS (WebSocket Secure)
  • ✅ Tokens stored encrypted with machine-specific key
  • ✅ File permissions set to user-only (0600)

Requirements

  • Python 3.8+
  • macOS or Linux (Windows support coming soon)

Troubleshooting

Tunnel won't start

# Check if already running
mcpbundles-proxy status

# View logs for errors
mcpbundles-proxy logs

# Try re-authenticating
mcpbundles-proxy logout
mcpbundles-proxy login
mcpbundles-proxy start

Can't connect to local service

Make sure your local service is running:

# Example: Check if PostgreSQL is running on port 5432
curl http://localhost:5432
# or
lsof -i :5432

The proxy only forwards to services that are already running locally.

View detailed logs

# Last 100 lines
mcpbundles-proxy logs -n 100

# Follow in real-time
mcpbundles-proxy logs -f

Development

Install from source

git clone https://github.com/mcpbundles/desktop-proxy.git
cd desktop-proxy
pip install -e .

Run tests

pytest

Support

License

MIT License - see LICENSE file for details

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

mcpbundles_proxy-0.1.1.tar.gz (30.7 kB view details)

Uploaded Source

Built Distribution

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

mcpbundles_proxy-0.1.1-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file mcpbundles_proxy-0.1.1.tar.gz.

File metadata

  • Download URL: mcpbundles_proxy-0.1.1.tar.gz
  • Upload date:
  • Size: 30.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcpbundles_proxy-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f3bb4ca3748a4e8d16db5eddc347524777fcbc4260a9e2d238d2891daf4ebd78
MD5 202b24976ec7d18b8211f72947d51ffc
BLAKE2b-256 bf286c0a46184a3662fabf86658cd5fb6d85173c6ba8441bb8c2ceceeb65e73d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpbundles_proxy-0.1.1.tar.gz:

Publisher: publish.yml on thinkchainai/mcpbundles-proxy

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

File details

Details for the file mcpbundles_proxy-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mcpbundles_proxy-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cea35597b85310831c755569286a2a9a72cb9e2bb5a8ca51a7c7c4bc431fa38f
MD5 791e6d0a1f76a361303849a73ae97d48
BLAKE2b-256 3c621954dec35c57bb9ad6c786eda40c7c446f43b70d2322f1bdfc8ad6da8661

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpbundles_proxy-0.1.1-py3-none-any.whl:

Publisher: publish.yml on thinkchainai/mcpbundles-proxy

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