Run on Bloque Button
If you maintain an MCP server, you can add a Run on Bloque button to its README so visitors can add it to their own Bloque Hub in a few clicks.
What it does
A visitor who clicks the button lands on a public preview page at bloque.run/add. They see what will be added, then sign in or sign up, pick a Hub, and fill in their own credentials in the add-server dialog. Nothing is added until they save.
The button does not go through admin approval or an allowlist — anyone who can already add servers to a Hub can use it, the same as adding a server manually.
Link format
https://bloque.run/add?name=<name>&config=<base64 JSON>
name is your server's display name. config is base64-encoded JSON describing the server — the same payload format as Cursor's "Add to Cursor" install links, so an existing Cursor config works unchanged.
Local (stdio) server:
| Field | Notes |
|---|---|
command | One of npx, uvx, uv, pipx |
args | At least one argument, required |
env | Variable names only — see below |
Remote server:
| Field | Notes |
|---|---|
url | A public https:// URL |
type | http (the default) or sse |
headers | Header names only, http transport only — see below |
Servers that need Docker or a separate local install are not supported — see Add an MCP Server § Understanding MCP server types.
What Bloque does with values
Bloque never brings a credential in through the link:
envandheadervalues are always discarded. Only the variable or header names carry over; the visitor fills in the actual value themselves after signing in.- Credentials in the URL are removed — this includes userinfo (
user:pass@host) and credential-looking query parameters such asapi_key,token,secret, orpassword. argsare used as written. Never put a secret inargs— use an environment variable instead.
Build your link
The easiest way is to paste your server's JSON config into the Run on Bloque button generator. It accepts a server definition or an mcpServers object with one server and removes environment variable values, header values, and credentials in URLs before building the link.
For a scriptable alternative, the config value is base64-encoded JSON. Build it with this one-liner:
node -e 'const c={command:"npx",args:["-y","@acme/mcp-server"],env:{ACME_API_TOKEN:""}};console.log("https://bloque.run/add?name=acme&config="+encodeURIComponent(Buffer.from(JSON.stringify(c)).toString("base64")))'
URL-encoding the base64 value is recommended but not required.
Add the button
Use the badge served at https://bloque.run/run-on-bloque.svg (160×32).
The button generator also provides ready-to-copy Markdown and HTML snippets.
Markdown:
[](https://bloque.run/add?name=acme&config=…)
HTML:
<a href="https://bloque.run/add?name=acme&config=…"><img src="https://bloque.run/run-on-bloque.svg" alt="Run on Bloque" width="160" height="32"></a>
Good to know
New visitors who sign up with email must open the verification link in the same browser to return to the server they were adding.