The relationship layer

A campaign knowledge graph for D&D and every TTRPG.

A campaign knowledge graph stores your world as typed entities, NPCs, factions, locations, quests, and items, connected by real relationships instead of prose. Grimoire builds the graph as you play: record a relationship once and it becomes a traversable edge you can view as a political web, a timeline, or a map.

Start your knowledge graph free

Knowledge graphs are on the free tier. No credit card, no time limit.

What is a campaign knowledge graph?

A campaign knowledge graph is a structured map of everything in your campaign and how it connects. Each NPC, faction, location, quest, and item is a typed node; every relationship between them is an explicit edge. Instead of re-reading notes to remember who owes whom, you query the graph and get an answer.

One graph, many lenses

Four projections of the same campaign

Grimoire renders one campaign database through built-in graph projections: a political web of NPCs, factions, and player characters; a campaign timeline anchored to your session recaps; a geographic hierarchy of every place in your world; and World Foundations, the hand-authored bedrock beneath them. Nothing here is drawn or maintained by hand except the layer that should be.

Who stands where, right now

Political web

Every NPC, faction, and player character, plus the relationships between them. Faction membership is one kind of edge; the interesting ones are specific: "related (mother)," "despises," "planning to betray." The political web is the live status of allegiance in your campaign, not a seating chart you drew once and forgot.

What happened, in order, with receipts

Timeline

A session-by-session record where timeline nodes connect to real entities. Link the locations visited during Session 12 to Session 12 and the timeline shows the party's path, character development, and territory changes across months of play. Key events can be marked canon: facts the campaign can no longer misplace.

What sits inside what

Geography

Your locations in a hierarchy, plane to world to continent down to a single shop, with spatial relationships between siblings. NPCs and items sit inside that hierarchy, so "where is the Ashen Blade right now" has a structured answer. Upload images (a region, a city plan, a dungeon floor) and pin entities on them.

The bedrock, written by hand

Foundations

World Foundations holds the deep canon underneath the projections: pantheons, the laws of magic, calendars, cosmology. These nodes are the one part of the graph you author deliberately, because bedrock canon should be a decision, not a side effect. Everything else in the graph stands on them.

A fifth lens is yours to define: custom graphs let you assemble a projection around any axis you care about. A heist crew, a pantheon, a trade network between three port cities.

The difference that matters

Typed entities vs wiki pages

Wiki pages store prose and link when one page mentions another. Typed entities store structured fields, and their relationships carry meaning: member of, sworn enemy, located in. A backlink tells you two pages touch; a typed edge tells you why. That difference is what makes a campaign graph queryable rather than just browsable.

Grimoire ships fourteen typed entity schemas, from NPCs and factions to session recaps and world rules, so the structure exists before your first entry does. Fill in the duke's motivations and faction ties and the graph already knows how he connects to the rebellion, because the relationship is data, not a sentence somewhere in a document. See what each entity type carries in the campaign tracker.

This is the philosophical split between a campaign database and a campaign wiki: structured data you query versus articles you publish. Wiki-first tools are genuinely good at the article side. If you are weighing the two approaches, the LegendKeeper comparison and the World Anvil comparison walk the tradeoff honestly.

No diagramming

Edit a field, grow the graph

You never draw the graph. You fill in the fields you were already keeping, and the projections redraw themselves. Add an ally to a faction and the political web gains an edge. Date a lore entry and the timeline claims it. Give a location a parent and the map knows where it sits.

One field edit. One new edge. Every projection it belongs to, updated.

The honest comparison

Where campaign tools stand on graphs

Several of these tools are excellent at what they were built for, and a few handle secrets well. The gap is the graph itself: typed projections generated from campaign data, filtered per audience.

Grimoire Notion Obsidian LegendKeeper World Anvil
Political, timeline, and geography views Generated from your data Build by hand, if at all Backlink web, untyped Mention map, untyped Diagrams you draw
What an edge means A named relationship A relation column A mention A mention A line you drew
Player-safe graph views Tier-filtered portal graphs Duplicate the workspace Publish a copy Page secrets, no graph Section secrets, no graph
Custom graphs on any axis Any mix of 14 entity types No graph canvas Filtered backlink views No One diagram at a time
Orphan detection Built in No Orphan file list No No
2D and 3D rendering Both No 2D and 3D No No

Weighing a specific switch? The Notion, Obsidian, LegendKeeper, and World Anvil comparisons each walk one tradeoff in depth.

At the table

How GMs use a campaign knowledge graph

GMs use a campaign knowledge graph for three jobs: session prep that starts from connections instead of a blank page, consistency checks that catch contradictions before players do, and controlled reveals, since every node carries a visibility tier that decides what the player portal shows. All three come from recording relationships once.

Session prep that starts from connections

Open the duke and see every faction he belongs to, every location he holds, every quest that touches him, and every NPC tied to those factions. Three sessions in, the graph starts showing you connections you forgot you made. Prep becomes pulling threads, not staring at a blank page.

Consistency your players can feel

Canon lives in structured fields and typed edges, so contradictions surface instead of hiding in prose. When the new betrayal does not square with a recorded alliance, the graph shows both edges side by side. Your world stays coherent because it is data you query, not documents you re-read at midnight.

Secrets and reveals as a game mechanic

Every node carries a visibility tier: common knowledge, player knowledge, or GM secret. The tiers filter every projection, so the player portal shows your table the revealed slice of the same graph you run the campaign from. Flip one tier and the traitor's true allegiance appears on your players' map.

The same graph, player-safe

The graph your players browse in the portal is this graph, filtered server-side by visibility tier. Nothing marked GM Secret is ever sent to them, and hidden nodes take their edges with them. See how the player portal works.

The free tier includes knowledge graphs, unlimited entities, and the player portal.

One full working campaign, forever. No credit card. No countdown.

Start your campaign. Free, no card.

Recently shipped

  • Grimoire 1.5: The UX Revamp

    World Foundations, the Political Web, Timeline, Geography, and your custom graphs became one Graphs workspace, with entities addable straight from the canvas.

Read the full changelog

Optional

A knowledge graph your AI reads live

Grimoire runs fully without a single AI feature. If you already use Claude, ChatGPT, or another MCP-compatible client for prep, Grimoire MCP serves this same knowledge graph as structured data your AI queries live: it surveys the map of your world, pulls one projection in full, then deep-dives a single NPC, instead of guessing from pasted notes.

You bring your own client, so there is no token markup and no model lock-in, and the assistant answers from your canon because the graph is the source it reads. Turn it on when you want it. Ignore it forever if you do not.

See how Grimoire MCP works

FAQ

Campaign knowledge graph questions, answered

What is a campaign knowledge graph?

A campaign knowledge graph is a structured map of a TTRPG campaign: every NPC, faction, location, quest, and item is a typed node, and every relationship between them is an explicit, labeled edge. Because the graph is built from structured data, you can query it ("every NPC tied to the Vale faction") instead of re-reading prose notes to reconstruct who connects to whom.

How is a knowledge graph different from a wiki with backlinks?

Backlinks record that two pages mention each other. Knowledge-graph edges record what the connection actually is: member of, sworn enemy, located in, opened in Session 12. Grimoire uses those typed edges to render political webs, timelines, and geographic hierarchies from the same campaign data, which a mention-based link graph cannot do.

Do I have to draw or maintain the graph myself?

No. Grimoire's knowledge graphs are projections of your campaign database, not diagrams you arrange by hand. Record a relationship on an entity once and the edge appears in every projection it belongs to. Custom graphs let you hand-assemble a view when you want one, but the built-in political, timeline, and geography projections maintain themselves.

Can my players see the campaign knowledge graph?

Yes, through the player portal, filtered by visibility tiers. Every entity carries one of three tiers: common knowledge, player knowledge, or GM secret. Players see the slice of the graph you have revealed and nothing else. Flip one tier when the party uncovers a secret and their view of the world updates where they stand.

Is this only for D&D?

No. D&D is the most common system on Grimoire, but the graph is system-agnostic and genre-aware. Pick Fantasy, Sci-Fi, Horror, Post-Apocalyptic, Modern, Superhero, or Historical and the entity vocabulary reshapes to fit; the political, timeline, and geography projections work the same way in every genre.

Can I build my own graphs beyond the built-in projections?

Yes. Custom graphs let you assemble a view from any mix of Grimoire's fourteen entity types: a heist crew, a pantheon, a trade network between three ports. Membership can sync automatically by type or stay hand-picked, and custom edges carry categories like plot thread, callback, or thematic, so you can record connections that live in the story rather than in a database field. An orphan panel flags members with no connections yet.

What is World Foundations?

World Foundations is the hand-authored layer under the projections: the deep canon of your setting. Pantheons, the laws of magic, calendars, cosmology, the bones the campaign stands on. Unlike the political, timeline, and geography views, which generate themselves from your entities, Foundations nodes are written and connected by you, because bedrock canon is a deliberate act.

Three sessions in, the graph starts surprising you.

Record the relationships as you play. The connections you forgot you made come back on their own.

Start your campaign

Free tier, no credit card. Knowledge graphs included from the first entity.