mcp-osrs
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | debug, info, warn, error or silent (logs go to stderr) | info |
| OSRS_ACCOUNT | No | Default player name until one is saved with set_account | |
| OSRS_DATA_URL | No | Quest data release URL | https://github.com/slest1/osrs-data/releases/latest/download |
| OSRS_WIKI_URL | No | Wiki API URL | https://oldschool.runescape.wiki/api.php |
| OSRS_CACHE_DIR | No | Where the quest data release is cached. Default is $XDG_CACHE_HOME/mcp-osrs, else ~/.cache/mcp-osrs | |
| OSRS_PRICES_URL | No | Real-time prices API URL | https://prices.runescape.wiki/api/v1/osrs |
| OSRS_STATE_FILE | No | Saved-account file; 'off' disables saving. Default is $XDG_CONFIG_HOME/mcp-osrs/state.json, else ~/.config/mcp-osrs/state.json | |
| OSRS_ACCOUNT_MODE | No | Default account mode. Modes are main, ironman, hardcore_ironman, ultimate_ironman, deadman and seasonal. | main |
| OSRS_HISCORES_URL | No | Official hiscores URL | https://secure.runescape.com |
| OSRS_WIKISYNC_URL | No | WikiSync URL | https://sync.runescape.wiki |
| OSRS_MAX_CONCURRENCY | No | Concurrent requests per host | 4 |
| OSRS_CACHE_MAX_ENTRIES | No | In-memory response cache size | 1000 |
| OSRS_MAX_RESPONSE_BYTES | No | Response size cap in bytes | 12288 |
| OSRS_REQUEST_TIMEOUT_MS | No | Timeout per request in milliseconds | 15000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| set_accountA | Use when the player tells you their OSRS name or account mode (main, ironman and so on). Saves it so later answers are checked against that account. |
| get_accountA | Use when asked which account is saved. Returns the saved name and mode and where they came from. |
| lookup_playerA | Use for a player's hiscores: skill levels, XP, ranks, boss kill counts, clue scrolls and combat level. Defaults to the saved account. |
| get_player_progressA | Use for a player's quest, achievement diary, collection log and combat achievement progress from WikiSync. Defaults to the saved account. |
| search_wikiA | Use to find OSRS Wiki pages about anything no other tool covers. Returns titles, URLs and short snippets. |
| get_pageA | Use to read an OSRS Wiki article as clean text, whole or one section by heading or index. Long pages continue with a cursor. |
| get_page_sectionsA | Use to list an OSRS Wiki page's sections before reading one with get_page. |
| query_wiki_dataA | Use for structured wiki data no other tool covers, by querying a Bucket table such as combat_achievement, infobox_monster or dropsline with select, where and ordering. An unknown table or field returns the valid ones. |
| get_priceA | Use for Grand Exchange prices of one or more items by name, fuzzy name like 'd scim', or id. Returns instant buy and sell with their age, margin after GE tax, 1h and 24h averages, volumes, buy limit, alch values and batch totals. |
| get_price_historyA | Use for how an item's Grand Exchange price has moved. Returns low, high, average and % change over the window, plus the series. |
| get_itemA | Use for facts about an item by name or id: examine text, value, alch values, weight, buy limit, members, tradeable and quest-item flags, equipment bonuses and every version. Includes the live GE price when tradeable. |
| get_shopA | Use for what a shop sells: owner, location, and each item's price, currency, stock and restock time. |
| find_recipesA | Use for how to make an item, what an item is used in, or what a skill can make: levels, XP per action, materials, tools and facilities. Without maxLevel, results are filtered to the player's levels. |
| find_item_sourcesA | Use when the player needs to get items, or every item for a quest: shops, ground spawns, drops, recipes and, for non-ironmen, the GE. Each item leads with a practical recommendation and its reason, with skill checks against the account. |
| get_monsterA | Use for a monster's stats: combat level, hitpoints, max hit, attack styles, defences, weaknesses, immunities, slayer info and locations as map links. Lists its other versions. |
| get_dropsA | Use for what a monster drops: quantities, rarities, value at live GE prices, shared tables such as the rare drop table, and expected gp per kill. |
| get_questA | Use when the player asks about a quest or whether they can do it. Returns readiness with the prerequisite tree marked ✓/✗/?, skill requirements, items summary, enemies, start point, difficulty, length, rewards and ironman notes. |
| get_quest_guideA | Use for step-by-step quest instructions from Quest Helper, one section at a time by name or number, with map links. Long sections continue with a cursor. |
| plan_quest_tripsA | Use when the player wants to know what to bring for a quest. Splits it into trips that fit a 28-slot inventory, with items per trip, items needed later, items obtained during the quest and teleports. |
| suggest_questsA | Use when the player asks what quest to do next. Suggests quests in the wiki's optimal order that they can start now, plus ones blocked by a single requirement, filterable by XP reward skill or unlock text. |
| get_diaryA | Use for an achievement diary region: each tier's requirements checked with ✓/✗/?, and for one tier the tasks with WikiSync completion and the rewards. |
| get_slayer_tasksA | Use for what a slayer master assigns: tasks with amounts, weights and chances. With an account, only tasks it can be assigned are counted. |
| get_combat_achievementsA | Use for combat achievement tasks for a monster or tier. Returns points per task and done or not done from WikiSync. |
| solve_clueA | Use when the player pastes Treasure Trails clue text such as an anagram, cipher, cryptic or emote clue. Returns the solution and, for emote clues, the emotes, location and equipment with alternates. |
| get_money_makersA | Use when the player asks how to make money. Lists the wiki's money-making guides by gp/hr, filterable by category, members, recurring or minimum gp/hr, checked against the account. |
| plan_skillA | Use when the player wants to reach a level or XP goal. Gives XP remaining, a method's actions, materials and cost, or the best methods at their level, plus quests that reward XP in the skill. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 26 tools
Most tools target clearly distinct resources and actions, with explicit guidance like 'no other tool covers' for wiki search and structured data. Some overlap exists among quest-related tools (get_quest, get_quest_guide, plan_quest_trips, suggest_quests) and player progress tools, but descriptions distinguish them well.
All tool names use consistent snake_case with predictable verb_noun or verb constructions such as get_item, find_recipes, plan_quest_trips, and solve_clue. There are no mixed naming conventions or vague standalone verbs.
26 tools exceeds the typical well-scoped range and the rubric marks 25+ as too many for the apparent scope. Although the OSRS domain is broad and most tools cover distinct areas, the surface is still heavy and could be consolidated or grouped.
The toolset covers account management, player stats and progress, wiki search/pages/structured data, prices and price history, items, shops, recipes, monsters, drops, quests and quest planning, diaries, slayer, combat achievements, clues, money makers, and skill planning. No major gaps are apparent for an OSRS companion server.