2009scape wiki API¶
Turns the 2009scape game sources into one immutable SQLite artifact, served two ways from the same process: a versioned FastAPI contract for a wiki front end, and an MCP server for Claude and other agents.
Nothing is hand-written but a small set of overlay corrections. Every fact traces back to the game file it came from, and the same inputs produce the same bytes.
What a build holds¶
Around 20,000 entities, 83,000 relationships and two years of weekly Grand Exchange prices, published to Hugging Face and never committed here.
sort |
count |
|---|---|
items |
6,000 |
npcs |
3,100 |
scenery |
1,850 |
music tracks |
550 |
shops |
233 |
locations |
210 |
quests |
150 |
slayer tasks |
93 |
construction rooms |
27 |
The two surfaces¶
HTTP returns everything a renderer needs. Each value carries its label, format and unit, so a front end can draw a page for a type it has never heard of.
{"link": {"type": "item", "id": 536, "slug": "dragon-bones",
"label": "Dragon bones"},
"attributes": [{"key": "chance", "value": 0.5, "label": "Chance",
"format": "rate", "derived": true}]}
MCP answers the same question in far fewer words, takes names rather than numbers, and says what it left out.
{"outcome": "found",
"result": {"of": "Dragon scimitar", "label": "Dropped by", "total": 1,
"neighbours": [{"name": "King Black Dragon", "type": "npc", "id": 50,
"facts": {"Chance": "1/512"}}]}}
Using it
The surfaces
How it works
Working on it