MCP System Bridge
mcp-sys-bridge is a local Model Context Protocol (MCP) server that lets MCP clients open web URLs, copy text to the clipboard, send native notifications, and inspect the local date and time.
Installation
The server requires Python 3.12 or newer and runs directly with uvx. Add it to your MCP client configuration:
{
"mcpServers": {
"mcp-sys-bridge": {
"command": "uvx",
"args": ["mcp-sys-bridge"]
}
}
}
It can also be started manually:
uvx mcp-sys-bridge
For a local checkout, use either entry point after uv sync:
uv run mcp-sys-bridge
uv run python -m mcp_sys_bridge
Available tools
open_urls
Opens HTTP or HTTPS URLs in the default browser. URLs without a scheme use HTTPS. Other schemes are rejected so an MCP client cannot accidentally invoke arbitrary protocol handlers.
The tool preserves input order and duplicates. Each requested URL receives its own result:
[
{
"requested_url": "example.com:8080/docs",
"normalized_url": "https://example.com:8080/docs",
"opened": true,
"error": null
}
]
An invalid URL or browser failure does not stop the rest of the batch.
copy_to_clipboard
Copies the provided text to the local clipboard. This replaces the current clipboard contents. Provider failures are returned to the client as MCP tool errors.
send_notification
Sends a local system notification with a title, message, optional application name, and a non-negative timeout. Provider failures are returned as MCP tool errors. Some operating systems may ignore the requested timeout.
get_current_date_info
Returns local calendar and clock fields, including ISO calendar values, English day and month names, timezone name, and UTC offset. iso_datetime is timezone-aware, for example 2026-08-08T20:30:00-06:00.
Platform notes
- Windows and macOS normally provide the required browser, clipboard, and notification integrations.
- Linux requires an active graphical session and compatible system providers. Clipboard support may require
wl-clipboard,xclip, orxsel, depending on the session; desktop notifications typically require a working notification service and D-Bus integration. - Clipboard and notification tools are expected to fail cleanly in headless sessions where those providers are unavailable.
- MCP annotations identify URL opening, clipboard writes, and notifications as side effects so compatible clients can apply their normal confirmation policy.
Development
make tests # Ruff plus tests with 100% line and branch coverage
make audit # Audit the locked environment for known vulnerabilities
make build # Build the wheel and source distribution
Tests mock browser, clipboard, and notification calls; they do not modify the developer's desktop state.
Changelog
0.2.0
- Changed
open_urlsto return ordered structured results and restricted it to HTTP/HTTPS. - Corrected MCP side-effect annotations and MCP error reporting.
- Made date-time output timezone-aware and added timezone metadata.
- Renamed the import package from
srctomcp_sys_bridge. - Added functional tests, dependency auditing, cross-platform CI, and OIDC-based publishing.
src.* imports and the dictionary result previously returned by open_urls are not compatible with 0.2.0. The documented mcp-sys-bridge command remains unchanged.
0.1.5
- Added the cross-platform
send_notificationtool.
0.1.4
- Added tool annotations.
0.1.3
- Added
get_current_date_info.
0.1.2
- Changed
open_urltoopen_urlsfor batch URL opening.
0.1.0
- Added URL opening and clipboard support.
License
MIT License. See license.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_sys_bridge-0.2.0.tar.gz.
File metadata
- Download URL: mcp_sys_bridge-0.2.0.tar.gz
- Upload date:
- Size: 108.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
190a364c247b26d5a647cd06e2dd569e40fcd8e2d068d265f38ef2245749ce72
|
|
| MD5 |
8b5ca6952630f1eee1e872ec768359a6
|
|
| BLAKE2b-256 |
cfc7fe7080689c243c175882b3dacae6b605cdae6f415a903d437e91b75e5e1e
|
Provenance
The following attestation bundles were made for mcp_sys_bridge-0.2.0.tar.gz:
Publisher:
release.yml on leynier/mcp-sys-bridge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_sys_bridge-0.2.0.tar.gz -
Subject digest:
190a364c247b26d5a647cd06e2dd569e40fcd8e2d068d265f38ef2245749ce72 - Sigstore transparency entry: 2388600107
- Sigstore integration time:
-
Permalink:
leynier/mcp-sys-bridge@58c9c9248255cb54e33201585a8f0cc207fcb124 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/leynier
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@58c9c9248255cb54e33201585a8f0cc207fcb124 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mcp_sys_bridge-0.2.0-py3-none-any.whl.
File metadata
- Download URL: mcp_sys_bridge-0.2.0-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9547973eeade1739304e325b374a533af356825ae81ea57416e21f8c157f1da
|
|
| MD5 |
4559b0a863fd0e675e8467ea1527cee5
|
|
| BLAKE2b-256 |
e6dbfd7ced3bd963bec09ddcecd9571a2346b5539b03ac98b39000cf3ad97781
|
Provenance
The following attestation bundles were made for mcp_sys_bridge-0.2.0-py3-none-any.whl:
Publisher:
release.yml on leynier/mcp-sys-bridge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_sys_bridge-0.2.0-py3-none-any.whl -
Subject digest:
e9547973eeade1739304e325b374a533af356825ae81ea57416e21f8c157f1da - Sigstore transparency entry: 2388600131
- Sigstore integration time:
-
Permalink:
leynier/mcp-sys-bridge@58c9c9248255cb54e33201585a8f0cc207fcb124 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/leynier
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@58c9c9248255cb54e33201585a8f0cc207fcb124 -
Trigger Event:
push
-
Statement type: