GASP

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

Data Engineer

"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.

Analyst

"How is CAC Payback calculated?"

Use get_formula and lookup_metric to get the canonical formula, benchmark ranges and common calculation mistakes to avoid.

Team Lead

"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.

RevOps Lead

"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:

## NRR · Data Requirements
Field Type
account_idstring
mrr_startdecimal
mrr_enddecimal
expansiondecimal
contractiondecimal
churndecimal
Grain: Monthly cohort   Source: Billing + CRM
Example SQL
SELECT
  cohort_month,
  SUM(mrr_end) / SUM(mrr_start) AS nrr
FROM account_cohorts
GROUP BY 1

MCP data at a glance

300
Metrics
92
Definitions
78
Data reqs
82
Nodes
164
Edges

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

60
Metric nodes
15
Entity nodes
198
Field nodes
22
Source categories

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
idstringUnique identifier (snake_case)
namestringGASP canonical display name
departmentstringGASP department (Core, Sales, Marketing, ...)
signalTypestringoutcome, leading, efficiency or operational
definitionstringCanonical GASP definition text
formulastringPrimary formula (where available)
urlstringLink 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.

Metric signal
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"
Entity lifecycle
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
Entity ownership and access
OWNS Customer owns Subscription
GRANTS Subscription grants License
PRICED_BY Determined by a Plan
Entity interactions
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
Entity financial flows
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

What drives ARR?
MATCH (driver)-[:DRIVES|COMPONENT_OF*1..3]->(arr:Metric {id: 'arr'})
RETURN driver.name, driver.department
What does churn affect?
MATCH (churn:Metric {id: 'logo_churn_rate'})-[r]->(affected)
RETURN type(r), affected.name, affected.department
Leading indicators for outcomes
MATCH (leading:Metric {signalType: 'leading'})-[:PREDICTS]->(outcome)
RETURN leading.name, outcome.name
Metrics that measure Customers
MATCH (m:Metric)-[:MEASURES]->(e:Entity {id: 'customer'})
RETURN m.name, m.department, m.signalType
Source systems that feed NRR
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.

Try searching for:

navigateselect