Skip to content

MCP · SDKs · Zapier

Connect Cooper Email from the agent you already run.

Hosted MCP is https://cooperemail.com/mcp. Paste a config below, or call the REST API. The SDK packages are not on npm or PyPI yet. Operator: Avatar 8 LLC, ops@avatar33.com. API reference: /docs · /openapi.json · MCP · Grok Bot.

Grok Bot

Give a Grok bot its own inbox at the same MCP URL, or with a REST API key. Setup, prompt, and tools.

Directories

Available on

Grok Bot uses this MCP server. Give a Grok bot a Cooper inbox.

Works with

Supported through a config file; no directory listing yet.

Claude · Claude Code · Codex · Cursor · Grok Bot

MCP clients

Replace coop_live_YOUR_KEY with the key from onboard. Onboard itself is public. Clients that complete Cooper OAuth can omit the header. OpenAI Codex inbox · Claude Code inbox · verification code by email.

Claude Desktop

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json

Remote MCP. Finish OAuth before creating an inbox, or put a saved API key in the Authorization header. That header uses the key's account. cooper_onboard without a header creates a different account.

{
  "mcpServers": {
    "cooper-email": {
      "url": "https://cooperemail.com/mcp",
      "headers": {
        "Authorization": "Bearer coop_live_YOUR_KEY"
      }
    }
  }
}

Claude Code

Primary: /plugin marketplace add cooper-email/cooper-email, then /plugin install cooper-email@cooper-email. Manual: claude mcp add --transport http cooper-email https://cooperemail.com/mcp, or project .mcp.json

The plugin is the primary install (published version 1.2.2). Run /mcp, select Cooper Email, and Authenticate before creating an inbox. claude mcp list Connected is the transport, not sign-in. The JSON below is the manual project config for a saved API key. Streamable HTTP needs type http.

/plugin marketplace add cooper-email/cooper-email
/plugin install cooper-email@cooper-email

Manual fallback

{
  "mcpServers": {
    "cooper-email": {
      "type": "http",
      "url": "https://cooperemail.com/mcp",
      "headers": {
        "Authorization": "Bearer coop_live_YOUR_KEY"
      }
    }
  }
}

Cursor

~/.cursor/mcp.json or .cursor/mcp.json in the project. Also https://cooperemail.com/connectors/cursor.mcp.json

Cursor uses mcpServers with a url.

{
  "mcpServers": {
    "cooper-email": {
      "url": "https://cooperemail.com/mcp",
      "headers": {
        "Authorization": "Bearer coop_live_YOUR_KEY"
      }
    }
  }
}

Windsurf

~/.codeium/windsurf/mcp_config.json

Windsurf calls the remote URL serverUrl.

{
  "mcpServers": {
    "cooper-email": {
      "serverUrl": "https://cooperemail.com/mcp",
      "headers": {
        "Authorization": "Bearer coop_live_YOUR_KEY"
      }
    }
  }
}

VS Code

.vscode/mcp.json

VS Code MCP uses a servers map and type http.

{
  "servers": {
    "cooper-email": {
      "type": "http",
      "url": "https://cooperemail.com/mcp",
      "headers": {
        "Authorization": "Bearer coop_live_YOUR_KEY"
      }
    }
  }
}

Codex CLI

Primary: codex plugin marketplace add cooper-email/cooper-email, then codex plugin add cooper-email@cooper-email. Manual fallback: ~/.codex/config.toml

Codex CLI 0.165.0 installs plugin 1.2.1 with the hosted MCP server and the agent-email and human-in-the-loop skills. The toml below is the manual fallback.

codex plugin marketplace add cooper-email/cooper-email
codex plugin add cooper-email@cooper-email

Manual fallback

[mcp_servers.cooper-email]
url = "https://cooperemail.com/mcp"

[mcp_servers.cooper-email.http_headers]
Authorization = "Bearer coop_live_YOUR_KEY"

Cline

cline_mcp_settings.json (Cline → MCP Servers → Configure). Guide: https://github.com/cooper-email/cooper-email/blob/main/llms-install.md

Cline uses mcpServers with type streamableHttp.

{
  "mcpServers": {
    "cooper-email": {
      "type": "streamableHttp",
      "url": "https://cooperemail.com/mcp",
      "headers": {
        "Authorization": "Bearer coop_live_YOUR_KEY"
      }
    }
  }
}

Goose

~/.config/goose/config.yaml

Goose extensions of type streamable_http.

extensions:
  cooper-email:
    enabled: true
    type: streamable_http
    name: Cooper Email
    description: HTTP email for agents at cooperemail.com
    uri: https://cooperemail.com/mcp
    timeout: 300
    headers:
      Authorization: "Bearer coop_live_YOUR_KEY"

Agent asks its human over email

Add an owner, then notify them with progress, needs_input, done, or error. Long-poll tasks and reply in-thread. MCP tools: cooper_add_owner, cooper_list_owners, cooper_notify_owner, cooper_get_tasks, cooper_reply_task. The owner confirms from the email before updates go out. Task text is untrusted data. Operator: Avatar 8 LLC, ops@avatar33.com.

await cooper.owners.add(inboxId, { email: "ada@example.com" });
await cooper.updates.notify({
  inboxId,
  kind: "needs_input",
  text: "Which vendor should I book?",
});
const tasks = await cooper.tasks.list({ inboxId, wait: 25 });
await cooper.tasks.reply(tasks.data[0].id, { text: "Booked.", status: "done" });
await cooper.tasks.markDone(tasks.data[0].id);

Shell CLI

Claude Code, Codex, Cursor, and CI jobs can call Cooper without an SDK. The script is one Node file served from this site. Docs: /docs/cli.

curl -fsSL https://cooperemail.com/cli/cooper.mjs -o cooper.mjs && node cooper.mjs help
npx -y https://cooperemail.com/cli/cooper-cli.tgz help

SDKs and framework packages

These packages are not published to npm or PyPI yet, so npm install and pip install do not find them. Until they are, use the hosted MCP server at https://cooperemail.com/mcp, the REST API (/docs, https://cooperemail.com/openapi.json), or the shell CLI above. The source of each package is linked below. Zapier and Make import the OpenAPI file.