For Developers

The SEO content engine your agent can run

Inbounder exposes a Model Context Protocol (MCP) server so Claude, ChatGPT, Cursor, or your own agents can operate it end-to-end on a user's behalf: build topical content clusters, write & publish articles in the brand voice, monitor rankings and AI-search (GEO) visibility, and auto-promote on social.

No-card-required free tier. 3 credits, 10 calls/min, 200 calls/day.

60-second quickstart

1

Sign up free

Free tier gets you 3 credits, no card required. Use them in the dashboard or over MCP.

2

Issue a token

Open /settings/api, name your token, pick scopes, and copy the secret (shown once).

3

Wire your agent

Point Claude Desktop, Cursor, or any MCP client at /api/mcp with Authorization: Bearer …

Try it now — no signup needed (tools/list is public)
curl -sX POST https://www.getinbounder.com/api/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | jq

Connect your agent

Streamable HTTP transport, Bearer auth. Replace YOUR_TOKEN with the token from /settings/api.

Claude Code — one command
claude mcp add --transport http inbounder https://www.getinbounder.com/api/mcp \
  --header "Authorization: Bearer YOUR_TOKEN"
Cursor — ~/.cursor/mcp.json
{
  "mcpServers": {
    "inbounder": {
      "url": "https://www.getinbounder.com/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}
Claude Desktop — claude_desktop_config.json (via mcp-remote, needs Node)
{
  "mcpServers": {
    "inbounder": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://www.getinbounder.com/api/mcp",
        "--header",
        "Authorization: Bearer YOUR_TOKEN"
      ]
    }
  }
}

The server also ships MCP prompts (run_full_content_job, weekly_content_ops, fix_underperforming_content) — pre-built workflow recipes your client can invoke via prompts/get so multi-step jobs run with the right tool choreography.

16 tools out of the box

Every tool wraps an existing Inbounder primitive. Org-scoped, scope-gated, credit-metered.

list_clients
free

List every client in your organization with their ids (id, name, domain, industry). Call this first — most other tools take a client_id. Free, no scopes required.

create_client
free

Create a client (brand/site) in your organization and return its client_id. If a client with the same name already exists it is returned instead (already_existed: true). Fails with client_limit_reached when the plan's client limit is hit. Use when list_clients shows no suitable client.

write:clients
list_articles
free

List articles in your organization (id, title, status, scores, client) — optionally filtered by client_id and/or status, paginated. Returns metadata only, never article bodies. Use to discover article_ids before get_article, generate_article, score_content, or publish_to_target.

read:articles
get_article
free

Fetch a single article in full: title, status, keywords, scores, published URL, and the complete content (unless include_content=false; the outline is returned while there is no content yet). Use after list_articles when you need the actual text.

read:articles
list_connections
free

List your organization's active integration connections (WordPress, Webflow, Google Search Console, Zapier) with their connection ids, site name/URL, and client scope. Use to pick a connection_id before publish_to_target, or to check whether GSC is connected before get_gsc_performance.

get_credit_balance
free

Return your organization's remaining credit balance (total plus subscription/referral/purchased breakdown; -1 = unlimited), what each tool costs, and today's daily-quota usage. Use before a multi-step workflow to confirm you can afford every paid call. Exempt from daily quotas (the per-minute rate limit still applies).

get_brand_voice
free

Fetch the brand voice profile (tone, ICP, vocabulary, sample patterns) for a specific client. Use before generating any content for that client so the output sounds like them.

read:brand_voice
analyze_brand_voice
1 credit

Scrape a website's text (homepage, /about, blog index) and extract a structured brand VOICE profile with Claude: tone, formality, vocabulary, style guidelines, sentence structure, plus the ideal customer profile (ICP) and example phrases. If save_to_client_id is provided, the profile is persisted to that client's brand voice (created or updated) and approved, so generate_article and generate_social_posts immediately write in it.

write:brand_voice
research_keywords
free

Find target keywords for a topic — a ranked set with search intent and a qualitative difficulty/opportunity read, shaped by your strategy (quick_wins / authority_building / balanced). Use this to plan what to write before create_content_cluster or generate_article. (Difficulty/opportunity are AI estimates; connect a keyword-data provider for hard volume metrics.)

read:articles
create_content_cluster
1 credit

Design AND persist a topical-authority content cluster for a client: a pillar article plus N interlinked supporting articles, each saved as a real article (status 'outlined') with a title, meta description, target keywords, and outline. Creates a new project for the client, saves the keyword research behind the plan, and returns real ids — feed each article_id to generate_article (pillar first) to write the content. Never modifies existing projects or articles. Requires client_id (use list_clients).

write:articles
generate_article
1 credit

Write a publish-ready SEO article in the client's brand voice for a title/topic + target keyword. Returns the article HTML plus AEO + content-quality scores; if an existing article_id is given, the content is saved back to it (ready to publish_to_target). The 'write' step of the content engine.

write:articles
score_content
free

Score a piece of content against a target keyword. Returns AEO (Answer Engine Optimization — readiness for ChatGPT/Perplexity/Google AI citation) and content quality scores. Useful for evaluating articles written outside Inbounder before publishing.

generate_social_posts
1 credit

Turn an article into channel-ready social promotion — one tailored post per requested platform (LinkedIn, X/Twitter, Instagram, Facebook, Threads), in the brand's voice. Accepts an existing article_id (content is fetched for you) or raw content. Returns the posts synchronously. The 'auto-promote' step after publishing.

write:social
publish_to_target
1 credit

Publish an Inbounder article to a connected destination. Returns the published URL and target-side ID. Idempotent: republishing an already-published article updates the existing post instead of duplicating it. Triggers the per-published-article outcome event on Outcome tier.

write:articles
get_gsc_performance
free

Return GSC performance for a client over a date range: clicks, impressions, CTR, and average position, aggregated by query, page, country, or device (group_by). Reads from synced data — requires the client to have GSC connected and the daily sync cron to be active.

read:gsc
get_geo_visibility
free

Report GEO (Generative Engine Optimization) readiness for a client's content — how well each article is optimized to be cited by AI answer engines (ChatGPT, Perplexity, Google AI Overviews), based on Inbounder's per-article AEO score. Returns an average GEO score, counts of well-optimized vs. needs-work articles, and a ranked per-article breakdown. Omit client_id for an org-wide report. (Optimization readiness; live cross-engine citation tracking is on the roadmap.)

read:geo

MCP tier limits

TierRate limitDaily callsCreditsSLA
Free10 calls/min200/day3 one-time
Starter60 calls/min1,000/day10/mobest-effort
Growth120 calls/min3,000/day30/mobest-effort
Advanced240 calls/min10,000/day75/mo99.5% target

Read-only tools (e.g. score_content, get_gsc_performance) don't consume credits — they count against the rate limit and daily quota only. research_keywords is credit-free but LLM-backed, so it has its own daily cap (20/100/250/500 by tier). get_credit_balance is quota-exempt and reports your live usage.

Hashed at rest
SHA-256, timing-safe verify
Scoped tokens
11 scopes, revoke any time
Org-scoped data
No cross-tenant access

Ready to build?

The server describes itself: GET /api/mcp. Discovery manifest at /.well-known/mcp.json.

Questions? See Agents & API in the Help Center.