localbridge-mcp-sdk 0.1.1
A protocol and SDK for bridging remote MCP servers/clients to local environment capabilities (clipboard, files, notifications, etc.)
Requires Python: >=3.8

# LocalBridge MCP SDK

A protocol and Python SDK for bridging remote MCP servers/clients to local environment capabilities (clipboard, files, notifications, screenshots, webcam, and more).

---

## What is LocalBridge?

LocalBridge is an open protocol and SDK that lets any AI agent, automation, or workflow running in the cloud (or remotely) securely access and automate things on your local machine—like your clipboard, files, notifications, screenshots, webcam, and more.

- **For MCP server builders:** Easily add local environment access to your tools and workflows.
- **For MCP client builders:** Expose your local environment to remote servers, securely and with user control.
- **For users:** All access is opt-in, authenticated, and privacy-first.

---

## Features

- Modular, plugin-based architecture for local environment access
- Secure, token-based authentication
- Dynamic capability discovery and invocation
- Both server-side and client-side adapters
- Extensible for any local resource (clipboard, files, notifications, sensors, screenshots, webcam, etc.)
- Production-ready packaging for PyPI
- Cross-platform: Mac, Windows, Linux

---

## Installation

```bash
pip install localbridge-mcp-sdk
```
or for local development:
```bash
pip install -e .
```

---

## Usage (MCP Server Example)

```python
from localbridge.client import LocalBridgeClient

bridge = LocalBridgeClient()
if bridge.has_capability("local://clipboard"):
    clipboard = bridge.invoke("local://clipboard", method="GET")
    print(clipboard)
```

---

## Usage (MCP Client Adapter Example)

```python
from localbridge.client_adapter import LocalBridgeClientAdapter
from localbridge.plugins.clipboard import ClipboardPlugin
from localbridge.plugins.filesystem import FileSystemPlugin
from localbridge.plugins.screenshot import ScreenshotPlugin
from localbridge.plugins.webcam import WebcamPlugin

adapter = LocalBridgeClientAdapter(
    plugins=[ClipboardPlugin(), FileSystemPlugin(), ScreenshotPlugin(), WebcamPlugin()],
    token="supersecrettoken"
)
adapter.start(background=True)
```

---

## Plugins

- **Clipboard:** Read/write clipboard, clipboard history
- **File system:** Read, write, list, delete files/directories
- **Screenshot:** Take a screenshot of the current screen
- **Webcam:** Capture an image from the webcam
- **Notification:** Send native desktop notifications
- (More coming soon: sensors, browser automation, audio, etc.)

---

## Security

- All access is authenticated via token
- Plugins can be enabled/disabled by the user
- Designed for privacy and user control
- No data is sent to the cloud unless explicitly requested by the user/server

---

## Capability Discovery

- MCP servers/clients can discover available capabilities via `/localbridge/capabilities`
- All plugins are discoverable and invokable via standard URIs (e.g., `local://clipboard`, `local://file`, `local://webcam`)

---

## Contributing

- Fork, add new plugins, improve the protocol, and submit PRs!
- See the `spec/` directory for protocol details.
- We welcome contributions from the AI, agentic, and open-source communities.

---

## Developer Relations

- Comprehensive documentation and code samples
- Modular, extensible, and easy to integrate
- Designed for both rapid prototyping and production use
- Open to feedback, issues, and feature requests

---

## Roadmap

- [x] Clipboard, file system, screenshot, webcam, notification plugins
- [ ] Sensors, browser automation, audio/media, custom user plugins
- [ ] Tray app and GUI for agent management
- [ ] Auto-update and cross-platform packaging
- [ ] Device pairing, secure relay, and advanced authentication
- [ ] Standardization as an MCP protocol extension (MCP-EP)

---

*Unengineered: Simpler words on everyday engineering, product-business, and technology in an otherwise complicated world.*