Skip to main content
Glama
@mitr-analytics/mcp

@mitr-analytics/mcp

by shiv9thakur

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MITR_API_KEYYesYour Mitr API key. Create it in the dashboard under Settings → API keys & AI assistants → Create key.
MITR_API_BASE_URLNoThe base URL for the Mitr API. Only set this if you were told to.https://api.mitranalytics.dev

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_appsA

List every app/site registered in your Mitr workspace, with each app's siteId (needed by get_app_report and get_recent_events), name, platform, and connection status.

add_appA

Register a new app/site under your Mitr workspace so it can start receiving tracked events. Returns the new app's siteId. The app's SDK secret key is deliberately not returned: tell the user to copy it from the Mitr dashboard (Integration Hub, the app's card). Needs an API key created with permission to register apps; a read-only key gets a clear error.

get_app_reportA

Fetch a 7-day analytics report for one app: active users, KPIs (pageviews, unique visitors) with sparklines, traffic overview, acquisition (referrers/UTM/entry pages), geography, device/browser/OS breakdown, web vitals, and conversions. Structured data meant for you to analyze and summarize, not a canned report.

get_recent_eventsA

Fetch the most recent raw telemetry events for one app — event type, path, referrer, UTM, device/geo, and custom properties. Useful for spot-checking what's actually being tracked, alongside get_app_report's aggregated view.

list_funnelsA

List every saved conversion funnel in your Mitr workspace, with each funnel's id (needed by get_funnel_results), name, and step definitions.

get_funnel_resultsA

Compute conversion results for one funnel over a date range: entered/converted counts, conversion rate, and drop-off at each step. Defaults to the last 30 days.

get_alert_ruleA

Get your workspace's traffic-anomaly alert configuration (spike/drop direction, threshold %, notification channel), if one is set. Returns { rule: null } if none is configured.

get_billing_usageA

Get your workspace's current plan, subscription status, and quota usage (events used/limit, usage %, apps used/limit). Useful context before recommending changes that would affect event volume or app count.

create_funnelA

Create a funnel of 2 or more ordered steps (each a page path or a custom event) to measure conversion through. Returns the new funnel. Needs an API key with the funnels:write permission.

update_funnelA

Replace a funnel's name and steps. This is a full update: send every step, not only the ones that change. Needs funnels:write. Get the funnelId from list_funnels.

delete_funnelA

Permanently delete a funnel and its results history. Cannot be undone. Needs both funnels:write and delete permissions. Confirm with the user before calling.

create_qr_campaignA

Create a trackable QR campaign that sends scanners to a destination URL. Add codes per placement with add_qr_code. Returns the new campaign. Free plans allow one active campaign. Needs the qr:write permission.

update_qr_campaignA

Rename a QR campaign, change its destination, or change its status: 'active', 'paused' or 'archived'. Archiving stops the campaign's codes from being created and keeps its history; it is reversible with status 'active'. Needs qr:write.

add_qr_codeA

Add one printable code to a campaign, labelled by where it will be placed, e.g. 'Poster, main hall'. Each code is counted separately. Needs qr:write.

create_webhookA

Send tracked events to an https URL you control. Returns the endpoint, without its signing secret, which is copied from the dashboard. Needs webhooks:write.

update_webhookA

Change a webhook's URL, its event types, or switch it on or off with isActive. Needs webhooks:write. Get the endpointId from the dashboard or the webhook health tool.

delete_webhookA

Permanently delete a webhook endpoint and its delivery log. Cannot be undone. Needs both webhooks:write and delete. Confirm with the user before calling; to pause it instead, use update_webhook with isActive false.

get_workspace_overviewA

Get one summary of the whole workspace: every app's traffic, plus its webhooks, QR campaigns, funnels, and anything that needs attention. Call this first when the user asks how things are doing overall.

list_qr_campaignsA

List your QR campaigns with each campaign's id (needed by get_qr_campaign and the QR write tools), name, status, and scan totals. Also returns your plan's QR limits.

get_qr_campaignA

Get one QR campaign with its codes and per-code scan counts, to see which placement is working. Use the id from list_qr_campaigns.

get_webhook_healthA

For each webhook endpoint, show delivery counts by status over its recent deliveries (delivered, pending, failed, exhausted) and the latest failure with its error. Payloads are not returned. Use this when a user says their webhook is not receiving events.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 21 tools

Disambiguation5/5

Each tool targets a distinct resource and action: apps (add/list/report/events), funnels (full CRUD + results), webhooks (create/update/delete/health), QR campaigns (list/create/update/get/add_qr_code), plus workspace overview, alerts, and billing. Potentially confusable pairs are explicitly separated in descriptions (get_app_report aggregated vs get_recent_events raw; get_app_report for one app vs get_workspace_overview for all; create_qr_campaign vs add_qr_code). No two tools appear to do the same thing.

Naming Consistency4/5

Nearly all names follow a consistent snake_case verb_noun pattern with standard verbs (list_/get_/create_/update_/delete_). The only wrinkle is 'add_app' and 'add_qr_code' using 'add' where 'create_' is used elsewhere, but this is a minor and readable deviation.

Tool Count4/5

21 tools is on the higher side, but the server spans five distinct domains (apps, funnels, webhooks, QR campaigns, billing/alerts), so each area only gets a handful of tools. The count is justified by the breadth rather than by redundancy.

Completeness3/5

Funnels and webhooks have full lifecycle coverage, but apps only have add/list/report — no update or delete app — and the QR surface lacks a way to remove individual codes or delete a campaign outright (only archive via update). Most notably, get_alert_rule exists with no create/update_alert_rule, leaving a described configuration unreachable, and billing is read-only.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues