Connect an AI app (MCP)
Add Cloudtifact to Claude, ChatGPT, Cursor or any MCP client: publish pages to a stable link and work through the comments people leave on them.
Cloudtifact runs a remote MCP server. Add it to an AI app once, and that app can publish pages to Cloudtifact and read, reply to and resolve the comments on them, as you.
Server address: https://mcp.cloudtifact.com/mcp
Add it
- Claude (claude.ai, desktop and mobile apps): Customize → Connectors → Add custom connector, paste the address, and click Add. On a Team or Enterprise plan an Owner adds it under Organization settings → Connectors (Add → Custom), then each person clicks Connect. (Claude's guide)
- Claude Code:
claude mcp add --transport http cloudtifact https://mcp.cloudtifact.com/mcp, then/mcpto sign in. - ChatGPT: on the Plugins page, click +, then Add custom MCP server. Give it a name, choose Public endpoint, paste the address, and finish with Create as a plugin. (OpenAI's guide)
- Codex:
codex mcp add cloudtifact --url https://mcp.cloudtifact.com/mcp, thencodex mcp login cloudtifact. - Cursor: add it to
~/.cursor/mcp.json(or.cursor/mcp.jsonin a project):{ "mcpServers": { "cloudtifact": { "url": "https://mcp.cloudtifact.com/mcp" } } }. (Cursor's guide) - VS Code: run MCP: Add Server from the Command Palette, or add to
.vscode/mcp.json:{ "servers": { "cloudtifact": { "type": "http", "url": "https://mcp.cloudtifact.com/mcp" } } }. (VS Code's guide) - Anything else: add a remote (Streamable HTTP) MCP server with the address.
The first time, the app opens a Cloudtifact page that says which app is asking and where its access goes. Continue, sign in, and approve. That's all: there's no key to copy.
What it can do
| Tool | What it does |
|---|---|
publish_page | Publish an HTML page (and its CSS, JS, images) as a new space, or a new version of one. Returns the links. |
list_spaces, get_space, read_file | See your spaces, their files and versions, and read a file. |
list_comments, add_comment | Read comment threads (open ones by default), or start one. |
reply_to_comment, resolve_comment, edit_comment | Say what changed, close what's done, fix your own wording. |
list_versions | Every version of a space. |
database_schema, query_database | A space's SQLite database: its tables, and read-only queries. |
list_workspaces | Who you're signed in as, and your workspaces. |
It can do what you can do in those workspaces, and nothing more. Replies and resolves show who acted for you, like "@you via Claude". New spaces are private to the workspace unless you ask for a public link.
Revoke it
The connection is a sign-in like the CLI's, listed by the app's name (for example "Claude (MCP)"). Revoke it in Settings → CLI sign-ins on the website: within a minute the app loses access and asks you to connect again. Removing the connector in the app also stops it.
For client developers
- Streamable HTTP, stateless. OAuth 2.1 with PKCE (S256), discovered from the
401at/mcp(/.well-known/oauth-protected-resource/mcp, then/.well-known/oauth-authorization-server). - Clients register with Client ID Metadata Documents or dynamic client registration (
/oauth/register). - Scopes:
cloudtifact(the access), plusopenid,email,profileandoffline_access./oauth/userinforeturnssub,emailandemail_verified. - Access tokens last an hour; refresh tokens 90 days after their last use, rotated on each refresh.
- Redirects:
https, loopbackhttpon any port (RFC 8252), and private-use schemes such as Cursor'scursor://anysphere.cursor-mcp/oauth/callback. - A revoked connection gets
401witherror="invalid_token"at/mcp, andinvalid_granton refresh.