RuneScape Wiki

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

사용해야 할까요

품질 및 안전성

A
설명 품질
96%
스키마 완전성
84%
이름 품질
93%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'estimate_flip' description lacks action verbestimate_flip에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,090토큰 (도구 정의)
~2.2 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.41%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "runescape-wiki-mcp": {
      "command": "npx",
      "args": [
        "runescape-wiki-mcp"
      ]
    }
  }
}

실행 가능한 패키지

npmrunescape-wiki-mcp1.2.0stdio

원격 엔드포인트

https://runescape-wiki-mcp.fly.dev/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (12)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢lookup_item(query, limit)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Item name or partial name to search for"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10,
      "description": "Max matches to return (default 5)"
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "matches": {
      "type": "array",
      "description": "Matching Grand Exchange items, best match first",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Grand Exchange item ID"
          },
          "name": {
            "type": "string",
            "description": "Item name"
          },
          "price": {
            "type": "number",
            "description": "Latest price in coins, when known"
          },
          "volume": {
            "type": "number",
            "description": "Latest trade volume, when known"
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp of the price sample"
          },
          "wikiUrl": {
            "type": "string",
            "description": "RuneScape Wiki page URL"
          },
          "error": {
            "type": "string",
            "description": "Why this row could not be resolved"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "matches"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_item_graph(itemId, name)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "itemId": {
      "type": "integer",
      "minimum": 0,
      "description": "Grand Exchange item ID (provide itemId or name)"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Item name (provide itemId or name)"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Raw Jagex JSON. Price fields may be integers or compact strings such as \"80k\".",
  "additionalProperties": true
}
🟢get_item_price(itemId, name)

Get current Grand Exchange price, trends, and examine text for an item. Pass exactly one of itemId or name.

입력 스키마

{
  "type": "object",
  "properties": {
    "itemId": {
      "type": "integer",
      "minimum": 0,
      "description": "Grand Exchange item ID (provide itemId or name)"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Item name (provide itemId or name). Prefer lookup_item for fuzzy search."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Raw Jagex JSON. Price fields may be integers or compact strings such as \"80k\".",
  "additionalProperties": true
}
🟢get_ge_info

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.

입력 스키마

{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Raw Jagex JSON. Price fields may be integers or compact strings such as \"80k\".",
  "additionalProperties": true
}
🟢get_category_info(category)

Get letter counts for a Grand Exchange category. Use get_all_categories for IDs.

입력 스키마

{
  "type": "object",
  "properties": {
    "category": {
      "type": "integer",
      "minimum": 0,
      "maximum": 43,
      "description": "Category ID (0-43)"
    }
  },
  "required": [
    "category"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_all_categories

List all RS3 Grand Exchange category IDs and names (0-43).

입력 스키마

{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢browse_items(category, alpha, page)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "category": {
      "type": "integer",
      "minimum": 0,
      "maximum": 43,
      "description": "Category ID (0-43)"
    },
    "alpha": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1,
      "description": "Starting letter (a-z) or # for numbers. Defaults to \"a\"."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number (starting from 1)"
    }
  },
  "required": [
    "category"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢summarize_price_history(itemId, name, days)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "itemId": {
      "type": "integer",
      "minimum": 0,
      "description": "Grand Exchange item ID (provide itemId or name)"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Item name (provide itemId or name)"
    },
    "days": {
      "type": "integer",
      "minimum": 7,
      "maximum": 90,
      "description": "Size of the trailing window in days (7-90, default 30)"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "itemId": {
      "type": "integer",
      "description": "Grand Exchange item ID"
    },
    "name": {
      "type": "string",
      "description": "Name supplied by the caller, when given"
    },
    "windowDays": {
      "type": "integer",
      "description": "Trailing window actually summarized"
    },
    "sampleCount": {
      "type": "integer",
      "description": "Daily samples inside the window"
    },
    "latestPrice": {
      "type": "number",
      "description": "Newest price in the window, in coins"
    },
    "oldestPriceInWindow": {
      "type": "number",
      "description": "Oldest price in the window, in coins"
    },
    "minPrice": {
      "type": "number",
      "description": "Lowest price in the window, in coins"
    },
    "maxPrice": {
      "type": "number",
      "description": "Highest price in the window, in coins"
    },
    "avgPrice": {
      "type": "number",
      "description": "Average price in the window, in coins"
    },
    "changeAbs": {
      "type": "number",
      "description": "latestPrice minus oldestPriceInWindow"
    },
    "changePct": {
      "type": "number",
      "description": "Percent change across the window"
    },
    "avgDailyVolume": {
      "type": "number",
      "description": "Average daily volume, when the source provided it"
    }
  },
  "required": [
    "itemId",
    "windowDays",
    "sampleCount",
    "latestPrice",
    "oldestPriceInWindow",
    "minPrice",
    "maxPrice",
    "avgPrice",
    "changeAbs",
    "changePct"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢compare_items(names, itemIds)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "names": {
      "type": "array",
      "minItems": 1,
      "maxItems": 10,
      "uniqueItems": true,
      "items": {
        "type": "string",
        "minLength": 1,
        "description": "Item name, e.g. \"Abyssal whip\""
      },
      "description": "Item names to compare (1-10). Provide names or itemIds, not both."
    },
    "itemIds": {
      "type": "array",
      "minItems": 1,
      "maxItems": 10,
      "uniqueItems": true,
      "items": {
        "type": "integer",
        "minimum": 0,
        "description": "Grand Exchange item ID"
      },
      "description": "Grand Exchange item IDs to compare (1-10). Provide names or itemIds, not both."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "compared": {
      "type": "integer",
      "description": "Number of rows returned"
    },
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Name or id that was requested"
          },
          "id": {
            "type": "integer",
            "description": "Grand Exchange item ID"
          },
          "name": {
            "type": "string"
          },
          "price": {
            "type": "number",
            "description": "Latest price in coins"
          },
          "volume": {
            "type": "number"
          },
          "timestamp": {
            "type": "string"
          },
          "error": {
            "type": "string",
            "description": "Present when this row could not be resolved"
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "compared",
    "rows"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢estimate_flip(itemId, name, buyPrice, sellPrice, quantity)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "itemId": {
      "type": "integer",
      "minimum": 0,
      "description": "Grand Exchange item ID (provide itemId or name)"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Item name (provide itemId or name). Prefer lookup_item for fuzzy search."
    },
    "buyPrice": {
      "type": "integer",
      "minimum": 0,
      "description": "Buy price per item in coins. Defaults to the current market price."
    },
    "sellPrice": {
      "type": "integer",
      "minimum": 0,
      "description": "Sell price per item in coins. Defaults to the current market price."
    },
    "quantity": {
      "type": "integer",
      "minimum": 1,
      "description": "Number of items to flip (default 1)"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "itemId": {
      "type": "integer"
    },
    "itemName": {
      "type": "string"
    },
    "quantity": {
      "type": "integer"
    },
    "buyPrice": {
      "type": "number",
      "description": "Buy price per item in coins"
    },
    "sellPrice": {
      "type": "number",
      "description": "Sell price per item in coins"
    },
    "taxRate": {
      "type": "number"
    },
    "taxPerUnit": {
      "type": "number"
    },
    "totalTax": {
      "type": "number"
    },
    "grossProfit": {
      "type": "number"
    },
    "netProfit": {
      "type": "number"
    },
    "netProfitPerUnit": {
      "type": "number"
    },
    "marginPct": {
      "type": [
        "number",
        "null"
      ]
    },
    "breakEvenSellPrice": {
      "type": "number"
    },
    "assumptions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "itemId",
    "quantity",
    "buyPrice",
    "sellPrice",
    "netProfit"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Flip estimate after the RS3 2% seller tax. marginPct is null when the buy cost is 0.",
  "additionalProperties": true
}
🟢get_player_stats(username, gameMode)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "username": {
      "type": "string",
      "minLength": 1,
      "description": "Player username to lookup"
    },
    "gameMode": {
      "type": "string",
      "enum": [
        "normal",
        "ironman",
        "hardcore"
      ],
      "description": "Hiscores board (default: normal)",
      "default": "normal"
    }
  },
  "required": [
    "username"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Map of RS3 skill name to hiscores row. Overall is included.",
  "additionalProperties": {
    "type": "object",
    "properties": {
      "rank": {
        "description": "Hiscores rank, or the string Unranked",
        "anyOf": [
          {
            "type": "integer"
          },
          {
            "const": "Unranked"
          }
        ]
      },
      "level": {
        "type": "integer",
        "description": "Skill level"
      },
      "experience": {
        "type": "integer",
        "description": "Skill experience"
      }
    },
    "required": [
      "rank",
      "level",
      "experience"
    ],
    "additionalProperties": false
  }
}
🟢get_wiki_page_content(page)

Fetch plain-text content of a RuneScape Wiki page. Follows redirects. Prefer exact titles; use lookup_item or wiki search when unsure.

입력 스키마

{
  "type": "object",
  "properties": {
    "page": {
      "type": "string",
      "minLength": 1,
      "description": "Wiki page title (spaces allowed; redirects are followed)"
    }
  },
  "required": [
    "page"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 12개