RS3 Grand Exchange prices, item lookup, player hiscores, and RuneScape Wiki content
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Browse the Grand Exchange catalogue by category and starting letter. This is NOT a name search — use lookup_item for that. Use # for numeric names.
Category ID (0-43)
Page number (starting from 1)
Starting letter (a-z) or # for numbers. Defaults to "a".
Browse the Grand Exchange catalogue by category and starting letter. This is NOT a name search — use lookup_item for that. Use # for numeric names.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number (starting from 1) |
| alpha | string | Starting letter (a-z) or # for numbers. Defaults to "a". |
| category* | integer | Category ID (0-43) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"category"
],
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page number (starting from 1)"
},
"alpha": {
"type": "string",
"maxLength": 1,
"minLength": 1,
"description": "Starting letter (a-z) or # for numbers. Defaults to \"a\"."
},
"category": {
"type": "integer",
"maximum": 43,
"minimum": 0,
"description": "Category ID (0-43)"
}
},
"additionalProperties": false
}Compare latest Grand Exchange prices for up to 10 items in one call. Provide either names or itemIds. Returns one row per entry with id, name, price, volume and timestamp; entries that cannot be resolved come back as error rows instead of failing the call.
| Argument | Type | Description |
|---|---|---|
| names | array | Item names to compare (1-10). Provide names or itemIds, not both. |
| itemIds | array | Grand Exchange item IDs to compare (1-10). Provide names or itemIds, not both. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"names": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"description": "Item name, e.g. \"Abyssal whip\""
},
"maxItems": 10,
"minItems": 1,
"description": "Item names to compare (1-10). Provide names or itemIds, not both.",
"uniqueItems": true
},
"itemIds": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"description": "Grand Exchange item ID"
},
"maxItems": 10,
"minItems": 1,
"description": "Grand Exchange item IDs to compare (1-10). Provide names or itemIds, not both.",
"uniqueItems": true
}
},
"additionalProperties": false
}Estimate Grand Exchange flip profit after the 2% RS3 sales tax for an item, by itemId or name. This is an ESTIMATE ONLY: guide prices lag the live market, buy limits and fill times are not modelled, and actual profit will differ. Pass buyPrice/sellPrice to model your own offers.
| Argument | Type | Description |
|---|---|---|
| name | string | Item name (provide itemId or name). Prefer lookup_item for fuzzy search. |
| itemId | integer | Grand Exchange item ID (provide itemId or name) |
| buyPrice | integer | Buy price per item in coins. Defaults to the current market price. |
| quantity | integer | Number of items to flip (default 1) |
| sellPrice | integer | Sell price per item in coins. Defaults to the current market price. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Item name (provide itemId or name). Prefer lookup_item for fuzzy search."
},
"itemId": {
"type": "integer",
"minimum": 0,
"description": "Grand Exchange item ID (provide itemId or name)"
},
"buyPrice": {
"type": "integer",
"minimum": 0,
"description": "Buy price per item in coins. Defaults to the current market price."
},
"quantity": {
"type": "integer",
"minimum": 1,
"description": "Number of items to flip (default 1)"
},
"sellPrice": {
"type": "integer",
"minimum": 0,
"description": "Sell price per item in coins. Defaults to the current market price."
}
},
"additionalProperties": false
}List all RS3 Grand Exchange category IDs and names (0-43).
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Get letter counts for a Grand Exchange category. Use get_all_categories for IDs.
| Argument | Type | Description |
|---|---|---|
| category* | integer | Category ID (0-43) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"category"
],
"properties": {
"category": {
"type": "integer",
"maximum": 43,
"minimum": 0,
"description": "Category ID (0-43)"
}
},
"additionalProperties": false
}Read Grand Exchange database metadata, including lastConfigUpdateRuneday. This is not item prices; use get_item_price or lookup_item for those. Takes no arguments. Public Jagex endpoint, no auth.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Read the public Jagex Grand Exchange daily price series for one item, about the last 180 days. Pass exactly one of itemId or name. No auth and no side effects. Use summarize_price_history for min, max, and average instead of the raw series.
| Argument | Type | Description |
|---|---|---|
| name | string | Item name (provide itemId or name) |
| itemId | integer | Grand Exchange item ID (provide itemId or name) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Item name (provide itemId or name)"
},
"itemId": {
"type": "integer",
"minimum": 0,
"description": "Grand Exchange item ID (provide itemId or name)"
}
},
"additionalProperties": false
}Get current Grand Exchange price, trends, and examine text for an item. Pass exactly one of itemId or name.
| Argument | Type | Description |
|---|---|---|
| name | string | Item name (provide itemId or name). Prefer lookup_item for fuzzy search. |
| itemId | integer | Grand Exchange item ID (provide itemId or name) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Item name (provide itemId or name). Prefer lookup_item for fuzzy search."
},
"itemId": {
"type": "integer",
"minimum": 0,
"description": "Grand Exchange item ID (provide itemId or name)"
}
},
"additionalProperties": false
}Get RS3 hiscores for a player. Normal mode works via Jagex index_lite. Ironman/hardcore use documented Jagex endpoints that currently return HTTP 404; the tool reports that clearly instead of falling back to normal data.
| Argument | Type | Description |
|---|---|---|
| gameMode | string | Hiscores board (default: normal) |
| username* | string | Player username to lookup |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"username"
],
"properties": {
"gameMode": {
"enum": [
"normal",
"ironman",
"hardcore"
],
"type": "string",
"default": "normal",
"description": "Hiscores board (default: normal)"
},
"username": {
"type": "string",
"minLength": 1,
"description": "Player username to lookup"
}
},
"additionalProperties": false
}Fetch plain-text content of a RuneScape Wiki page. Follows redirects. Prefer exact titles; use lookup_item or wiki search when unsure.
| Argument | Type | Description |
|---|---|---|
| page* | string | Wiki page title (spaces allowed; redirects are followed) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"page"
],
"properties": {
"page": {
"type": "string",
"minLength": 1,
"description": "Wiki page title (spaces allowed; redirects are followed)"
}
},
"additionalProperties": false
}Resolve an item name to Grand Exchange ID and latest price. Uses exact name match first, then wiki opensearch. Prefer this before get_item_price when you only know the name.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max matches to return (default 5) |
| query* | string | Item name or partial name to search for |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Max matches to return (default 5)"
},
"query": {
"type": "string",
"minLength": 1,
"description": "Item name or partial name to search for"
}
},
"additionalProperties": false
}Summarize one item's recent Grand Exchange prices: min, max, average, change, and average daily volume. Pass exactly one of itemId or name, and optional days from 7 to 90 (default 30). Use get_item_graph for the full daily series.
| Argument | Type | Description |
|---|---|---|
| days | integer | Size of the trailing window in days (7-90, default 30) |
| name | string | Item name (provide itemId or name) |
| itemId | integer | Grand Exchange item ID (provide itemId or name) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"days": {
"type": "integer",
"maximum": 90,
"minimum": 7,
"description": "Size of the trailing window in days (7-90, default 30)"
},
"name": {
"type": "string",
"minLength": 1,
"description": "Item name (provide itemId or name)"
},
"itemId": {
"type": "integer",
"minimum": 0,
"description": "Grand Exchange item ID (provide itemId or name)"
}
},
"additionalProperties": false
}