osrs-wikisync-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@osrs-wikisync-mcpwhat quests has NotGuitar completed?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WikiSync/Hiscores MCP for OSRS
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.
Demo
Related MCP server: Wiki OSRS MCP
Tools
Tool | Description |
| Sliced WikiSync data. |
| Exact |
Notes & caveats
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.
Requirements
Python 3.10+
Setup with Claude Desktop
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.
Manual setup/run
uv syncuv run osrs-wikisync-mcp # stdio (default MCP transport)
# or: uv run python -m osrs_mcp.serverRegister with Claude Desktop (recommended)
Claude 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.pyData sources
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.
Available Tools
2 toolsplayer_skillsA
Exact level AND xp per skill from the official OSRS HiScores.
Use this whenever exact XP matters — WikiSync stores skill levels only, so this is the source of truth for XP. Returns a mapping of skill name to {rank, level, xp}, including the synthetic "Overall" row.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | OSRS account name (RSN). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It describes return format (mapping of skill to rank, level, xp, including Overall). Lacks info on error handling or rate limits, but is otherwise transparent for a read-only lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with key purpose, no unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple tool with one parameter and implied output schema, description is mostly complete. Could mention what happens on invalid username, but not required for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'username', and description does not add extra context beyond schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool returns exact level and XP per skill from official OSRS HiScores, and distinguishes itself from sibling tool WikiSync which only stores levels.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs when to use ('whenever exact XP matters') and contrasts with WikiSync, providing clear guidance on alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikisyncA
Read public WikiSync character data for an OSRS account.
WikiSync covers the account's full public progress surface: quests, achievement diaries, skill levels, combat achievements, music tracks, league tasks, and the collection log. It is a snapshot that exists/updates only if the account runs the WikiSync RuneLite plugin and has logged in.
| Name | Required | Description | Default |
|---|---|---|---|
| profile | No | STANDARD | IRONMAN | HARDCORE_IRONMAN | ULTIMATE_IRONMAN. | STANDARD |
| section | No | Which slice to return. One of: quests | achievement_diaries | combat_achievements | collection_log | music_tracks | levels | league_tasks | all. | all |
| username | Yes | OSRS account name (RSN). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It correctly identifies the tool as read-only ('Read') and discloses the critical dependency (WikiSync plugin) and data freshness condition (only updates when logged in). It does not mention rate limits or auth, but the provided information is sufficient and accurate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, extremely concise. The first sentence states the primary action, the second adds crucial context about scope and dependency. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (so return format is documented) and the tool has only 3 simple parameters, the description adequately covers data source dependency and scope. It distinguishes from the sibling tool and explains the snapshot nature, making it complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented. The description adds context about what WikiSync covers, which helps understand the 'section' parameter possibilities, but does not provide new parameter-specific information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Read public WikiSync character data for an OSRS account', specifying a concrete verb and resource. It lists the exact categories covered (quests, diaries, skills, etc.), making the tool's purpose distinct from the sibling 'player_skills' which likely focuses only on skills.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that data is a snapshot dependent on the WikiSync RuneLite plugin, giving important usage context. However, it does not explicitly state when to use this tool versus the sibling 'player_skills' or other alternatives, nor does it provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.0- First observed
player_skills - First observed
wikisync
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: player_skills provides exact skill XP from the official HiScores, while wikisync offers a broader snapshot of account progress including quests, diaries, and levels. The overlapping skill levels are differentiated by the presence of XP data in player_skills.
Both tools use lowercase and underscores are present only in player_skills; wikisync is a single compound word. There is no consistent verb_noun pattern, and the names are simple nouns that describe the data source rather than actions.
With only two tools, the server feels minimal but appropriate for its narrow scope of OSRS account data. While one tool covers skills with XP and the other covers the rest of the progress surface, there is no redundancy or bloat.
The tool set covers the primary data needs for OSRS account progress: exact skill XP via HiScores and a broader summary via WikiSync. However, there is a minor gap in that no tool provides real-time updates or specific quest details independently, but the server is read-only and focused on snapshot data.
Maintenance
Related MCP Connectors
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Garmin data in Claude & ChatGPT via the Garmin Health API. OAuth sign-in, no password sharing.
Search verified Claude Code plugins and skills; fetch portable SKILL.md sources. Read-only.
Wynncraft MMO player + guild + leaderboard + item DB lookups.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables access to RuneScape 3 data including real-time Grand Exchange prices, item information, historical price trends, and player statistics. Supports multiple game modes and provides comprehensive RuneScape Wiki API integration through natural language.12MIT
- AlicenseNot gradedqualityDmaintenanceProvides access to Old School RuneScape wiki information and game data through MCP tools. Enables users to query OSRS game content, items, and mechanics via natural language.15 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with RuneScape 3 and OSRS ecosystems through tools for Grand Exchange prices, player stats, and server data.8 npmApache 2.0
- AlicenseAqualityDmaintenanceEnables AI assistants to search the OSRS Wiki, lookup Grand Exchange prices, and access synced player data (bank, skills, quests, etc.) via local RuneLite plugin files.138 npmBSD 2-Clause "Simplified"