You held the product together.
Now your graph can do it for you.
An open specification that turns product knowledge into structured, connected, queryable data. A graph you can build on.
claude mcp add upg -- npx @unified-product-graph/mcp-serverSee the graph build itself.
Tell your AI assistant what you're building. Who it's for, what problem it solves, why it matters. UPG turns that conversation into typed entities with real relationships between them.
Skills walk you through strategy, research, design, and go-to-market, one question at a time. Every answer becomes a typed entity in your graph.
Lean Canvas calls it a "Problem." Jobs-to-be-Done calls it a "Struggle." Design Thinking calls it a "Pain Point." Strategyzer calls it a "Customer Pain." Same idea, different label in every framework. UPG maps them all. Every entity type carries vocabulary from the frameworks that use it, so a "need" in UPG is also a "Problem" in Lean Canvas, a "Customer Pain" in Value Proposition Canvas, and a "Struggle" in Jobs-to-be-Done. One concept. One node. Every name.
its own dialect.
A Jira ticket could be a bug, a feature, or a strategic initiative. A Notion page could be a PRD, a meeting note, or a persona. The structures inside these tools carry no semantic meaning; they're generic containers. When tools exchange data, both humans and agents have to guess what a "page" or an "issue" actually represents. UPG gives every piece of product knowledge a type, a domain, and explicit relationships to everything else.
A single PRD is ~5,000 words. A product team generates dozens of PRDs, strategy decks, research reports, and specs. That's a lot of unstructured prose for anyone to hold in their head, and even more for an AI to parse. A graph stores the same knowledge as typed entities and explicit connections. Less prose, more structure, clearer answers.
Ten frameworks, six tools, twenty-eight documents. They're all describing the same product. A graph holds that knowledge in one place, with typed entities and real relationships between them. Enter it once. See it through any lens.
An Opportunity Solution Tree, a Business Model Canvas, and a roadmap are all projections of the same underlying graph. Enter your product knowledge once; see it through any framework lens.
Together, frameworks span eight questions every product has to answer. UPG types the entities behind each one so any framework can read from the same graph.
Your team doesn’t live in one tool. Notion holds PRDs, Linear tracks issues, Figma stores designs, the spreadsheet ranks features. UPG turns each of their outputs into typed entities so a single AI agent can read your whole product, not seven dialects.
UPG reads from your tools and writes back where it should.
feature + tasktaskmetricpersona + insight31 features, 23 tasks
featureFeature ABCtaskPRO-123metricNPS Q4 = 42insightp1 onboardingMIT-licensed. Vendor-neutral. Lives next to your code in a single .upg file.
Every adapter, every AI agent, every dashboard reads from the same typed graph. Build any tool that references your product knowledge.
npm install @unified-product-graph/coreTwo ways in. Pick one, or both.
Adds UPG to Claude Code, Cursor, or any MCP-compatible AI. Your graph lives in a local .upg file you control.
claude mcp add upg -- npx @unified-product-graph/mcp-serverRead and write .upg files from your code. UPGClient with namespaced node and edge operations, health and search, built on @unified-product-graph/core.
npm install @unified-product-graph/sdk