Skip to content
DEVELOPERS · MCP SERVER

Your agent works here too.

Connect Claude, Cursor or any MCP client to the hosted Fovea server with an API key. It searches the same library, reads the same numbers, and builds collections with the write scope you give it.

Works with Claude Code, Claude Desktop, Cursor and any MCP client

Settings

Integrations

MCP server

Ask Claude, Cursor or any MCP client about this workspace's creatives, products and ad performance.

Live
Server URL (streamable HTTP)
https://api.foveahq.com/mcp

Authenticate with an API key from this page: Authorization: Bearer fov_.... The server only sees Acme Watches, with the key's access.

Claude Code: run once, then ask about your creatives.

Terminal
claude mcp add --transport http fovea https://api.foveahq.com/mcp \
  --header "Authorization: Bearer fov_your_key"
Tools (10)
ToolWhat it doesAccess
whoamiWorkspace, scopes, money visibility.Read
search_assetsSearch the creative library.Read
get_assetOne creative with analysis, links and performance.Read
top_creativesRank creatives by spend, ROAS, CTR, impressions.Read
list_collectionsCollections with asset counts.Read
create_collectionCreate a collection (optionally with assets).Write

“Which three creatives had the best ROAS this month?”

Asked in Claude CodeAnswered from your workspace, with the key's access.
claude ~/acme-watches
> Which three creatives had the best ROAS this month?

  fovea · top_creatives(metric="roas", days=30, limit=3)

  1. ugc-maya-field40-gift           3.42x
  2. motion-diver42-freeshipping     2.64x
  3. ugc-sam-chrono39-wrist          1.71x

> Put them in a collection called "October winners".

  fovea · create_collection(name="October winners",
          asset_ids=["6a1f0c1e-...", "...", "..."])

  Done. "October winners" has 3 creatives.

Ten tools, real arguments.

Every tool runs the same workspace-scoped code as Ask Fovi and the REST API, so tenant isolation and money gating are the same everywhere.

ReadSearch, rank and read creatives, collections, products and Meta ads.
WriteCreate collections and add assets, with the Write scope.
RefusalsA missing scope comes back as a tool error. Nothing changes.

Every tool, every argument.

The full list, as the server describes itself. Arguments marked ? are optional.

whoami
Which workspace the key reads, its scopes, and whether money is visible.args: none
read
search_assets
Search names, hooks, descriptions, angles, styles, creators, on-screen text, transcripts and linked products. Newest first.args: query?, tags?, media_type? (image | video | audio), limit (1-25, default 10)
read
get_asset
One creative: tags, AI analysis, text excerpts, linked products and ads, collections, performance.args: asset_id (UUID)
read
top_creatives
Rank creatives by their linked Meta ads. Without money access, ROAS and purchases fall back to spend order.args: metric (spend | roas | ctr | impressions | purchases), days (1-365, default 30), date_from?, date_to?, limit (1-25), min_impressions
read
list_collections
The workspace's collections with asset counts.args: query?, limit (1-50, default 25)
read
create_collection
Create a collection, optionally with assets. Needs the Write scope.args: name, description?, asset_ids (UUIDs, up to 200)
write
add_to_collection
Add assets to an existing collection. Needs the Write scope.args: collection_id, asset_ids (1-200)
write
list_products
The Shopify catalog, filtered by title or handle.args: query?, limit (1-100, default 25)
read
get_product
A product and the creatives linked to it, ranked by revenue (or spend or impressions when money is hidden).args: product_id? | handle? | query?
read
ads_summary
Account totals and top ads for a window, or one ad's window, lifetime and daily numbers.args: ad_id?, days (1-365, default 30), date_from?, date_to?, limit (1-25, default 5)
read

API keys

Let scripts, Zapier, Claude or Cursor read this workspace through the Fovea API and MCP server.

KeyAccessPrefixLast used
Claude CodeReadWritefov_Qm3x8sLp...4m ago
Monday winners reportReadMoneyfov_7TnVb2Kd...2d ago
ZapierReadfov_Hc9wE1rZ...1h ago
Base URL
https://api.foveahq.com/api/v1/public

Money stays gated, even for agents.

Spend, revenue and ROAS reach an agent only on a key with the Money scope, which only an Admin can add. Without it, money fields are left out and revenue_visible is false.

ReadEvery key has it: library, collections, products and ads without money.
WriteCreate collections and add assets to them.
MoneySpend, revenue, purchases and ROAS. Admins only.

Connect in one command.

Streamable HTTP at api.foveahq.com/mcp. A bearer API key from Settings > Integrations. Included on every paid plan.

Claude Code · terminal
claude mcp add --transport http fovea https://api.foveahq.com/mcp \
  --header "Authorization: Bearer fov_your_key"
Cursor · ~/.cursor/mcp.json
{
  "mcpServers": {
    "fovea": {
      "url": "https://api.foveahq.com/mcp",
      "headers": {
        "Authorization": "Bearer fov_your_key"
      }
    }
  }
}
Claude Desktop · claude_desktop_config.json
{
  "mcpServers": {
    "fovea": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.foveahq.com/mcp",
        "--header",
        "Authorization:${FOVEA_AUTH}"
      ],
      "env": {
        "FOVEA_AUTH": "Bearer fov_your_key"
      }
    }
  }
}
Limits
120 / minRequests per key, with X-RateLimit headers. Up to 25 active keys per workspace.
Stateless
Deploys never drop your session.Every request is self-contained, so a restart on our side never strands a connected client.
Next
Sign in with Fovea Coming soonToday the server authenticates with an API key. Signing in through Fovea from the MCP client (OAuth) is planned.
Full setup guide

Questions, answered.

Developer docs live at /docs: MCP server, API keys, public API and webhooks.

Which plans include the MCP server?+

Every paid plan: Starter, Growth, Agency and Enterprise. It is not available during the free trial.

How does my agent authenticate?+

With a workspace API key as a bearer token: Authorization: Bearer fov_... Admins create keys in Settings > Integrations. A key is shown once; Fovea keeps only a one-way hash.

Which clients work?+

Any client that speaks MCP over streamable HTTP with a custom header. Claude Code and Cursor connect directly; Claude Desktop connects through the mcp-remote bridge. The setup page has copy-paste config for all three.

Can an agent change my library?+

Only collections, and only with a key that has the Write scope: it can create collections and add assets to them. With a read-only key the tool call returns an error and nothing changes. Tagging and uploads stay in the app.

Does an agent see revenue?+

Only with the Money scope, which only an Admin can add, and only while the key's creator still has a role that sees money. Otherwise money fields are left out and revenue_visible is false.

Is there a rate limit?+

120 requests a minute per key, with X-RateLimit headers on every response, and up to 25 active keys per workspace.

Point your agent
at your ads.

Start a plan, create an API key in Settings, and ask Claude which creatives made money.

Start free
  • 14-day free trial
  • No card
  • No ad-spend caps