
Measure MCP Server: Setup for Claude, Cursor and Other Apps
Lets Claude, Cursor or another assistant look up your mobile app's crashes, ANRs, sessions, traces and funnels in Measure and find the root cause.
This is the official server from Measure, the open source mobile app monitoring product. It runs on Measure's cloud, or on your own domain if you self-host Measure. Your client opens a browser the first time so you can sign in to Measure.
Most tools only read. A few change funnels and bug reports for your whole team, and one deletes a funnel for good. Those need a Measure role that can edit funnels in the dashboard.
Good for
- Mobile developers debugging production crashes and slow starts
- Teams who want an assistant to check app health before a release
- Product people who track funnels and drop-off
Works in
7 supported · 7 should work
Tap an app to see how to set it up and any known problems.
Measure documents a claude mcp add command.
Add it as a custom connector in Settings.
Measure documents a mcp.json entry.
Measure documents a .vscode/mcp.json entry.
Measure documents a codex mcp add command.
Measure documents a context_servers entry.
Measure documents a remote entry in opencode.json.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Install Measure MCP
Claude Code
- 1
Copy this prompt.
Add the Measure MCP server to Claude Code. Run this command: claude mcp add --transport http measure https://agent.measure.sh/mcp Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Sign-in with the vendor account (OAuth).
Built from the package data we hold. Not yet tested by us.
Tools
Asks Measure Agent a free-form question about your app data
Hands a plain-language question to Measure's own agent, which picks the right tool or runs read-only queries on raw telemetry and answers with numbers. Each call stands alone, so a follow-up should repeat the earlier findings.
Try: “Which release has the most new crashes this week, and what share of sessions does it hit?”
Read ·
ask_questionLists the apps you can see, with their team
Returns every app your account can reach and the team each belongs to. The assistant needs these app IDs for almost every other call.
Try: “Which apps do I have in Measure?”
Read ·
list_appsLists the fields you can filter on
Returns the filter vocabulary for one data type such as errors, sessions or spans, with each field's type and allowed operators. The assistant calls it before writing a filter.
Try: “What can I filter crashes by?”
Read ·
get_filter_keysLists values a filter field can take
Returns suggested values for one filter field in one app, such as the app versions or countries it has seen.
Try: “Which app versions have reported errors?”
Read ·
get_filter_valuesGets crash-free rates and launch times
Returns adoption, crash-free, ANR-free and app-hang-free session rates and cold, warm and hot launch p95 for an app.
Try: “What is the crash-free session rate for our Android app?”
Read ·
get_metricsShows sessions, crashes, ANRs and hangs over time
Returns counts of sessions, fatal exceptions, ANRs and app hangs grouped into time buckets, so you can see when health changed.
Try: “Plot crashes and ANRs for the last 14 days.”
Read ·
get_app_health_over_timeLists error groups
Returns grouped crashes, non-fatal exceptions and ANRs for an app. You can narrow it by error type and severity.
Try: “List the top crash groups from the last 7 days.”
Read ·
get_errorsShows events inside one error group
Returns individual crash or ANR events for one error group, including the stack trace data.
Try: “Show me recent events for the top crash group.”
Read ·
get_errorCharts all errors over time
Returns how many errors occurred per time bucket across all groups, filterable by type and severity.
Try: “Did errors go up after the last release?”
Read ·
get_errors_over_timeCharts one error group over time
Returns the occurrence count of a single error group per time bucket.
Try: “When did this crash first show up and is it growing?”
Read ·
get_error_over_timeSplits one error group by OS, device, version or country
Shows how a single error group is spread across attributes such as OS, device model, app version and country.
Try: “Which devices hit this crash the most?”
Read ·
get_error_distributionShows the usual path users took before an error
Returns the most common screen path that led to one error group.
Try: “What do users do before this crash happens?”
Read ·
get_error_common_pathLists recent sessions
Returns sessions for an app, newest first, with filters.
Try: “Show the latest sessions from users on version 3.2.”
Read ·
get_sessionsCharts session counts over time
Returns session counts per time bucket.
Try: “How many sessions did we have each day this month?”
Read ·
get_sessions_over_timeGets one full session
Returns a session with all its recorded events, so the assistant can replay what the user did.
Try: “Walk me through what happened in this session.”
Read ·
get_sessionCharts memory use over time
Returns p50, p90, p95 and p99 memory in KiB by app version and time bucket, for comparing shifts in memory use.
Try: “Did memory use rise in build 120?”
Read ·
get_memory_usage_over_timeBreaks memory use down by device tier
Returns p50, p90 and p95 memory per device memory tier with the number of sessions and samples behind each.
Try: “How does memory use differ on low-end phones?”
Read ·
get_memory_usage_by_device_tierLists sessions with high memory use
Returns a paged list of high-memory sessions. The assistant can then open one with get_session.
Try: “Find sessions where memory use was highest.”
Read ·
get_high_memory_sessionsLists bug reports
Returns bug reports sent from the app, newest first.
Try: “Show open bug reports from this week.”
Read ·
get_bug_reportsCharts bug report counts
Returns the number of bug reports per time bucket.
Try: “Are bug reports increasing?”
Read ·
get_bug_reports_over_timeGets one bug report
Returns a single bug report with its full details.
Try: “Open the most recent bug report.”
Read ·
get_bug_reportOpens or closes a bug report
Sets a bug report to open or closed. This changes data in your Measure workspace for your whole team.
Try: “Close bug report 1234, it is fixed in 3.2.1.”
Write ·
update_bug_report_statusLists top-level trace names
Returns the names of all root spans recorded for an app, the starting point for performance questions.
Try: “What traces does the app record?”
Read ·
get_root_span_namesLists runs of one trace
Returns individual instances of a root span name with their timing.
Try: “Show the slowest runs of the checkout trace.”
Read ·
get_span_instancesCharts trace duration over time
Returns p50, p90, p95 and p99 durations for a span name over time.
Try: “Has app start-up gotten slower?”
Read ·
get_span_metrics_over_timeGets a full trace with child spans
Returns one trace with every child span so the assistant can see where time went.
Try: “Break down where the time went in this trace.”
Read ·
get_traceLists alerts
Returns the alerts Measure raised for an app, newest first.
Try: “What alerts fired this week?”
Read ·
get_alertsShows user journeys as a screen graph
Returns the paths users take as a graph of screens and custom events.
Try: “Which screens do users visit before leaving?”
Read ·
get_journeyLists journey screens and events with user counts
Returns each screen or custom event in the journey with its number of users, which you can use to filter get_journey.
Try: “Which screens have the most users?”
Read ·
get_journey_nodesCounts users on a journey path
Returns how many users followed a given path through the journey.
Try: “How many users went from Home to Checkout?”
Read ·
get_journey_path_usersLists errors hit on a journey step or path
Returns the errors users ran into on a chosen screen, event or path.
Try: “What crashes happen on the payment screen?”
Read ·
get_journey_errorsLists traces recorded on a journey step or path
Returns root spans recorded on a journey node or path.
Try: “Which traces run on the search screen?”
Read ·
get_journey_tracesLists network calls made on a journey step or path
Returns the network requests made on a journey node or path.
Try: “Which requests fire on the login screen?”
Read ·
get_journey_networkLists sessions that followed a journey step or path
Returns sessions that went through a journey node or path.
Try: “Show sessions that reached the cart.”
Read ·
get_journey_sessionsRanks network endpoints
Returns the top endpoints by latency, error rate and call frequency.
Try: “Which endpoints are slowest or fail most?”
Read ·
get_network_metrics_trendsCharts HTTP status classes over time
Returns 2xx, 3xx, 4xx and 5xx counts over time for an app or one endpoint.
Try: “Did 5xx errors spike yesterday?”
Read ·
get_network_status_codes_over_timeCharts exact status codes for one endpoint
Returns counts of each exact HTTP status code for a single endpoint over time.
Try: “Which status codes does /orders return?”
Read ·
get_network_endpoint_status_codes_over_timeCharts network latency over time
Returns p50, p90, p95 and p99 latency for an app or one endpoint over time.
Try: “Has /search latency changed since the last release?”
Read ·
get_network_latency_over_timeShows when in a session requests happen
Returns network requests per session grouped by time since the session started, for an app or one endpoint.
Try: “When in a session do most requests fire?”
Read ·
get_network_timelineLists funnels
Returns an app's funnels, most recently updated first, with steps and conversion windows. You can search by name.
Try: “List our funnels.”
Read ·
get_funnelsLists pinned funnels
Returns the funnels pinned on the funnels page, in their pinned order.
Try: “Which funnels are pinned?”
Read ·
get_pinned_funnelsGets one funnel
Returns a single funnel with its steps, conversion window and pin state.
Try: “Show the signup funnel definition.”
Read ·
get_funnelLists custom events usable as funnel steps
Returns the custom event names the app has sent, which funnel steps are chosen from.
Try: “What events can I use in a funnel?”
Read ·
get_funnel_event_namesShows how many users reach each funnel step
Returns users per step over a time range and the median time between steps.
Try: “Where do most users drop off in the signup funnel?”
Read ·
get_funnel_conversionCharts funnel conversion over time
Returns conversion by day, week or month, optionally with the builds released in that time.
Try: “Did conversion change after build 120?”
Read ·
get_funnel_trendShows when users enter and convert
Returns how many users entered a funnel and converted in each hour of the week.
Try: “What hours do most users convert?”
Read ·
get_funnel_cadenceLists errors between two funnel steps
Returns errors users hit while moving from one step to the next, with how many converted or dropped off.
Try: “What errors block users at the payment step?”
Read ·
get_funnel_step_errorsLists traces between two funnel steps
Returns root spans recorded between two steps with their durations for users who converted and who dropped.
Try: “Are slow traces causing drop-off at step 2?”
Read ·
get_funnel_step_tracesLists network calls between two funnel steps
Returns network requests made between two steps with latency for users who converted and who dropped.
Try: “Which requests are slow for users who drop off?”
Read ·
get_funnel_step_networkLists sessions between two funnel steps
Returns sessions of users who converted, or of those who dropped off, between two steps.
Try: “Show sessions of users who dropped at step 3.”
Read ·
get_funnel_step_sessionsCreates a funnel
Saves a new funnel from a name, an ordered list of custom events and a conversion window. It is visible to your whole team.
Try: “Create a funnel for signup_started, email_verified, onboarding_done.”
Write ·
create_funnelEdits a funnel
Changes a funnel's name, steps or conversion window for everyone on the team.
Try: “Add a payment_added step to the signup funnel.”
Write ·
update_funnelDeletes a funnel
Permanently removes a funnel. The tool description says a deleted funnel cannot be restored.
Try: “Delete the old checkout v1 funnel.”
Delete ·
delete_funnelPins or unpins a funnel
Pins a funnel after the others or unpins it. An app can have a limited number of pinned funnels.
Try: “Pin the signup funnel.”
Write ·
set_funnel_pinnedReorders pinned funnels
Sets a new order for all of an app's pinned funnels.
Try: “Put the checkout funnel first.”
Write ·
reorder_pinned_funnels
Read from the source code
Permissions
high risk · 3 things to watch
High risk
Most tools read crash, session and trace data, but five change funnels, one deletes a funnel for good and one closes or reopens bug reports. Use an account whose role can only view data if you do not want the assistant to edit anything.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
delete_funnel removes a funnel for good
Its description says a deleted funnel cannot be restored. Ask the assistant to confirm before it deletes anything, or sign in with a role that cannot edit funnels. github.com
Funnel and bug report edits affect the whole team
create_funnel, update_funnel, set_funnel_pinned, reorder_pinned_funnels and update_bug_report_status change shared data. The docs say funnel edits need a role that can edit funnels in the dashboard. github.com
ask_question sends your question to Measure's agent
It runs a Measure-hosted agent that may read raw telemetry with read-only SQL. Do not paste secrets into questions. github.com
Security advisories
No published security advisories for the MCP server as of Nov 1, 2026.
5 other advisories are about the wider measure project, not this MCP server. See them on GitHub
Technical details
| Talks to | agent.measure.sh (Measure cloud) or your own Measure agent domain if you self-host |
|---|---|
| Sign-in and keys | Your client stores the OAuth sign-in. The server registers clients dynamically and keeps tokens in its own database. |
| Scopes |
|
Questions
Is the Measure MCP server official?
Yes. It ships in the measure-sh/measure repository and its setup is documented in Measure's own docs.
What is the Measure MCP server URL?
The cloud address is https://agent.measure.sh/mcp. If you self-host Measure, use https://your-measure-agent-domain/mcp instead.
Do I need an API key?
No. Your client opens a browser window the first time you use a tool, and you sign in to Measure there.
Can it change or delete my data?
Yes. It can create, edit, pin, reorder and delete funnels, and close or reopen bug reports. Funnel changes need a role that can edit funnels in the Measure dashboard.
Which clients does it work with?
Measure documents Claude Code, Codex, Cursor, VS Code, Claude Desktop, Android Studio, Antigravity, Zed and opencode. Other clients that support remote servers can use the same address.
Does it work with ChatGPT?
Measure does not document ChatGPT. Any client that supports remote MCP servers over streamable HTTP can try the address.
Does it work with self-hosted Measure?
Yes. Replace the cloud address with your own Measure agent domain followed by /mcp.
Information
updated Nov 2, 2026
- Publisher
- Official
- Endpoint
https://agent.measure.sh/mcp- Transport
- Streamable HTTP
- Auth
- OAuth
- Version
- 1.0.0
- License
- Apache-2.0
- Last commit
- Oct 31, 2026
- Open issues
- 89
- Listed in
- Official MCP registry
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 4Hide
- mcp.mdx · github.com
- toolbox.go · github.com
- mcp.go · github.com
- README.md · github.com