Connect your coding agent


On this page

Calibre MCP connects your coding agent to your RUM, CrUX and Synthetic data. Ask about any page in plain language. Your agent finds the slow element, script or URL, and can then fix it in your codebase.

It works with Claude Code, Cursor, Codex, GitHub Copilot and other agents that support the Model Context Protocol. It only reads data, there is nothing to install, and it’s included on every plan.

Your agent sees only what you can see

Your agent can only read data your Calibre account can already see: the Sites in the Teams you belong to, in the organisation you choose when you sign in. It can’t change anything. See what it can access.

What you can ask#

  • “Which pages are failing Core Web Vitals?”
  • “Why is LCP slow on /checkout?”
  • “Fix the slowest interaction on /search.”
  • “What shifts the layout on /products?”
  • “Which script blocks the Add to cart button?”
  • “How does mobile LCP compare to desktop?”
  • “Which countries have the slowest LCP?”
  • “Which budgets are failing right now?”
  • “Did yesterday’s deploy make anything slower?”

Answers come from your own data, and link to the matching report in Calibre.

Set up#

Every agent connects to the same address:

https://calibreapp.com/mcp

The first time your agent uses Calibre, a browser window opens. Sign in, then choose the organisation to connect.

Claude Code#

Terminal
claude mcp add --transport http calibre https://calibreapp.com/mcp

Then run /mcp in Claude Code and choose calibre to sign in.

Cursor#

Save this as .cursor/mcp.json in your project, or as ~/.cursor/mcp.json to use it in every project.

.cursor/mcp.json
{
	"mcpServers": {
		"calibre": {
			"url": "https://calibreapp.com/mcp"
		}
	}
}

Codex#

Terminal
codex mcp add calibre --url https://calibreapp.com/mcp

This opens a browser window to sign in. If you close it, run codex mcp login calibre to sign in later.

GitHub Copilot#

In VS Code, save this as .vscode/mcp.json, or run MCP: Add Server from the Command Palette and paste the address.

.vscode/mcp.json
{
	"servers": {
		"calibre": {
			"type": "http",
			"url": "https://calibreapp.com/mcp"
		}
	}
}

Chat assistants#

Claude and ChatGPT can use your Calibre data too. In Calibre, go to Profile → Connected apps and choose Connect to Claude or Open ChatGPT. Claude opens with the Calibre connector filled in. In ChatGPT, add a custom MCP connector with the address above, if your plan supports custom connectors.

Other agents#

Add https://calibreapp.com/mcp as a remote MCP server. Your agent needs to support signing in with OAuth.

Share it with your team#

Commit the config file to your repository: .cursor/mcp.json for Cursor, .vscode/mcp.json for Copilot, or .mcp.json in the project root for Claude Code. Everyone signs in with their own Calibre account.

.mcp.json
{
	"mcpServers": {
		"calibre": {
			"type": "http",
			"url": "https://calibreapp.com/mcp"
		}
	}
}

Get better answers#

  • Install RUM: answers about real visitors, slow interactions and countries need the RUM snippet. Without it, your agent uses CrUX and Synthetic tests.
  • Name your key elements: add a data-name attribute, such as data-name="add-to-cart". RUM uses it to name the element, so your agent can point straight to it. See Element attribution.
  • Track your deploys: with deploy tracking, your agent can tell you whether each release made your site faster or slower.

What it can access#

  • Read-only: it can’t run tests, mark deploys or change Sites. Use the CLI for those. The one exception is send_feedback, which sends a note to the Calibre team.
  • Your Teams’ Sites only: it sees the active Sites in the Teams you belong to, in the organisation you chose when you signed in. This applies to every role, including administrators.
  • One organisation per connection: to use another organisation, add a second connection.
  • Revoke at any time: go to Profile → Connected apps. Administrators can see and revoke everyone’s connections in Manage → Connected apps.
  • Admins can turn it off: the AI assistants setting in Manage → Settings turns MCP off for the whole organisation. It disconnects every assistant and stops new connections. It’s on by default.
  • Rate limit: each connection can make 60 requests a minute.
  • Treat answers as untrusted input: answers include text that comes from your monitored websites, such as page URLs, element names and third-party names. Review what your agent does with them, as you would with any content from the web.

What your agent can look up#

Your agent picks what it needs for each question, so you don’t need to name these.

ToolWhat it does
list_sitesLists the Sites you can access.
get_site_overviewSummarises a Site: pages, Test Profiles, page groups, budgets, RUM status and recent deploys.
list_pagesRanks pages, or RUM page groups, by a metric from RUM, CrUX or Synthetic.
get_rum_metricsReal-user metrics by page, page group, device, country, city, browser, OS, navigation type or element. For INP, also by script or third party.
get_ux_ratingThe UX Rating over time, from RUM or CrUX, with the share of good, needs improvement and poor results.
get_element_attributionThe elements behind poor LCP, CLS and INP, with timing breakdowns. For INP, also the handler and script behind each interaction.
get_crux_metricsGoogle’s CrUX values for the whole site or a page, with weekly history and optional LCP subparts.
get_synthetic_metricsLab metrics by page and Test Profile, compared with the period before.
get_snapshotOne scheduled test run: each page and Test Profile’s Core Web Vitals, Lighthouse scores and any errors.
get_test_auditsThe failing Lighthouse audits for one test, ordered by estimated savings, with the resources or elements responsible.
compare_performanceCompares time periods, pages, Test Profiles or devices, from RUM, CrUX or Synthetic.
list_deploysLists deploys, newest first, with the revision, repository and commit link.
get_deploy_impactShows whether a deploy made your site faster or slower. Compares each metric after the deploy with the deploy before it, from RUM or Synthetic, and flags regressions.
list_budgetsBudgets and whether each page and Test Profile meets them.
list_third_partiesThird parties found in tests, or ranked by how much they slow real visitors’ interactions.
send_feedbackSends a note to the Calibre team when a tool fails, returns something that looks wrong, or can’t answer your question.

How far back it looks#

  • RUM: the last 30 days by default, or up to 12 months by month. Interaction attribution covers the last 7 days by default.
  • CrUX: 28-day values, reported weekly. The last 3 months by default, and up to 24 months.
  • Synthetic: the last 30 days by default, and up to 90 days. Values are the median, as in your dashboard.
  • Deploys: the last 30 days by default, and up to 90 days.

Long lists are shortened. Your agent is told when this happens, so it can narrow the question.