The MCP server
Let your chat assistant publish to a link
Use Claude.ai, ChatGPT, Claude Desktop or Cursor? Connect freo.cloud's MCP server and your assistant publishes what it makes — reports, dashboards, HTML pages, PDFs — straight to a shareable link you control. No terminal, nothing to install.
freo.cloud's MCP server is a remote Model Context Protocol
endpoint at https://freo.cloud/mcp. Add it once in your client's
connector settings, then just say "publish this" and get a link back. It works for
chat apps and coding agents alike — though for a coding agent
that runs a shell, the publishing skill
is the simpler path. New documents default to a private unique link, going public needs your explicit
confirmation, and every publish is scanned for leaked secrets — the same access controls and view
tracking as the rest of freo.
Connecting it
Both ways point at the same server URL — https://freo.cloud/mcp —
and end the same way: you just say "publish this" and get a link back ("make it public"
asks you to confirm first).
One-click · Claude.ai, ChatGPT
Connect over OAuth — no token to paste:
- 1.In your client, add a custom connector with the URL
https://freo.cloud/mcp. - 2.Your client sends you to freo.cloud — sign in and approve the consent screen (it names the client and what it can do).
- 3.You're connected. Ask it to "publish this" and a link comes back — no key ever leaves freo.cloud.
Claude Code uses the same OAuth from the terminal — one command, below.
Token · Cursor & config-file clients
Reveal a key on your Connect page
and add it as the bearer token (see the mcp.json below).
Claude Code, Codex, opencode and Cursor don't need one — they sign in over OAuth (below).
From the terminal or a config file · Claude Code, Cursor & co.
freo is a remote server: you point your client at the URL. On Claude.ai & ChatGPT you don't need any of this — they connect by URL with one-click OAuth, per the One-click steps above.
Claude Code — one command, then sign in via your browser
No token, no JSON file (--scope user makes it available in every project):
claude mcp add --transport http --scope user freo https://freo.cloud/mcp
Then, inside Claude Code, run /mcp → freo →
Authenticate — your browser opens the same freo consent screen as the
one-click path. Prefer a token (e.g. headless / CI)? Append
--header "Authorization: Bearer YOUR_FREO_TOKEN" to the command instead.
Codex & opencode — same idea
codex mcp add freo --url https://freo.cloud/mcp codex mcp login freo
codex mcp login opens your browser for the OAuth sign-in — no token.
opencode is the same shape: opencode mcp add (name freo · remote · this URL),
then opencode mcp auth freo. Gemini CLI uses
gemini mcp add --transport http with a bearer-token header —
the exact command is on each agent's page.
Cursor & config-file clients — mcp.json
{
"mcpServers": {
"freo": {
"url": "https://freo.cloud/mcp",
"headers": { "Authorization": "Bearer YOUR_FREO_TOKEN" }
}
}
}
Swap YOUR_FREO_TOKEN for a key from your
Connect page.
Cursor reads ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one repo) —
and can skip the token entirely: leave out headers and hit
Login when Cursor prompts (or run cursor-agent mcp login freo).
Client only speaks stdio (e.g. older Claude Desktop)?
Prefer its Connectors UI. If it only takes a command, bridge to the remote server with mcp-remote:
{
"mcpServers": {
"freo": {
"command": "npx",
"args": ["mcp-remote", "https://freo.cloud/mcp", "--header", "Authorization: Bearer YOUR_FREO_TOKEN"]
}
}
}
Works with
Claude.ai · Anthropic
Settings → Connectors → add by URL, approve consent (OAuth, no token)
Claude Desktop · Anthropic
Settings → Connectors → add custom connector
ChatGPT · OpenAI
Settings → Connectors → add by URL, approve consent (OAuth, no token)
Cursor · Cursor
Settings → MCP → Add server (URL, then Login — or a token)
What it can do
- →
publish_document— Publish a file or a whole static-site bundle to a shareable link — default private, you choose who sees it. - →
update_document— Replace a document's content in place; the link, views and access all stay the same. - →
set_access— Change who can view it: public, unique link, email-verified, or a named allowlist. - →
set_lifecycle— Set a document's expiry, auto-make-private window, and view notifications. - →
unpublish_document— Take a document offline (soft delete) — restorable. - →
restore_document— Bring back an unpublished document — link, views and access return. - →
recent_activity— See who recently viewed/downloaded your docs (coarse location/device) and who accepted your invites. - →
list_documents— List what you've published, newest first. - →
get_document— Look up one document's share URL, access level and view stats. - →
whoami— Show the connected account (and, for token clients, when the key needs rotating).
Safe by default
- →New documents are a private unique link — going public takes an explicit confirmation you see in your client.
- →Every publish is scanned for leaked secrets and blocked if one is found.
- →Your connection is scoped to your documents — whether it's an OAuth authorisation or a token, you can revoke it instantly from your dashboard.
Questions
Is this how AI search finds my files?
No. MCP is a client connector — it only does something when you ask your assistant to. Your published documents stay noindex; nothing here changes that.
Do I need this if I use Claude Code or Cursor's agent?
For a coding agent that runs a shell, the publishing skill is the simplest path — one prompt, no connector. But a coding agent can use this MCP server too, if you'd rather add a connector than install the skill. Chat apps like Claude.ai and ChatGPT use MCP either way. Same result, whichever fits.
Publish from your chat — to anyone you choose
Connect the MCP server and share a link you control — free during early access.
Sign in & connect →