Pendo Ontology MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Pendo Ontology MCP Servercreate a concept 'Power User' measuring feature adoption within 30 days"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
pendo-ontology-mcp
A semantic ontology layer for Pendo, as an MCP server. Pairs with the Pendo MCP server: Pendo MCP is the data plane (live entities, usage, retention, funnels); this server is the meaning plane — the business concepts, definitions, entity relationships, causes, and playbooks your workspace has agreed on.
Why
LLM agents querying product analytics fail in a characteristic way: they don't know what your objects mean. Feature and segment names encode tribal knowledge, business terms like "activation" have workspace-specific definitions that live in people's heads, and the relationships between objects and business goals are written down nowhere — so agents ask endless follow-ups and produce confidently wrong answers.
This server is the place where that meaning gets written down — and it's designed so the LLM itself does most of the writing. The flywheel:
you ask questions → the model learns what you care about
→ it proposes/records concepts here (you review)
→ every future question is grounded in your definitions
→ answers get sharper → you ask moreThe ontology store is a single portable JSON file: diffable, version-controllable, and an organizational asset that survives model swaps and agent rewrites.
What it is (and isn't)
A typed JSON graph, not RDF/OWL. Its consumers are an LLM context window and a human reviewer.
Query-language agnostic. Concepts carry a prose
measurementHint("weekly cohort retention over the measured features"), not query templates. The agent turns hints into concrete Pendo MCP calls (entityUsageTimeSeries,cohortRetentionCurve, …).No LLM calls inside the server. The client model is the intelligence; this server contributes deterministic guarantees (stable ids, phrase-match floors, coverage gaps) and durable storage.
Data model
STRUCTURAL (synced/pushed, rebuildable) SEMANTIC (the asset)
───────────────────────────────────── ─────────────────────────────
EntityNode Concept
id: "feature:<pendoId>" ← stable name, definition
kind: feature|page|segment| measurementHint (prose)
productArea|trackEvent|object measures: [entity ids]
pendoId ← valid directly in Pendo tools causes[] (+ questionTemplate)
name, appId?, url?, groupId? actions[] (+ questionTemplate)
tags[], sourceStable ids mean concept links survive full re-syncs. Entities deleted upstream leave dangling references that are ignored, never destroyed — a later sync may bring them back.
Install
git clone <this repo> && cd pendo-ontology-mcp
npm install && npm run buildClaude Code
claude mcp add pendo-ontology -- node /path/to/pendo-ontology-mcp/dist/index.jsClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"pendo-ontology": {
"command": "node",
"args": ["/path/to/pendo-ontology-mcp/dist/index.js"],
"env": {
"ONTOLOGY_STORE_PATH": "/path/to/team/ontology.json"
}
}
}
}Environment
Variable | Default | Purpose |
|
| Where the ontology lives. Point at a repo file to share with your team. |
| — | Enables the optional |
|
| Override for EU/other regions. |
Tools
Tool | Purpose |
| Overview: entity counts + every concept (definition, measurement hint, measured entities with pendoIds, causes, actions). Call first. |
| Search entities & concepts by name. Product areas expand into member features. |
| Full registered catalogue, features grouped by area — for picking measure links. |
| Create/update a concept. |
| Remove a concept (cause links to it are scrubbed). |
| Deterministic phrase-match candidates for a problem statement — the precision floor under the model's own semantic picks. |
| Entities no concept measures yet. Join with Pendo MCP usage data to rank concept candidates. |
| The easy sync path: pass a RAW Pendo MCP tool result ( |
| Structured push with explicit kinds (merge or replace). Use when you've already reshaped the data. |
| Optional direct REST sync (needs |
Resource: ontology://digest — a markdown digest of the whole ontology, ready to be pulled into context.
The pairing workflow (with Pendo MCP)
Seed the structure — ask Claude:
"List my product areas and features via Pendo, then register them in the ontology."
Claude calls Pendo MCP (
listProductAreas,listCountables,segmentList) and pipes each raw result straight intoingest_pendo_payload— no reshaping, no Pendo API key. (Alternatives:register_entitiesfor pre-shaped data, orPENDO_INTEGRATION_KEY+sync_from_pendofor direct REST sync.)Define what matters — ask:
"Define a concept 'Activation': accounts that used ≥3 core features in week 1. Map the entities it measures."
Claude drafts the concept, picks semantically-related entities from
get_entity_catalogue(plus thesuggest_linksfloor), and saves withupsert_concept.Let usage drive coverage — ask:
"What high-usage entities aren't covered by any concept?"
Claude joins
list_coverage_gapswith Pendo MCP usage (entityUsage) and proposes new concepts from the gaps.Ask grounded questions — from now on:
"How is Activation trending?"
Claude reads the concept (definition +
measurementHint+ measure pendoIds) and goes straight to the right Pendo MCP calls — no follow-up questions, no guessed IDs, your definition every time.
Design notes
Phrase-matching is the floor, not the ceiling. Single-token name matching measured 119 false positives for "agent" in a real workspace; two-word phrases stay precise but can't see semantics. The model does the semantic mapping;
suggest_links/autoLinkguarantee the obvious matches are never missed.Ontologies don't work on day 1. Meaning is distilled from use — questions asked, usage observed, definitions clarified. Start with structure + one or two concepts; let the flywheel run.
Errors are results. Lookups return notes, not exceptions; a miss tells the model exactly which fallback to take.
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Band-Aid/pendo-ontology-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server