AI Tools
The GASP Standard ships as an MCP server. Your AI tools speak the same metrics language your team does. Whether you're a data engineer building pipelines, an analyst setting up dashboards or a team lead standardizing your metrics layer, the MCP gives you definitions, formulas, data schemas and SQL on demand.
Quick Start
Install the MCP server with a single command:
Claude Code
claude mcp add gasp-standard -- npx -y gasp-standard-mcp Claude Desktop / Cursor
Add to your MCP config file:
{
"mcpServers": {
"gasp-standard": {
"command": "npx",
"args": ["-y", "gasp-standard-mcp"]
}
}
} Restart your MCP client after adding the config.
MCP Server
A Model Context Protocol server exposing the entire standard as structured tools. Any MCP-compatible client (Claude Code, Claude Desktop or custom integrations) can query metrics, formulas, relationships and definitions programmatically.
Tools
lookup_metric name: string Full metric details: definition, formula, benchmarks, common mistakes, sources and department.
list_metrics department?: string List all metrics grouped by category, optionally filtered by department.
get_formula metric: string Returns the formula(s) for a metric, including all variants when multiple exist.
get_relationships metric: string Upstream (what drives it) and downstream (what it drives) connections from the GASP relationship graph.
get_data_requirements metric?: string, department?: string Data requirements for implementing a metric or department dashboard: required fields with types, reporting grain, source system and example SQL query.
search query: string Full-text search across all metric names, definitions, formulas, data requirements and glossary terms.
generate_query metric: string, adapter: string (JSON) Generate warehouse-specific SQL for a metric using your adapter mapping. Fills in parameterized templates with your column names.
validate_adapter adapter: string (JSON) Validate a GASP adapter mapping file. Reports which metrics are fully covered, partially covered or missing based on your mapped warehouse fields.
infer_drivers metric: string, direction: 'up' | 'down' Diagnose what could explain an observed metric movement. Walks the graph in reverse and returns ranked upstream candidates with full path and per-step edge classifications. Structural reasoning, not numeric forecasting.
explain_path from: string, to: string Enumerate edge chains between two metrics, with classification (metric_signal, structural, lifecycle, behavioral, assignment, generative) per step.
coverage_gap metrics: string[] Audit a metric set: identify one-hop upstream/downstream metrics not in the set, plus disconnected metrics. Use to find gaps before instrumenting a dashboard.
Use Cases
"What fields and types do I need to track NRR?"
Use get_data_requirements to get the exact field schema, types, grain and starter SQL for any metric or department.
"How is CAC Payback calculated?"
Use get_formula and lookup_metric to get the canonical formula, benchmark ranges and common calculation mistakes to avoid.
"What metrics should my CS team track?"
Use list_metrics to see every metric for a department, then get_data_requirements to plan the implementation.
"ARR is down this month. Why?"
Use infer_drivers to get a ranked list of upstream candidates whose movement is consistent with the observation, then explain_path to scrutinise the chain. Structural reasoning, not numeric forecasting.
Example Output
Here's what get_data_requirements returns for NRR:
| Field | Type |
|---|---|
| account_id | string |
| mrr_start | decimal |
| mrr_end | decimal |
| expansion | decimal |
| contraction | decimal |
| churn | decimal |
SELECT
cohort_month,
SUM(mrr_end) / SUM(mrr_start) AS nrr
FROM account_cohorts
GROUP BY 1 MCP data at a glance
Knowledge Graph
The GASP Standard defines a full semantic model of a SaaS business: metrics, the business entities they measure, the data fields they require and the source systems those fields come from. This model is available as a downloadable Cypher file you can import directly into Neo4j or any property graph database.
What's in the graph
Node types
The graph contains four types of nodes:
:Metric 60 nodes A GASP-defined SaaS metric with definition, formula, department, signal type and benchmarks.
:Entity 11 nodes A canonical business object. Customer, Subscription, License, Lead, Opportunity, User, Ticket, Employee, Invoice, Partner, Project. Each metric MEASURES one of these.
:Field 197 nodes A canonical data field (e.g., account_id, mrr_start). Your warehouse columns map to these.
:SourceCategory 22 nodes An abstract data source type. Billing, CRM, Product Analytics, etc. Platform-agnostic: "Billing" could be Stripe, Chargebee or Zuora.
Metric node properties
Every metric node includes:
| Property | Type | Description |
|---|---|---|
| id | string | Unique identifier (snake_case) |
| name | string | GASP canonical display name |
| department | string | GASP department (Core, Sales, Marketing, ...) |
| signalType | string | outcome, leading, efficiency or operational |
| definition | string | Canonical GASP definition text |
| formula | string | Primary formula (where available) |
| url | string | Link to full definition on gaspwiki.com |
Relationship types
21 canonical types used in both the interactive graph (lowercase) and the Cypher file (UPPERCASE). The Cypher file also includes SOURCED_FROM for Field → SourceCategory data lineage edges.
DRIVES A positively influences B. Improving A improves B REDUCES A negatively influences B. A going up causes B to go down PREDICTS A is a leading indicator of B. Changes in A forecast changes in B COMPONENT_OF A is a mathematical input to B's formula MEASURES Metric tracks the state or behavior of a business entity. "Logo Churn MEASURES Customer" CONVERTS_TO Entity transitions through a funnel stage. Lead → Opportunity → Customer PARENT_OF Hierarchical containment. Parent account contains child accounts BELONGS_TO Entity is a member of a group or classification. Customer belongs to Cohort or Segment OWNS Customer owns Subscription GRANTS Subscription grants License PRICED_BY Determined by a Plan MANAGES Employee manages Customer SERVES Project serves Customer ENGAGES_VIA Customer engages via User SUBMITS Customer submits Ticket REPRESENTED_BY Customer represented by Contact SOURCES Partner sources Opportunity. Campaign sources Lead GENERATES Subscription generates Revenue or Invoice PRODUCES Opportunity produces Bookings or TCV CONTRIBUTES_TO Opportunity contributes to Pipeline INCURS Subscription incurs COGS Import into Neo4j
Download the Cypher file and import it via the Neo4j Browser or cypher-shell:
cat gasp-knowledge-graph.cypher | cypher-shell -u neo4j -p password Or paste the file contents directly into the Neo4j Browser query editor.
Example queries
MATCH (driver)-[:DRIVES|COMPONENT_OF*1..3]->(arr:Metric {id: 'arr'})
RETURN driver.name, driver.department MATCH (churn:Metric {id: 'logo_churn_rate'})-[r]->(affected)
RETURN type(r), affected.name, affected.department MATCH (leading:Metric {signalType: 'leading'})-[:PREDICTS]->(outcome)
RETURN leading.name, outcome.name MATCH (m:Metric)-[:MEASURES]->(e:Entity {id: 'customer'})
RETURN m.name, m.department, m.signalType MATCH (m:Metric {id: 'nrr'})-[:REQUIRES]->(f:Field)-[:SOURCED_FROM]->(s:SourceCategory)
RETURN f.id, f.type, s.name Adapter
The GASP Adapter is a JSON mapping file that connects your warehouse columns to the 197 canonical GASP fields.
Fill in your schema.table.column references, then validate to see which metrics you can compute.
Use the validate_adapter MCP tool to check your coverage, or download
the template and schema to get started.