lucidlink-mcp-cloudflared
One command, one URL: serve the LucidLink MCP to any MCP client that supports remote connectors — claude.ai (web, mobile, Cowork), Cursor, Codex, and friends — through a Cloudflare quick tunnel.
uvx lucidlink-mcp-cloudflared
starts the team gateway and prints one connector URL
(https://<random>.trycloudflare.com/mcp). Add it once to your client
(claude.ai: Settings → Connectors); each person who connects enrolls with their
own service-account token and gets their own isolated backend, identity, and
audit trail. Ctrl+C kills server, tunnel, and URL together — nothing
persists anywhere. Details under Team mode.
For a personal, no-OAuth endpoint (the URL itself is the credential):
uvx lucidlink-mcp-cloudflared solo
prints https://<random-words>.trycloudflare.com/<secret>/mcp, paste-ready,
and self-tests it over the exact edge-and-back path a remote client will use.
Why a separate package
The official lucidlink-mcp package deliberately never spawns a tunnel
vendor's binary or routes your traffic anywhere — its --http mode binds a
local port and leaves the pipe to you. This companion is the
explicitly-chosen convenience that adds the pipe. Installing it is the
opt-in.
Prerequisites
- A LucidLink service-account token per person (a workspace admin mints
them in the LucidLink admin app under Service Accounts). No pre-setup
needed: in team mode each member pastes their token on the enrollment
page when they click Connect; in
solomode, first run walks you through pasting and verifying yours — the same wizard aslucidlink-mcp-setup, saved to the same~/.lucidlink/mcp-config.jsonevery LucidLink MCP client reads. cloudflaredon PATH — never downloaded for you:- macOS:
brew install cloudflared - Windows:
winget install --id Cloudflare.cloudflared - Linux: Cloudflare's downloads page
- macOS:
Flags
Bare invocation takes team serve flags: --port, --write (mutating
tools for every member that session), --idle-timeout, --max-backends,
--public-url (your own pipe instead of a quick tunnel).
solo flags:
--port N— local port (default 8000; always binds loopback)--write— register mutating tools (read-only by default)--path-secret SECRET— bring your own secret path segment (one is always generated otherwise; a public quick-tunnel URL never runs without one)
Team mode: one URL, per-member auth
The default command (team serve spelled out):
uvx lucidlink-mcp-cloudflared team serve
It prints one connector URL (https://<host>/mcp). Add it once as a
remote connector in your MCP client (claude.ai: Settings → Connectors —
on Team/Enterprise plans a workspace Owner does this; members then connect
individually). When a member connects,
their browser lands on the gateway's enrollment page and they paste their
own service-account token — verified with LucidLink, stored only on the
gateway box (0600). The client receives an opaque, revocable OAuth token
per member; SA tokens never pass through an admin, a URL, or a conversation.
Each member gets their own backend process under their own SA — own
permissions, own audit identity, own locks and rate limits — spawned lazily
on first request and reaped when idle (--idle-timeout, default 15 min;
--max-backends caps concurrent members, default 8; budget roughly one
client stack plus ~1 GB cache per active member).
Admin console:
uvx lucidlink-mcp-cloudflared team list # who's enrolled
uvx lucidlink-mcp-cloudflared team remove maria # revoke: kills all her tokens
uvx lucidlink-mcp-cloudflared team allow-write maria # register mutating tools for her
uvx lucidlink-mcp-cloudflared team revoke-write maria # back to read-only (the default)
Write grants apply when the member's backend next spawns — restart the
gateway (or wait for the idle reap) after changing one. For a sandbox
session where everyone should be able to write (demo filespace, kicking
the tires), skip the per-member ceremony: team serve --write registers
mutating tools for every member for that session only.
Caveat that matters: OAuth binds to the hostname, and a quick tunnel mints a
new hostname every restart — the whole team reconnects. Fine for a demo;
a real deployment runs team serve --public-url https://mcp.yourco.example
behind a named tunnel or reverse proxy.
What to know before pasting the URL anywhere
- The URL is a bearer credential. Anyone who has it has the endpoint. Treat it like a password; it dies on Ctrl+C and a restart mints a new one.
- The model reading files is the exposure. Content the agent reads enters your conversation and your AI provider's infrastructure under your plan's data terms. The tunnel adds Cloudflare's edge as a TLS terminator in the path.
- Quick tunnels are best-effort. No SLA; a reconnect mints a new
hostname (re-paste in your client). For anything persistent, run the official
package behind your own pipe instead — see this package's
docs/REMOTE-HOSTING.md.
Metadata
Release files for lucidlink-mcp-cloudflared 0.2.0
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 | |
|---|---|---|---|---|
| lucidlink_mcp_cloudflared-0.2.0.tar.gz | 27.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lucidlink_mcp_cloudflared-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 51.9 kB
Release files / lucidlink_mcp_cloudflared-0.2.0.tar.gz
| Download URL | lucidlink_mcp_cloudflared-0.2.0.tar.gz |
|---|---|
| Size | 27.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
48aa3cf864546c4a680e73f816be541912477cdc3fcff0a7a908625d977b30a4
|
|
BLAKE2b-256 checksum How to use checksums |
81364a37f256a7d53940d8ae0fa1d184c509065d2acfae8fa65ca07319551d7f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.9
|
Release files / lucidlink_mcp_cloudflared-0.2.0-py3-none-any.whl
| Download URL | lucidlink_mcp_cloudflared-0.2.0-py3-none-any.whl |
|---|---|
| Size | 23.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
510b09093bdd08e3833d6aaedc78d67a4255dbb6518369773089daca22c42bf1
|
|
BLAKE2b-256 checksum How to use checksums |
41d60a99c7d50f4304448043a2b98f0359a53e348bfacb16bfa7596797d292d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.9
|
Security for lucidlink-mcp-cloudflared 0.2.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.