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.
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.
A wiki's link graph
A knowledge graph
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.
Faction · The Tidewrit Compact
Allies
The Salt Ward CouncilThe Chained Choir
→
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.
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.
World Foundations, the Political Web, Timeline, Geography, and your custom graphs became one Graphs workspace, with entities addable straight from the canvas.
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.
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.