Contentsquare for AI agents

Contentsquare analyzes how visitors experience a website, surfacing where they drop off or hit errors so a product team can fix the friction. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

AnalyticsOAuth 2.0 (MCP)MCP + RESTcontentsquare.com
AUDIT LOG · CONTENTSQUAREPOLICY: acme-support
09:41:07 · claude · u_8f2read
contentsquare.list_projects
Listprojects✓ allowed · 212ms
09:41:08 · claude · u_8f2read
contentsquare.search_goals
Searchgoals✓ allowed · 164ms
09:41:09 · claude · u_8f2write
contentsquare.compute_funnel
Computefunnel✓ approved · approved by user
EVERY CONTENTSQUARE CALL, ON THE RECORD
01 · USE CASES

What agents do in Contentsquare.

01

Check a page's error impact

Check which errors on a page are costing the most conversions before prioritizing a fix.

02

Compute a conversion funnel

Compute a funnel across a set of pages to see where visitors are dropping off.

03

Look up available projects

List available analytics projects before running a metric against the right one.

02 · ACTIONS

21 Contentsquare actions, graded by risk.

Every Contentsquare action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

10

Look things up. Allowed by default.

  • contentsquare.search_goals
    Searchgoals
  • contentsquare.list_projects
    Listprojects
  • contentsquare.search_mappings
    Searchmappings
  • contentsquare.search_segments
    Searchsegments
  • contentsquare.get_page_groups_for_mapping
    Getpagegroupsformapping
  • contentsquare.get_top_errors_by_impact_on_goal
    Gettoperrorsbyimpactongoal
  • contentsquare.get_top_errors_by_missed_opportunity
    Gettoperrorsbymissedopportunity
  • contentsquare.get_top_pages_by_sessions_with_errors
    Gettoppagesbysessionswitherrors
  • contentsquare.get_top_errors_by_sessions_with_errors
    Gettoperrorsbysessionswitherrors
  • contentsquare.get_top_page_groups_by_lost_conversions
    Gettoppagegroupsbylostconversions

write

11

Create and change things. Allow, or ask the user first.

  • contentsquare.compute_funnel
    Computefunnel
  • contentsquare.compute_impact
    Computeimpact
  • contentsquare.compute_journey
    Computejourney
  • contentsquare.recommend_goals
    Recommendgoals
  • contentsquare.recommend_mappings
    Recommendmappings
  • contentsquare.recommend_segments
    Recommendsegments
  • contentsquare.submit_mcp_feedback
    Submitmcpfeedback
  • contentsquare.compute_site_metrics
    Computesitemetrics
  • contentsquare.recommend_page_groups
    Recommendpagegroups
  • contentsquare.compute_page_comparison
    Computepagecomparison
  • contentsquare.compute_page_group_metrics
    Computepagegroupmetrics

destructive

0

Delete, cancel or archive. Ask first, or deny outright.

  • No destructive actions.
03 · HOW IT WORKS

Contentsquare in three steps.

  1. 01Your users connect ContentsquareThey sign in to Contentsquare on Arc0 Connect, under your brand, and approve the access you ask for.
  2. 02You set the rulesReads run, and writes like “computefunnel” can wait for the user to approve.
  3. 03Any agent can actYour agent calls Contentsquare through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('contentsquare', {
  read: 'allow',
  write: 'ask',        // compute_funnel
  destructive: 'deny',  
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Contentsquare connects.

Contentsquare runs its own MCP server behind OAuth. Arc0 registers the client, users approve access on Arc0 Connect, and your agent reaches Contentsquare through the same endpoint, policies and audit log as every other app.

The same Contentsquare connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
OAuth 2.0 (MCP)
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Contentsquare from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Contentsquare and Arc0, answered.

Q01

Can I use Contentsquare with Claude, ChatGPT or Cursor?

Yes. Connect Contentsquare to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Contentsquare actions you allow.

Q02

How do users connect Contentsquare?

Contentsquare runs its own MCP server behind OAuth. Arc0 registers the client, users approve access on Arc0 Connect, and your agent reaches Contentsquare through the same endpoint, policies and audit log as every other app.

Q03

Which Contentsquare actions can my agent take?

21 in total: 10 read, 11 write and 0 destructive, such as “computefunnel”. Your policies decide which of them each agent may call.

Q04

Can I make my agent read-only in Contentsquare?

Yes. Allow read actions and deny writes in the Contentsquare policy. Your agent can still look things up, and any write it attempts is blocked and logged.

Q05

Can my own backend call Contentsquare too?

Yes. The same Contentsquare connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Contentsquare into your agent.

Your users connect Contentsquare once, under your brand. Your agent gets 21 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan