2009scape-wiki-api
Turns the raw 2009scape game sources (items, NPCs, shops, drop tables, quests, locations) into one immutable SQLite artifact, served two ways: a FastAPI contract for a wiki front end, and an MCP server for Claude and other agents.
flowchart LR
SRC["game sources<br/>+ overlays"] --> PIPE["pipeline/artifact<br/>offline build"]
PIPE --> ART[("knowledge.sqlite3<br/>one immutable build")]
subgraph RUN ["one image, one process, one port"]
REPO["repository<br/>SQLite + FTS5"] --> CORE["core<br/>resolve, walk, search"]
CORE --> HTTP["surfaces/http<br/>FastAPI"]
CORE --> MCP["surfaces/mcp<br/>FastMCP"]
HTTP --> GUARD["guarding<br/>token, rate, bans"]
MCP --> GUARD
end
ART --> REPO
GUARD --> WIKI["wiki front end"]
GUARD --> AGENT["Claude, editors,<br/>any MCP client"]
DOM["domain<br/>entities, relationships<br/>attribute registry"] -.-> PIPE & REPO & CORE
A build holds ~20,000 entities, ~83,000 relationships and two years of weekly Grand Exchange prices. It ships on Hugging Face, never in this repository.
Installing
uv tool install scape2009-wiki-api # a Python environment
docker run -p 8000:8000 arsalananwari/2009scape-wiki-api # a container
Debian, Fedora and Arch packages are on the releases page. Each way in is complete on its own: dataset, settings file, keys and the commands to manage them. See install.
Getting started
scape2009-wiki-data pull # the published dataset, once
scape2009-wiki-keys init # the key this deployment answers, once
scape2009-wiki-keys issue --label me # one token, saved under tokens/me.json
scape2009-wiki-serve # HTTP on :8000, contract at /docs
TOKEN=$(jq -r .access_token ~/.config/scape2009-wiki-api/tokens/me.json)
curl -H "authorization: Bearer $TOKEN" \
http://localhost:8000/v1/entities/item/dragon-scimitar
Documentation
The full documentation is at arsalan-anwari.github.io/2009scape-wiki-api.
| read | for |
|---|---|
| install, getting started | packages, containers, first questions |
| configuration, access | settings, deploy.json, keys, tokens, bans |
| http-api, mcp, demos | the two surfaces, and worked examples |
| architecture, data model, pipeline | layers, entities, how a build is made |
| extending, contributing | adding a sort, a relationship, a release |
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scape2009_wiki_api-1.1.0.tar.gz.
File metadata
- Download URL: scape2009_wiki_api-1.1.0.tar.gz
- Upload date:
- Size: 291.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d3fa2ded3db06a66dd842d8b4cd825364dda98fcf46ecb7e34b4a86aa02bd9b
|
|
| MD5 |
061ba6398b296ca121616237e3f749d4
|
|
| BLAKE2b-256 |
4a06314500be76a5df6a65097ad1ca1d1aa4a7fcfd9ba14ac31ca7e7127ecf30
|
File details
Details for the file scape2009_wiki_api-1.1.0-py3-none-any.whl.
File metadata
- Download URL: scape2009_wiki_api-1.1.0-py3-none-any.whl
- Upload date:
- Size: 394.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0cf4600e1e7a64c85966eb00b553f7cd77f5c2b8a2f6c529d80e1e7282bf265e
|
|
| MD5 |
25d5ec723b1a0b4fe8e6a2c0994eeece
|
|
| BLAKE2b-256 |
eebaf42c2c2eece790b5fa8066aac81ad8e9f720c08b1b8dadeb6b4ab7f5fa44
|