irrationalagent/glean_mcp
If you are the rightful owner of glean_mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The glean_mcp is a model context protocol server designed to facilitate the integration and querying of telemetry data, particularly for applications like Firefox iOS.
Installation
git clone https://github.com/irrationalagent/glean_mcp
cd glean_mcp
python3 -m venv venv
source venv/bin/activate
pip3 install -e .
Run (Standalone)
glean-mcp
Configure for Use w/ Claude CLI
Add the following to .mcp.json, making sure to specify the right path:
"mcpServers": {
"glean": {
"command": "/some/path/glean_mcp/venv/bin/glean-mcp",
"args": []
}
}
start claude:
claude
List MCP servers:
/mcp
Available Tools
This MCP server provides three main tools for interacting with Mozilla's Glean telemetry system:
1. list_apps_tool
Lists all available Glean applications with their identifiers.
Parameters: None
Returns: JSON array with app metadata including:
v1_name: The v1 identifier for the app (use this with other tools)app_name: Display nameapp_id: Application IDbq_dataset_family: BigQuery dataset family namecanonical_app_name: Canonical namedocument_namespace: Documentation namespace
Example usage:
> list all glean apps
2. search_metrics
Search for Glean metrics across all applications using free-text queries.
Parameters:
query(required): Search terms (e.g., "startup time", "default browser")app_hint(optional): App identifier to bias results (e.g., "fenix", "firefox_ios")limit(optional, default=25): Maximum number of results
Returns: JSON array of matching metrics with:
id: Metric identifiername: Metric namecategory: Metric categorytype: Metric type (counter, boolean, string, event, etc.)app: Application namedescription: What the metric measuressend_in_pings: Which pings include this metricurl: Link to Glean Dictionary page
Example usage:
> search for metrics about startup time in fenix
> find metrics tracking default browser on firefox_ios
3. get_metric_details
Get detailed information about a specific metric including full definition, data reviews, and extra keys.
Parameters:
v1_name(required): App identifier (e.g., "fenix", "firefox_ios")metric_name(required): Full metric name (e.g., "collections.save_button")
Returns: JSON object with complete metric details including:
latest_definition: Full metric definition with:bugs: Related bug URLsdata_reviews: Data review linksdescription: Detailed descriptionlifetime: Metric lifetime (ping, application, etc.)type: Metric typeextra_keys: Event metadata (for event metrics)data_sensitivity: Data sensitivity classificationsnotification_emails: Contact emails- And more...
Example usage:
> get details for the metric app.default_browser on firefox_ios
> show me the full definition of collections.save_button on fenix
Example
> please find the probe on firefox_ios that tracks whether the browser is set to default
⏺ I'll search for Firefox iOS probes related to default browser status.
⏺ glean - search_metrics (MCP)(query: "default browser", app_hint: "firefox_ios", limit: 25)
⎿ [
{
"id": "default_browser_card.dismiss_pressed",
[...]
⏺ I found the probe that tracks whether Firefox iOS is set as the default browser:
app.default_browser
- Type: boolean
- Description: Is Firefox the default browser
Additionally, there are related probes that provide context:
app.opened_as_default_browser
- Type: counter
- Description: Counts the number of times the app is opened from an external link, implying the client has Firefox set as a
default browser. Currently this is the most accurate way of measuring how often Firefox is set as the default browser.
app.last_opened_as_default_browser
- Type: datetime
- Description: The date of when the app was last opened as default browser.
The app.default_browser boolean probe is the direct indicator, while app.opened_as_default_browser is noted as being the most
accurate measurement method since it tracks actual usage as the default browser rather than just the setting state.