A small personal MCP server that exposes data about an Old School RuneScape account to Claude on demand, to eliminate copy/pasting a bunch if you use Claude to draft a plan or aggregate wiki data. TBH I am now required to use Claude at work so I'm working on getting comfortable with it.
- All of WikiSync - quests, achievement diaries, skill levels, combat achievements, music tracks, league tasks, collection log.
- Official HiScores - exact level/xp per skill
Obvious shoutout to the OSRS wiki team and all they do. Ideally I will eventually turn this into a public API, maybe even add it to the wiki.
| Tool | Description |
|---|---|
wikisync(username, section="all", profile="STANDARD") |
Sliced WikiSync data. section ∈ quests | achievement_diaries | combat_achievements | collection_log | music_tracks | levels | league_tasks | all. profile ∈ STANDARD | IRONMAN | HARDCORE_IRONMAN | ULTIMATE_IRONMAN. |
player_skills(username) |
Exact {rank, level, xp} per skill from the official HiScores — the source of truth for XP. |
- You have to have WikiSync enabled for this to work fully
collection_logis empty until manually synced — the player must press the WikiSync button in the in-game collection log interface (and re-press to resync). The tool surfaces this as a note rather than a bare[].- Quest states are decoded:
0not started,1in progress,2finished (confirmed from a live payload). combat_achievementsandcollection_logreturn numeric ids (not yet decoded to names); quests and diaries are already named.
- Python 3.10+
uv
Claude Desktop launches MCP servers with a stripped-down environment (no shell
PATH), so use the absolute path to uv. Find it with which uv.
Edit claude_desktop_config.json (Claude Desktop → Settings → Developer → Edit
Config, or ~/Library/Application Support/Claude/ on macOS) and add:
{
"mcpServers": {
"osrs-player": {
"command": "/ABS/PATH/TO/uv",
"args": [
"run",
"--directory", "/ABS/PATH/TO/osrs-wikisync-mcp",
"osrs-wikisync-mcp"
]
}
}
}Then fully quit Claude Desktop and reopen. The server appears under the tools/MCP
menu in a chat, and under Settings → Developer. Logs (macos): ~/Library/Logs/Claude/mcp-server-osrs-player.log.
The MCP server stays alive as long as Claude Desktop is open.
uv syncuv run osrs-wikisync-mcp # stdio (default MCP transport)
# or: uv run python -m osrs_mcp.serverClaude Code can just call a script so honestly no point in using this unless you plan to use Claude Desktop. Eventually I'll deploy this so people can use it on claude.ai and mobile too
# user scope (available in every session); use an absolute path to this repo
claude mcp add --scope user --transport stdio osrs-player \
-- uv run --directory /ABS/PATH/TO/osrs-wikisync-mcp osrs-wikisync-mcp
claude mcp list # then /mcp inside a session to see the toolsTo iterate on tool I/O and schemas:
uv run fastmcp dev osrs_mcp/server.py- HiScores API:
https://secure.runescape.com/m=hiscore_oldschool/index_lite.ws?player={username} - WikiSync API:
https://sync.runescape.wiki/runelite/player/{username}/{profile}
Both are called with a descriptive, contactable User-Agent per API etiquette.