Zelf MCP
Connect an AI client to your Zelf data and it can search content, read comments, look up creators, run an AI analysis, and vet a creator, as tools rather than as HTTP requests you write yourself. Everything below is the same operation as the matching API endpoint, with the same filters.
What a connection can do
Reading is granted to every connection. Starting an AI analysis or a creator vetting is a write, and the consent screen offers it whenever you connect a client: it arrives ticked, and clearing the box connects the client read only. A write spends your brand’s quota, and nothing a client can call edits or deletes anything.
Content and creators
ReadSearch posts and comments across your brands and your competitors, look a creator up by handle or id, and total any of it without paging.
search_content, search_creators, list_comments, content_statisticsAI analysis
Read and writeStart an analysis over a set of posts and ask it a question in plain words, then list what exists and read a finished result. Starting one spends quota and takes a while, so the answer arrives by polling or by webhook, not in the same reply.
start_ai_analysis, list_ai_analyses, get_ai_analysis, list_ai_analysis_contents, ai_analysis_content_statisticsCreator vetting
Read and writeVet a creator from their profile URL for safety and brand fit, then list vettings and read the report each one produced. A recent vetting of the same creator can be read for free, so check before starting another.
start_creator_vetting, list_creator_vettings, get_creator_vetting, list_creator_vetting_contents, creator_vetting_content_statisticsWebhooks and usage
ReadInspect your subscriptions, the events available, and every delivery attempt, plus what the brand has spent against its quota.
list_webhook_subscriptions, list_webhook_deliveries, zelf_quota
Clients
Point your client at the server URL. There is no key to copy: the client sends you to a Zelf approval page in the browser, where you sign in and choose the brand it may read.
Server URL
https://mcp.hellozelf.com/mcpInclude the full path. A client pointed at the host alone finds nothing there.
Pick your client
16Claude web and desktop
ConnectorClaude connects from Anthropic servers, so nothing runs on your machine.
- 1
On Pro or Max, open Settings, then Connectors, then Add custom connector.
- 2
On Team or Enterprise an Owner adds it once for everyone, in Organization settings, then Connectors, then Add. Members do not get that button, so their Connectors page lists only what an Owner has already added.
- 3
Name it Zelf and paste the server URL. Leave the OAuth client fields empty, the connection registers itself.
urlhttps://mcp.hellozelf.com/mcp
- 4
Click Connect and approve. Everyone else on the plan then connects it themselves from Settings, Connectors, and approves for their own brand.
Claude Code
TerminalOne command, then approve in the browser.
- 1
Add the server. With --scope user it is available in every project.
shellclaude mcp add --transport http --scope user zelf https://mcp.hellozelf.com/mcp
- 2
Run /mcp, pick Authenticate, and your browser opens here to approve.
claude code/mcp
- 3
For a team, commit this as .mcp.json in the repository root instead. Everyone who opens the project is offered the server and approves it once, each for their own brand.
.mcp.json{ "mcpServers": { "zelf": { "type": "http", "url": "https://mcp.hellozelf.com/mcp" } } }
ChatGPT
PluginNeeds a paid plan. Developer mode turns on either way, but the Free plan has nowhere to add a custom plugin.
- 1
Open Settings, then Security and login, and turn on Developer mode. It warns about unverified connectors, which is what a custom one is.
- 2
Open Plugins in the sidebar and click the + button. This used to live under Connectors.
- 3
Paste the server URL and choose OAuth as the authentication.
urlhttps://mcp.hellozelf.com/mcp
- 4
Approve the connection, then enable the plugin inside a chat.
Codex CLI
TerminalConfigured in ~/.codex/config.toml, or .codex/config.toml for one project.
- 1
Add the server.
config.toml[mcp_servers.zelf] url = "https://mcp.hellozelf.com/mcp" auth = "oauth"
- 2
Sign in, which opens the approval page here.
shellcodex mcp login zelf
- 3
Run /mcp in a session to confirm the tools are listed.
codex/mcp
Gemini web app
Connected appConnected in the browser, then usable from the mobile app too. Needs access to Gemini Spark, a personal Google account, and Keep Activity on.
- 1
At gemini.google.com open Settings and help, then Connected Apps.
- 2
Under custom apps for Spark, paste the server URL. That is all it needs: the server registers clients itself, so the credential fields under Show more stay empty.
urlhttps://mcp.hellozelf.com/mcp
- 3
Sign in and approve, then pick the brand it may read.
Gemini CLI
TerminalConfigured in ~/.gemini/settings.json. It runs the whole sign-in itself.
- 1
Add the server. The field here is httpUrl, and no header or token belongs in it.
~/.gemini/settings.json{ "mcpServers": { "zelf": { "httpUrl": "https://mcp.hellozelf.com/mcp", "oauth": { "enabled": true } } } } - 2
Start Gemini and run /mcp auth, which opens the approval page here.
gemini/mcp auth
Antigravity
EditorGlobal in ~/.gemini/config/mcp_config.json, per workspace in .agents/mcp_config.json.
- 1
In the agent panel open the ... menu, then MCP Servers, Manage MCP Servers, View raw config.
- 2
Add the server. The field here is serverUrl, not url.
mcp_config.json{ "mcpServers": { "zelf": { "serverUrl": "https://mcp.hellozelf.com/mcp" } } }
JetBrains IDEs
EditorAI Assistant 2026.1 or newer, across IntelliJ, PyCharm, WebStorm, GoLand and the rest.
- 1
Open Settings, then Tools, then AI Assistant, then Model Context Protocol, and click Add.
- 2
Paste this as the JSON config.
mcp.json{ "mcpServers": { "zelf": { "url": "https://mcp.hellozelf.com/mcp" } } } - 3
If the IDE does not open a browser to sign in, run it through mcp-remote instead, which handles the approval and needs nothing but node.
mcp.json{ "mcpServers": { "zelf": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.hellozelf.com/mcp"] } } }
Cursor
EditorOne project in .cursor/mcp.json, every project in ~/.cursor/mcp.json.
- 1
Click Add to Cursor above, which opens the editor with the server filled in. The rest is only needed if you would rather edit the file.
- 2
Open Settings, then Tools and MCP, then New MCP Server.
- 3
Put this in the file that opens, then approve in the browser.
.cursor/mcp.json{ "mcpServers": { "zelf": { "type": "streamableHttp", "url": "https://mcp.hellozelf.com/mcp" } } }
VS Code and Copilot
EditorNeeds VS Code 1.101 or newer, which is where remote MCP and OAuth arrived.
- 1
Click Add to VS Code above, or run MCP: Add Server from the Command Palette, or edit the file directly.
- 2
Add the server. The top-level key is servers, not mcpServers.
.vscode/mcp.json{ "servers": { "zelf": { "type": "http", "url": "https://mcp.hellozelf.com/mcp" } } } - 3
A browser window opens on the first connection. Approve, then turn on Agent mode in Copilot Chat.
Windsurf
EditorCascade reads ~/.codeium/windsurf/mcp_config.json.
- 1
Add the server. Windsurf takes serverUrl for a remote one.
mcp_config.json{ "mcpServers": { "zelf": { "serverUrl": "https://mcp.hellozelf.com/mcp" } } } - 2
Refresh the server list in Cascade and approve in the browser.
Zed
EditorIn ~/.config/zed/settings.json, under context_servers rather than mcpServers.
- 1
Add the server. Leave out any Authorization header and Zed runs the sign-in for you.
settings.json{ "context_servers": { "zelf": { "url": "https://mcp.hellozelf.com/mcp" } } }
Cline
EditorOpen the Cline panel, then the menu, then MCP Servers to reach the file.
- 1
Add the server. The type has to be streamableHttp exactly, or Cline falls back to SSE and the connection fails.
cline_mcp_settings.json{ "mcpServers": { "zelf": { "type": "streamableHttp", "url": "https://mcp.hellozelf.com/mcp", "disabled": false } } }
Warp
TerminalAdded through the app rather than a file you edit by hand.
- 1
Open Settings, then Agents, then MCP servers, and add a server.
- 2
Give it a URL, which is the only transport field a remote server takes.
warp mcp server{ "zelf": { "url": "https://mcp.hellozelf.com/mcp" } }
OpenCode
TerminalIt registers itself and starts the sign-in as soon as it sees the 401.
- 1
Add the server to opencode.json.
opencode.json{ "$schema": "https://opencode.ai/config.json", "mcp": { "zelf": { "type": "remote", "url": "https://mcp.hellozelf.com/mcp", "enabled": true } } }
Any other client
AnythingNothing here is specific to one client, so anything speaking MCP over HTTP works.
- 1
Give it the server URL and let it register itself. It will send you here to sign in and pick a brand.
urlhttps://mcp.hellozelf.com/mcp
- 2
A client with no OAuth of its own can go through mcp-remote, which opens the browser for the approval and then speaks to it locally.
json{ "mcpServers": { "zelf": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.hellozelf.com/mcp"] } } } - 3
Clients that want a config file usually take this shape.
json{ "mcpServers": { "zelf": { "url": "https://mcp.hellozelf.com/mcp" } } }
If it will not connect
- Use the full URL including /mcp. The host on its own answers nothing.
- Signing in happens in the browser, when the client sends you to approve. The brand you pick there is the one that client can read.
- A client that starts an AI analysis or a creator vetting needs the write approval. If you left that box unticked, reconnect and tick it. Nothing a client can call edits or deletes anything.
- Disconnecting on the Connections page takes effect within a minute, for every client sharing that approval.
Tools
What a connected client can do, and what each tool takes. Reads are available to every connection; a write runs only when you approved one as you connected the client.