Connect spacesheep to any MCP-compatible client. The server URL is always https://mcp.spacesheep.dev/mcp.
To skip the hand-editing, paste Set up spacesheep for me: https://spacesheep.dev/setup into your agent — it reads the setup guide and writes the config for whichever client it's running in.
Several agents on one machine, or many machines? npx -y spacesheep@latest install connects every one of them at once with one sign-in per machine: Every agent on a machine.
Pick your client
Claude Code (plugin — one line)
The plugin bundles the /sheep skill and the MCP connection, and updates itself from here — you never reinstall it to get new guidance:
claude plugin marketplace add https://spacesheep.dev/plugin/marketplace.json
claude plugin install spacesheep@spacesheep
Required after installation: Restart your Claude session (exit and run claude again, or start a new terminal) for the MCP server and tools to take effect.
In auto mode, Claude Code won't let an agent install a plugin on its own, so type it yourself with ! in front, as one line: ! claude plugin marketplace add https://spacesheep.dev/plugin/marketplace.json && claude plugin install spacesheep@spacesheep. Use the plugin or claude mcp add below, not both — the plugin already includes the server.
Sign in the first time /sheep runs: Claude Code walks the OAuth flow itself, so there's no key to paste. Later, claude plugin update spacesheep pulls the current skill. Grok Build reads the same .mcp.json, so an install here works there too.
Claude Code / Cursor / Windsurf (API key)
Claude Code writes the correct config for you — and via OAuth, so there's no key to manage:
claude mcp add --transport http --scope user spacesheep https://mcp.spacesheep.dev/mcp
Required after installation: Restart your Claude session (exit and run claude again, or start a new terminal) for the MCP server and tools to take effect.
By hand, the file is ~/.claude.json (user scope) or .mcp.json (project); Cursor uses ~/.cursor/mcp.json (or one click: Add to Cursor), and Windsurf uses ~/.codeium/windsurf/mcp_config.json with serverUrl instead of url:
{
"mcpServers": {
"spacesheep": {
"type": "http",
"url": "https://mcp.spacesheep.dev/mcp",
"headers": {
"Authorization": "Bearer ${SPACESHEEP_KEY}"
}
}
}
}
"type": "http" is required for a remote server — "type": "url" is not a valid transport, and a url with no type errors. Drop the headers block entirely if you're using OAuth. Get an API key from settings (claim a username first) and keep it in the SPACESHEEP_KEY environment variable (export SPACESHEEP_KEY=ss_…) rather than inline, since .mcp.json is usually committed. The CLI reads the same variable.
Claude.ai, ChatGPT, Grok — connectors
Anywhere that takes a remote MCP server, paste the URL and nothing else:
https://mcp.spacesheep.dev/mcp
- Claude (web, Desktop, mobile) — Connect to Claude opens Add custom connector with spacesheep filled in; or Settings → Connectors → Add custom connector and paste the URL. Then start a new conversation/session so the MCP tools become available.
- ChatGPT — Developer mode on (Settings → Security and login), then add the URL as a custom server: MCP in the composer's + menu, or chatgpt.com/plugins → + → Create plugin.
- Grok — grok.com/connectors → New connector → Custom.
Each one discovers the OAuth endpoints from the server, sends you here to sign in, and shows you what it's about to be allowed to do. No API key: the connection is its own credential, and revoking it in settings disconnects that client.
/.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server on mcp.spacesheep.dev.Gemini CLI
Two files into an extension directory — the second one is the live skill, so it's the same guidance everything else runs:
mkdir -p ~/.gemini/extensions/spacesheep && cd ~/.gemini/extensions/spacesheep
curl -fsSLO https://spacesheep.dev/plugin/gemini-extension.json
curl -fsSL https://spacesheep.dev/skill/sheep.md -o SHEEP.md
Grok API, and other agents that pass a static key
xAI's API takes the server as a tool on the request. It sends a bearer header rather than running OAuth, so give it a key from settings:
{
"type": "mcp",
"server_url": "https://mcp.spacesheep.dev/mcp",
"server_label": "spacesheep",
"authorization": "ss_your_key_here"
}
No agent, or one that can't sign in? Terminal and CI · Chrome extension · Agents that can't sign in
Read another account's pages (read-only key)
A machine that publishes as one account can read the pages of another: make a Read only key in the account to be read (Settings → API keys) and add it as a second server, named for that account. It lists only read_space, search_spaces, list_spaces, list_versions and list_comments, and refuses every write; publishing goes through the machine's own spacesheep server.
claude mcp add --scope user --transport http spacesheep-<handle> https://mcp.spacesheep.dev/mcp --header 'Authorization: Bearer ss_…'