One Knowledge Base, Four Surfaces: Pages, Graph, Search Index, and MCP
Originally published on michael-kaminski.io . The Genome of Games publishes the same 1,180 records four different ways, and one command writes all four: node build.js , 0.39 seconds, zero npm dependencies. Out come 1,245 static HTML pages for crawlers, an interactive canvas graph for humans, a 129,037-byte search index for the site's own search box, and a Model Context Protocol server exposing 8…
The Genome of Games project presents one knowledge base in four different forms: static HTML pages, an interactive graph for humans, a search index for the site's search box, and a Model Context Protocol (MCP) server exposing eight tools to agents. All four surfaces are generated from the same 1,180 records in 0.39 seconds using a single build script, with no additional dependencies.
The dataset consists of 168 game mechanics, 618 games, 394 companies, and 4,366 recorded links, spanning the years 1962 to 2025. The build process generates 1,245 static HTML pages for crawlers and humans, a 129,037-byte search index, a 1.9 MB MCP index, and a sitemap.xml file with 1,245 entries.
The MCP server does not query the site or read the source data; instead, it statically imports the 1.9 MB index generated by the build. This approach ensures that all agents receive the same information, eliminating discrepancies between agents and crawlers.
The project demonstrates the trade-off between surface size and access efficiency, showing that agents can tolerate larger payloads compared to humans. The MCP index spends 1,612 bytes per entity, while the search index only requires 109 bytes per entity. This difference highlights the importance of tailoring the data surface to the specific needs of the consumer.
The build process is deterministic, producing identical results each time, which allows for easy verification and reproducibility. However, the generated static surfaces are not a single source of truth; they are only accurate for the surfaces generated within the build process. The README and other documentation may become outdated, as they are not part of the committed build output.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.