Skip to main content
Glama

RuneScape Wiki MCP: GE Analytics & References

Read GE Catalogue Metadata

get_ge_info
Read-onlyIdempotent

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.

Input Schema

NameRequiredDescriptionDefault
viewNoMetadata view; omit for the original configuration status resultstatus
categoryNoCategory ID (0-43)

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • addedInput schema / oneOf
      Added value: +[
      +  {
      +    "not": {
      +      "required": [
      +        "category"
      +      ]
      +    },
      +    "properties": {
      +      "view": {
      +        "enum": [
      +          "status",
      +          "categories"
      +        ]
      +      }
      +    }
      +  },
      +  {
      +    "properties": {
      +      "view": {
      +        "const": "category_counts"
      +      }
      +    },
      +    "required": [
      +      "view",
      +      "category"
      +    ]
      +  }
      +]
    • addedInput schema / properties
      Added value: +{
      +  "category": {
      +    "description": "Category ID (0-43)",
      +    "maximum": 43,
      +    "minimum": 0,
      +    "type": "integer"
      +  },
      +  "view": {
      +    "default": "status",
      +    "description": "Metadata view; omit for the original configuration status result",
      +    "enum": [
      +      "status",
      +      "categories",
      +      "category_counts"
      +    ],
      +    "type": "string"
      +  }
      +}
    • removedOutput schema / additionalProperties
      Removed value: -true
    • removedOutput schema / properties / categoryCount
      Removed value: -{
      -  "description": "Number of canonical GE categories",
      -  "type": "integer"
      -}
    • removedOutput schema / properties / configurationAgeDays
      Removed value: -{
      -  "description": "UTC calendar days since configuration update; negative for a future upstream date",
      -  "type": "integer"
      -}
    • removedOutput schema / properties / fetchedAt
      Removed value: -{
      -  "description": "Server retrieval time, not a price update timestamp",
      -  "format": "date-time",
      -  "type": "string"
      -}
    • removedOutput schema / properties / lastConfigUpdateDate
      Removed value: -{
      -  "description": "Configuration UTC date derived from RuneDay",
      -  "format": "date",
      -  "type": "string"
      -}
    • removedOutput schema / properties / lastConfigUpdateRuneday
      Removed value: -{
      -  "description": "Upstream RuneDay counter for catalogue configuration update",
      -  "type": "integer"
      -}
    • removedOutput schema / properties / priceFreshness
      Removed value: -{
      -  "const": "not_reported",
      -  "description": "Configuration metadata does not report item-price freshness"
      -}
    • addedOutput schema / properties / result
      Added value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "anyOf": [
      +    {
      +      "$schema": "https://json-schema.org/draft/2020-12/schema",
      +      "additionalProperties": true,
      +      "properties": {
      +        "categoryCount": {
      +          "description": "Number of canonical GE categories",
      +          "type": "integer"
      +        },
      +        "configurationAgeDays": {
      +          "description": "UTC calendar days since configuration update; negative for a future upstream date",
      +          "type": "integer"
      +        },
      +        "fetchedAt": {
      +          "description": "Server retrieval time, not a price update timestamp",
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        "lastConfigUpdateDate": {
      +          "description": "Configuration UTC date derived from RuneDay",
      +          "format": "date",
      +          "type": "string"
      +        },
      +        "lastConfigUpdateRuneday": {
      +          "description": "Upstream RuneDay counter for catalogue configuration update",
      +          "type": "integer"
      +        },
      +        "priceFreshness": {
      +          "const": "not_reported",
      +          "description": "Configuration metadata does not report item-price freshness"
      +        }
      +      },
      +      "required": [
      +        "lastConfigUpdateRuneday",
      +        "lastConfigUpdateDate",
      +        "configurationAgeDays",
      +        "fetchedAt",
      +        "categoryCount",
      +        "priceFreshness"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "$schema": "https://json-schema.org/draft/2020-12/schema",
      +      "additionalProperties": false,
      +      "properties": {
      +        "categories": {
      +          "description": "All 44 category references, sorted by ID",
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "id": {
      +                "description": "Category ID (0-43)",
      +                "maximum": 43,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "name": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "name"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "categories"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "$schema": "https://json-schema.org/draft/2020-12/schema",
      +      "additionalProperties": true,
      +      "properties": {
      +        "alpha": {
      +          "items": {
      +            "properties": {
      +              "items": {
      +                "description": "Number of catalogue items in this letter group",
      +                "type": "integer"
      +              },
      +              "letter": {
      +                "description": "Starting letter, or # for numbers",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "letter",
      +              "items"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "types": {
      +          "items": {},
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "types",
      +        "alpha"
      +      ],
      +      "type": "object"
      +    }
      +  ]
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "lastConfigUpdateRuneday",
      -  "lastConfigUpdateDate",
      -  "configurationAgeDays",
      -  "fetchedAt",
      -  "categoryCount",
      -  "priceFreshness"
      -]New value: +[
      +  "result"
      +]
  2. Changed7 schema fields changed
    • addedOutput schema / properties / categoryCount
      Added value: +{
      +  "description": "Number of canonical GE categories",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / configurationAgeDays
      Added value: +{
      +  "description": "UTC calendar days since configuration update; negative for a future upstream date",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / fetchedAt
      Added value: +{
      +  "description": "Server retrieval time, not a price update timestamp",
      +  "format": "date-time",
      +  "type": "string"
      +}
    • addedOutput schema / properties / lastConfigUpdateDate
      Added value: +{
      +  "description": "Configuration UTC date derived from RuneDay",
      +  "format": "date",
      +  "type": "string"
      +}
    • changedOutput schema / properties / lastConfigUpdateRuneday / description
      Previous value: -"RuneScape day counter for catalogue configuration update"New value: +"Upstream RuneDay counter for catalogue configuration update"
    • addedOutput schema / properties / priceFreshness
      Added value: +{
      +  "const": "not_reported",
      +  "description": "Configuration metadata does not report item-price freshness"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "lastConfigUpdateRuneday"
      -]New value: +[
      +  "lastConfigUpdateRuneday",
      +  "lastConfigUpdateDate",
      +  "configurationAgeDays",
      +  "fetchedAt",
      +  "categoryCount",
      +  "priceFreshness"
      +]
  3. Changed3 schema fields changed
    • removedOutput schema / description
      Removed value: -"Raw Jagex JSON. Price fields may be integers or compact strings such as \"80k\"."
    • addedOutput schema / properties
      Added value: +{
      +  "lastConfigUpdateRuneday": {
      +    "description": "RuneScape day counter for catalogue configuration update",
      +    "type": "integer"
      +  }
      +}
    • addedOutput schema / required
      Added value: +[
      +  "lastConfigUpdateRuneday"
      +]
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": true,
      +  "description": "Raw Jagex JSON. Price fields may be integers or compact strings such as \"80k\".",
      +  "type": "object"
      +}
  5. First observed

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent/openWorld annotations, it discloses that categories needs no network, the other views make exactly one uncached Jagex read, no credentials are required, and the HTTP quota is 60 requests/IP/minute with 429 Retry-After handling. It also preempts misreadings (status reports config age, not price freshness).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and sibling routing are front-loaded in the first two sentences, then short bullets handle each view-specific pitfall. Dense, but every line is an actionable disambiguation with no restatement of the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return shapes need not be explained; annotations carry the safety profile; the description covers everything else an agent needs (network cost, auth, rate limits, per-view semantics, invalid-argument behavior). Nothing relevant is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (baseline 3), but the description materially adds meaning the schema cannot: the 44-ID range, duplicate names meaning separate groups, category 0-43 with example 24 for high-level melee weapons, category 0 not being an all-groups sentinel, counts keyed by starting letter, and that category is rejected outside category_counts.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ("Read RS3 GE catalogue metadata") and immediately names the three sibling tools it is NOT, so an agent can tell it apart from get_item_details, browse_items and list_wiki_category_members without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit exclusions with named alternatives ("Do not use this for item prices: use get_item_details. For entries use browse_items; for Wiki categories use list_wiki_category_members") plus per-view guidance on which view to pick. Both when-to-use and when-not-to-use are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.