mcpbeat Sign in

RuneScape Wiki MCP Server

answering

RuneScape Wiki is answering right now. Last checked moments ago. 56 installs a week from npm. It exposes 14 tools. Last commit 27 Oct 2026.

RS3 Grand Exchange prices, item lookup, player hiscores, and RuneScape Wiki content

Installs per day peak 298 · avg 9
a month agotoday
Uptime history 17 days of history
17 days agonow
100.0%
Uptime 24h
92 of 92 checks
14
Tools
read from the server
1796 ms
Response time
average over 24h
56
Installs / week
npm and PyPI

What changed 154

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 25 October 2026. No other catalogue keeps this.

26 Oct 2 tools appeared get_player_quests, recommend_next_activity
25 Oct 19 tool descriptions were rewritten117 times that day browse_items, compare_item_prices, compare_items and 16 more
25 Oct 10 tools changed the parameters they ask for21 times that day compare_item_prices, compare_items, estimate_flip and 7 more
25 Oct 7 tools appeared compare_item_prices, get_item_details, get_price_series and 4 more
25 Oct 7 tools disappeared compare_item_prices, compare_items, get_all_categories and 4 more
and 109 more, back to 25 October 2026

What the code does

We read the source, 5 d ago · tools taken from the live server · rules 995398eba69f

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Runs an external command src/unlockRecommendations.ts:144
    const requested = input.unlock ?? /\b(?:unlock(?:ing)?|access to)\s+(.+?)(?:[?.!]|$)/i.exec(input.goal)?.[1]?.trim();

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 0 min ago.

run in your terminal
claude mcp add runescape-wiki-mcp --transport http https://runescape-wiki-mcp.fly.dev/mcp
Settings → Connectors → Add custom connector, then paste this address
https://runescape-wiki-mcp.fly.dev/mcp
~/.codex/config.toml
[mcp_servers.runescape-wiki-mcp]
url = "https://runescape-wiki-mcp.fly.dev/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "runescape-wiki-mcp": {
      "url": "https://runescape-wiki-mcp.fly.dev/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "runescape-wiki-mcp": {
      "type": "http",
      "url": "https://runescape-wiki-mcp.fly.dev/mcp"
    }
  }
}

Available tools 14

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

wiki
get_wiki_drop_table
Read indexed RS3 drop items, quantities and listed rarities. Use get_wiki_entity_facts for combat stats or lookup_item for GE identities. - page resolves redirects; put #variant only in variant. A supplied variant must match a returned sourceReference; omission includes all variants. - offset counts source rows from zero, including malformed rows that are skipped. Follow nextOffset even after a short usable result. limit bounds rows, not kills/rolls; edits or tied names can shift boundaries. - Missing/non-article sources error; unindexed articles yield empty rows. Unknown facts stay null. - Listed probabilities are per row. Rolls and omitted conditions can change actual chances; consult the returned source link when hasOmittedAnnotations is true. Each call reads article identity and the dropsline index without returning article prose/images. Uncached reads may lag and require no credentials. HTTP defaults to 60 requests/IP/minute; honor 429 Retry-After.
get_wiki_entity_facts
Read RS3 monster combat stats or quest metadata. Use search_wiki for titles, get_wiki_page_content for reviewed text/links, or get_item_details for GE records. - page is a literal main-article title with spaces; the server URL-encodes it. URLs, #variants, |separators and Category: titles are rejected. - kind chooses a dataset, not a name filter: quest includes miniquests, subquests and sagas; a title in the wrong dataset errors. - limit expands a prefix instead of advancing a page: raising 5 to 10 repeats the first five variants before adding more. Select variants by returned references. If truncated, increase limit or visit the source link; there is no cursor. - Missing fields are omitted instead of zero-filled. Article prose/images are excluded, and the uncached index can lag edits. - No credentials are required. HTTP defaults to 60 requests/IP/minute; wait for Retry-After after 429.
get_wiki_page_content
Get reviewed Wiki article text, or a source reference when text is unavailable. Use search_wiki for titles; get_item_details for prices. - page takes one unencoded title; pages takes 1-10, e.g. ["Abyssal whip"]. URLs, #fragments and |separators reject the call before fetching. - For page, read the flat response. For pages, even one title, check results[i].error before reading results[i].data. Rows preserve order and duplicates; redirects resolve. - The server sets output contentStatus: reviewed_extract includes approved, unchanged text and attribution; successful link_only has null text, url and reason. Inputs cannot approve content. - In valid batches, missing-page/API errors are per row; the call fails only if all rows fail. At most two requests run concurrently; 429 stops queued work. - No authentication is required and responses are not cached here. Shared HTTP budget: 60 requests/IP/minute. Honor Retry-After.
list_wiki_category_members
List direct articles, subcategories and files in an RS3 Wiki category. Use search_wiki to discover category titles; get_ge_info (view=categories) lists GE groups instead. category is a literal Category: title, not a GE number. limit bounds this page of members, not recursion depth. Supply nextCursor unchanged with the same category to continue. You may change limit between pages, but changing categories invalidates the cursor. There is no recursive expansion or snapshot lock, so edits can affect later pages. An empty set can mean an empty or missing category. Results contain metadata links, never article bodies or images. Reads are uncached and need no credentials. HTTP defaults to 60 requests/IP/minute; honor 429 Retry-After.
search_wiki
Find RS3 Wiki sources for items, NPCs/monsters, quests and guides. Use get_wiki_page_content for reviewed text/page references, lookup_item for GE identities or get_item_details for catalogue records. query accepts raw Wiki syntax; the server URL-encodes it. "Abyssal demon" "drop" requires both phrases; intitle:"Cook's Assistant" focuses titles. prefix:Category:Weapons selects Wiki categories instead of articles. limit caps one relevance-ranked set, not an offset. No continuation cursor exists: refine the query for different matches. No matches returns an empty set; invalid queries or API failures return errors. Public reads require no credentials and are uncached. The shared HTTP budget defaults to 60 requests/IP/minute; honor 429 Retry-After.
player
get_player_quests
Read a public RS3 character's complete RuneMetrics quest journal. Use recommend_next_activity for paid advice, get_player_stats for levels, or get_wiki_entity_facts with kind=quest for one quest's metadata. - username is the character's display name, not a Jagex login, account ID or quest name. No signed-in-player default exists; ask which character when unknown. - Send {"username":"A B"}, not {"username":"A%20B"}. The server trims outer whitespace and encodes the name once. The returned username echoes that input; no alias or canonical-identity lookup is performed. - No gameMode or quest/status selector applies. Filter the complete returned journal locally; there is no pagination. A quest's members flag does not establish current account membership. - Invalid names, private/unavailable or malformed journals return isError/text, not an empty journal or guessed progress. - Sends the display name to Jagex RuneMetrics for one fresh uncached read, with a 12-second default deadline and no automatic retry. No Jev, API key, login or game changes. HTTP shares 60 requests/IP/minute by default; honor Retry-After on 429.
get_player_stats
Read an RS3 player's published hiscores ranks, levels and experience, including Overall. Use search_wiki for training guides rather than player data. - username is the literal in-game display name, including spaces; the server URL-encodes it. gameMode chooses a separate leaderboard, not a filter on normal stats. Omit it for normal mode. - Normal, ironman and hardcore boards are supported. A player absent from the selected board returns a 404 tool error; the tool never substitutes another board. Unranked skills use rank Unranked; unavailable level/XP becomes 0. - No login, account changes or local cache. HTTP shares a default 60 requests/IP/minute budget; honor Retry-After on 429.
browse
browse_items
List GE items within one numeric category. Use list_wiki_category_members for Wiki Category: titles, lookup_item for names, or get_item_details for individual records. - Discover IDs with get_ge_info view=categories and nonempty letters with view=category_counts. IDs 0 and 42 both say Miscellaneous but identify separate groups. - {"category":24,"alpha":"#","page":2} selects the second numeric-name page of high-level melee weapons. Pass literal #, not %23; the server encodes it. - Restart page at 1 when category or alpha changes. Stop on empty items; isError signals failure rather than completion. - Jagex total counts the category, not the letter. Guide prices lag activity. - Each call makes one uncached Jagex read without credentials. HTTP defaults to 60 requests/IP/minute; wait for Retry-After after 429.
estimate
estimate_flip
Calculate RS3 resale-profit scenarios after seller tax. ESTIMATE ONLY; never places an order. Use get_item_details for current records/comparisons or lookup_item to resolve names. - itemId=4151 means Abyssal whip, not a quantity. quantity scales total investment, tax and profit without changing per-unit margin. - Omitting both prices gives identical buy/sell prices, usually a tax loss. Supply itemId and both prices to calculate without network access. - Seller tax is 2% of each unit's sell price, rounded down. Bonds and sales at 50 coins or less are exempt. - With quantity=20 and buyLimitRemaining=5, quota profit covers five units while requested totals still cover twenty. fillTimeMinutes converts full-request profit into an hourly rate, including assumed quota waits. Both inputs are caller assumptions, not observed limits or fill predictions. - Sampled prices lag live offers. Reads are uncached and require no credentials. HTTP defaults to 60 requests/IP/minute; wait for Retry-After after 429.
info
get_ge_info
Read RS3 GE catalogue metadata. Do not use this for item prices: use get_item_details. For entries use browse_items; for Wiki categories use list_wiki_category_members. - view=status reports configuration date/age, not price freshness. - view=categories lists all 44 built-in IDs; duplicate names identify separate groups. - view=category_counts requires category 0-43, e.g. 24 for high-level melee weapons. Category 0 is one Miscellaneous group, not an all-groups sentinel. The response counts entries by starting letter (# means numbers), not stock or offers. category is rejected outside category_counts; it cannot filter the full list. categories needs no network; other views make one uncached Jagex read. No credentials required. HTTP defaults to 60 requests/IP/minute; honor 429 Retry-After.
item
get_item_details
Read current RS3 catalogue records or compare candidate snapshots. Resolve names with lookup_item; use get_price_series for dated history and estimate_flip for profit calculations. - records reads Jagex identity, examine/type/membership, icon URLs and guide prices. itemId=4151 means Abyssal whip. Arrays always return results[] in caller order, including errors at failed IDs, even for one entry. - includeLiveData adds reported trades and numeric Wiki facts without replacing guide fields. Trades are not executable offers; buy limits are not remaining quota. - comparison reads compact Weirdgloop daily price/volume snapshots for itemIds in caller order. Missing metrics remain absent and unresolved IDs become error rows. It does not rank the whole GE. - Record batches retain successful rows and error if all fail. At most two reads run concurrently; 429 stops queued reads. Invalid selectors fail before fetching. - Guide/comparison reads are uncached and lag activity. Trades cache for 30 seconds and facts for 10 minutes; cache hits preserve fetchedAt. No credentials are required. HTTP defaults to 60 requests/IP/minute; wait for Retry-After after 429.
lookup
lookup_item
Resolve tradeable RS3 names to GE IDs. Use search_wiki for quests, NPCs or guides; non-GE items cannot match here. - query="Abyssal whip" tries an exact match; "abyssal" discovers alternatives. An exact match ends the search regardless of limit. - limit also bounds Wiki candidates checked against Weirdgloop. Non-GE candidates are discarded, so results can be fewer; increasing limit widens that screening. Values outside 1–10 error before fetching rather than being clamped. - Pass a chosen ID to get_item_details for current records, get_price_series for history, or estimate_flip for profit math. No matches is a tool error; optional price/volume fields may be absent and samples lag activity. - Reads are uncached and need no credentials. HTTP defaults to 60 requests/IP/minute; wait for Retry-After after 429.
price
get_price_series
Read dated RS3 price history for one known GE item. Resolve names with lookup_item; use get_item_details for current records or candidate comparisons. - itemId=4151 means Abyssal whip, not a quantity. For observations, choose Jagex for provider averages over roughly 180 days or Weirdgloop for daily samples with reported volume over roughly 90 days. - from/to include whole UTC days. Equal bounds cover that day; omitted bounds retain all available history. Requested dates cannot extend retention. - statistics computes min/max, unweighted mean and start-to-end change from a fixed 90-day Weirdgloop fetch. For example, days=7 takes the last seven usable samples even if missing dates make them span more than a week. - Each call returns its full retained series or statistics in one bounded response; there is no cursor or next page. Unavailable observation dates return empty data; unusable statistics history returns an error. Invalid bounds fail before fetching. - Reads are uncached and require no credentials. Provider errors surface without switching sources or retrying automatically. HTTP defaults to 60 requests/IP/minute; wait for Retry-After after 429.
recommend
recommend_next_activity
Plan the next RS3 activity, training milestone or unlock prerequisite. Use get_player_quests for progress, get_player_stats for levels, get_wiki_entity_facts for one quest's facts, or search_wiki for references. - Routing: unlock overrides goalType, otherwise goalType overrides inference. targetSkill sets focus, not the planner. - Example: {"goal":"Train Mining","goalType":"skill_training","targetSkill":"Mining","targetLevel":70,"context":{"skills":{"Mining":52}}}. Without a target or goal-specified level, 52 defaults to 55. - Account: caller levels override hiscores; fresh journals override completion claims. Quest comparison needs a public context.username. Membership, gear and bank balances are not fetched. - Setup/privacy: operator RUNESCAPE_RECOMMENDATIONS_ENABLED=true and TYPESAFE_API_KEY. Goal/account context goes to TypeSafe; display-name lookups go to Jagex. - Cost: at most 24 paid Jev calls for quests, three otherwise, including routing. Repeated calls can incur fresh charges. No automatic paid retries; rounds completed before an error may already be billed. - Timing/errors: 55 seconds for routing/non-quest work, plus five minutes for quest comparison. Invalid input/configuration or fatal provider failures return isError/text. HTTP shares 60 requests/IP/minute by default; honor Retry-After on 429. - Freshness: public Wiki reads cache five minutes or six hours by planner. Player journals and decisions are not cached; no game account changes. General activity requires reviewed extracts; withheld text can yield no_match. - Outcomes: needs_context may still include a conditional recommendation; use missingContext to clarify it. no_match means no supported option; goal_met refers to the selected target. Communicate warnings and source conditions.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

compare_items
removed 25 Oct 2026
get_item_graph
removed 25 Oct 2026
get_item_price
removed 25 Oct 2026
get_all_categories
removed 25 Oct 2026
get_category_info
removed 25 Oct 2026
summarize_price_history
removed 25 Oct 2026
compare_item_prices
removed 25 Oct 2026

Endpoints

URLTransportStateLatencyChecked
https://runescape-wiki-mcp.fly.dev/mcp streamable-http answering 402 ms 0 min ago

Alternatives to RuneScape Wiki

same job, measured the same way
rust.wiki
by rust

Live data for the game Rust: skin prices and history, items, item store, loot tables, servers.

57 tools answering
poe-data-mcp - Path of Exile game data
by charleslucas

MCP server for Path of Exile game data: wiki, economy, and Craft of Exile lookups

108 installs/wk local only
Wiki.js
by ni-c

Search, read and edit Wiki.js pages, and manage its assets, users, groups and comments

97 installs/wk local only
Wikidata MCP
by mrfentmen

Wikidata entity search, lookup, and bounded SPARQL.

63 installs/wk local only
Seojeom MCP
by seojeom

Local-first MCP server for Claude/Codex project wiki and graph workflows

local only
MCP Wikibooks Cookbook
by smeet666

Search the Wikibooks Cookbook, read a recipe and rescale it to any number of servings.

361 installs/wk local only
GST Cranes Public Discovery MCP
by gkmex75

Public read-only discovery tools for GST Cranes marketplace, wanted ads, and Crane Wiki.

40 installs/wk local only
Places
by detourmap

Places worth a detour, from Wikidata: search, nearby lookup, fame rankings, stats. No key, CC0.

8 tools answering

RuneScape Wiki — questions

Answers built from our own checks of this server.

What can RuneScape Wiki do?
It exposes 14 tools, read directly from the server on our last check. Among them: browse_items, estimate_flip, get_ge_info, get_item_details, get_player_quests, get_player_stats and 8 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is RuneScape Wiki mostly used for?
Its tools cluster around wiki and player. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is RuneScape Wiki working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 1796 ms. The bar chart above shows every period we have measured.
Did RuneScape Wiki ever remove tools?
Yes. compare_items, get_item_graph, get_item_price, get_all_categories and 3 more are no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
How do I connect RuneScape Wiki?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does RuneScape Wiki need an API key?
No. RuneScape Wiki completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 14 of them are readable on this page. This is what we observed, not what the docs claim.
How many people use RuneScape Wiki?
The npm package runescape-wiki-mcp was installed 56 times in the last week. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is RuneScape Wiki open source?
The code is open source: it is published under the MIT licence, written in TypeScript and 2 stars on GitHub. The licence covers the code in the repository, not the hosted service at runescape-wiki-mcp.fly.dev, which runs on its operator's own terms.