Skip to content
Docs · MCP server

MCP server

One remote MCP server. Your agent reads your brand, writes hooks, makes posts and schedules them.

Endpoints

URLAuthUse for
https://app.hookbird.ai/api/mcp-oauth-dynamicOAuth 2.1 + PKCE, dynamic registrationClaude, ChatGPT, Cursor, OpenClaw, Hermes
https://app.hookbird.ai/api/mcpHeader Authorization: Bearer <key>Claude Code, scripts, Grok
https://app.hookbird.ai/api/mcp/<key>Key in the pathClients that cannot send headers

Transport: Streamable HTTP. Your API key is in the app under Agents (copy, reveal, regenerate, test connection).

Claude Code

bash
claude mcp add --transport http hookbird https://app.hookbird.ai/api/mcp-oauth-dynamic

Then type /mcp, pick hookbird and sign in. With a key instead:

bash
claude mcp add --transport http hookbird https://app.hookbird.ai/api/mcp \
  --header "Authorization: Bearer $HOOKBIRD_API_KEY"

Claude desktop & web

  1. 1Settings → Connectors → Add custom connector
  2. 2Name it Hookbird and paste the URL
  3. 3Click Connect and approve access
url
https://app.hookbird.ai/api/mcp-oauth-dynamic

ChatGPT

  1. 1Settings → Apps & Connectors → Advanced → Developer mode
  2. 2Create connector, paste the URL, authentication: OAuth
  3. 3Enable it in a chat from the + menu
url
https://app.hookbird.ai/api/mcp-oauth-dynamic

Cursor

Add to .cursor/mcp.json (or ~/.cursor/mcp.json), then Settings → MCP → Connect.

json
{
  "mcpServers": {
    "hookbird": {
      "url": "https://app.hookbird.ai/api/mcp-oauth-dynamic"
    }
  }
}

OpenClaw

bash
openclaw mcp add hookbird --url https://app.hookbird.ai/api/mcp-oauth-dynamic --transport streamable-http --auth oauth
openclaw mcp login hookbird

Ask: “write 5 hooks for my brand and score them”.

Hermes Agent

yaml
# ~/.hermes/config.yaml
mcp_servers:
  hookbird:
    url: "https://app.hookbird.ai/api/mcp-oauth-dynamic"
    auth: oauth

Run hermes mcp login hookbird, then /reload-mcp. Install with pip install "hermes-agent[mcp]".

Grok (xAI API)

Pass Hookbird as a remote MCP tool in a Responses API request. xAI calls it server-side.

json
{
  "model": "grok-4.7",
  "input": "Score this hook: POV: 11pm, your accountant wants 43 receipts",
  "tools": [
    {
      "type": "mcp",
      "server_label": "hookbird",
      "server_url": "https://app.hookbird.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer $HOOKBIRD_API_KEY"
      }
    }
  ]
}

Tools

Brand & hooks

ToolDoes
brand_profileRead the brand: voice, products, audiences, competitors
brand_readBuild the brand profile from a URL
hooks_generateWrite scored hooks, best first
hooks_scoreScore a hook 0–100 with fixes and a rewrite
strategy_planPlan weeks of posts as calendar drafts

Studio

ToolDoes
studio_formatsFormats and their credit prices
studio_generateStart a generation (spends credits)
studio_statusPoll a generation, get its outputs
credits_balanceCredits left
generateImageToolQuick image
generateVideoOptions · generateVideoTool · videoStatusTool · videoFunctionToolVideo helpers

Research

ToolDoes
radar_adsCompetitor ads and days live
radar_trendsHashtags, sounds, creators by niche and region
benchmarksYour 30 days vs niche median and top 10%

Channels & posts

ToolDoes
integrationListConnected channels
integrationSchemaRules and settings for a channel
integrationSchedulePostToolSchedule or draft a post, after you confirm
postsListTool · postSettingsTool · deletePostToolRead, edit, delete posts
groupList · triggerToolCustomers, channel actions

Media

ToolDoes
uploadFromUrlToolImport a public file URL
mediaListToolMedia library
uploadWidgetTool · uploadWidgetTicketTool · uploadWidgetStatusToolUpload widget (MCP Apps clients)
clippingTool · clippingStatusTool · clippingWidgetTicketToolClip long videos
i
Hooks, brand, plans and research are free (daily caps apply). Only Studio spends credits, and the agent quotes the price first. Every post needs your confirmation.

Security

  • Each key or token is scoped to one workspace. Nothing crosses workspaces.
  • Regenerate the key in Agents to revoke every client using it.
  • Missing or wrong key: the server refuses the call.