Before you start
Every client connects to the same endpoint:
https://zilfu.app/mcp/social-media
There are two ways to sign in to it, and which one you use depends on the client:
- Claude signs you in. Add Zilfu as a connector, approve it once in your browser, and Claude holds the access it was granted. Nothing to copy, nothing to store. See Claude below.
- Everything else carries your API key, sent as a Bearer token in the
Authorizationheader. Open Settings → AI agents — your key is already there, and the client picker on that page copies any of the blocks below with the key filled in. The same key works for the REST API, the MCP server, and the CLI.
Treat your key like a password. Anyone holding it can act on your account, in every space you belong to. Never commit it to source control or paste it into a shared chat. If one gets out, Rotate on the same Settings page replaces it immediately.
Claude
In Claude, open Settings → Connectors → Add custom connector, paste the endpoint, and add it. Then press Connect: Zilfu opens an approval screen naming what the connector will be able to do, and approving it sends you back to Claude with the connection live.
Leave the optional OAuth Client ID and Client Secret fields empty — Zilfu registers Claude on its own.
You will be asked to sign in to Zilfu first if you are not already. Everything the connector can reach is scoped to your account, exactly as the web app is, and you can disconnect it from the same Connectors screen at any time.
This is the connector path for Claude on the web, the desktop app, and mobile. Claude Code is different — it is a command-line client and uses your API key, as below.
Claude Code
From your terminal:
claude mcp add --transport http zilfu \
https://zilfu.app/mcp/social-media \
--header "Authorization: Bearer YOUR_KEY"
Start a session with claude and run /mcp — the zilfu server should be listed.
Claude Desktop, without a connector
The connector above is the simpler route and needs no key. If you would rather Claude Desktop hold a key instead, open Settings → Developer → Edit Config and add Zilfu to your mcpServers map. Claude Desktop reaches remote HTTP servers through the mcp-remote proxy:
{
"mcpServers": {
"zilfu": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://zilfu.app/mcp/social-media",
"--header",
"Authorization: Bearer YOUR_KEY"
]
}
}
}
Restart Claude Desktop. The Zilfu tools appear in the tools menu of any new conversation.
Cursor
Add Zilfu to ~/.cursor/mcp.json, or to .cursor/mcp.json for a single project:
{
"mcpServers": {
"zilfu": {
"url": "https://zilfu.app/mcp/social-media",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
}
Codex
Add Zilfu to ~/.codex/config.toml. The headers live in their own table:
[mcp_servers.zilfu]
url = "https://zilfu.app/mcp/social-media"
[mcp_servers.zilfu.http_headers]
Authorization = "Bearer YOUR_KEY"
VS Code / Copilot
Add Zilfu to .vscode/mcp.json. Note the top-level key is servers, not mcpServers, and the transport is explicit:
{
"servers": {
"zilfu": {
"type": "http",
"url": "https://zilfu.app/mcp/social-media",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
}
Gemini CLI
Add Zilfu to ~/.gemini/settings.json. The endpoint field is httpUrl — plain url there means SSE, and the connection will not come up:
{
"mcpServers": {
"zilfu": {
"httpUrl": "https://zilfu.app/mcp/social-media",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
}
Windsurf
Add Zilfu to ~/.codeium/windsurf/mcp_config.json. The endpoint field here is serverUrl:
{
"mcpServers": {
"zilfu": {
"serverUrl": "https://zilfu.app/mcp/social-media",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
}
Warp
Open Settings → AI → MCP Servers → Add and paste:
{
"zilfu": {
"url": "https://zilfu.app/mcp/social-media",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
Amp
Add Zilfu under amp.mcpServers in your Amp settings.json:
{
"amp.mcpServers": {
"zilfu": {
"url": "https://zilfu.app/mcp/social-media",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
}
Other clients
Any client that speaks MCP can connect. Point it at https://zilfu.app/mcp/social-media over streamable HTTP with an Authorization: Bearer YOUR_KEY header. Clients limited to the local stdio transport can reach the server through the mcp-remote proxy, exactly as in the Claude Desktop example.
Clients that prefer to sign in rather than carry a key can use OAuth instead: the server advertises its authorization endpoints at /.well-known/oauth-protected-resource and registers new clients itself, so a client supporting dynamic registration needs no setup here beyond the endpoint.
Clients disagree about what to call the endpoint — url, httpUrl, serverUrl — and the wrong one usually fails at startup with no message. If yours is listed above, copy its block from Settings → AI agents instead of typing it: each one comes with your key already in it.
Check it works
Ask the assistant something concrete:
"List my Zilfu spaces."
It should call list-spaces-tool and come back with the workspaces attached to your account. From there, ask it to draft a post or fill out your weekly schedule.
Troubleshooting
401 Unauthorized — the token is missing, malformed, or was rotated out. Copy the current key from Settings → AI agents and update the client config. On a Claude connector, disconnect and connect again to sign in fresh.
The connector will not add — check the endpoint is exactly https://zilfu.app/mcp/social-media, with no trailing slash, and leave the OAuth client fields empty.
Tools don't appear — restart the client after editing its config, and check the server name (zilfu) doesn't collide with another entry.
Nothing happens when you ask — confirm the assistant is allowed to call MCP tools. Some clients require enabling tool use per conversation.
"Space not found" or "Account not found" — the ID doesn't exist, or belongs to a space your key can't reach. Ask the assistant to list spaces and accounts first rather than guessing IDs.