RS3 Wiki API MCP Server

RS3 Wiki API MCP Server

Enables Claude to interact with the RuneScape Wiki through search, page retrieval, extracts, and ASCII image rendering.

Category
Visit Server

README

RS3 Wiki API

An SDK and REST API wrapper for the RuneScape Wiki providing structured access to wiki content via the MediaWiki API — with an MCP server for Claude Code integration.

Disclaimer: This SDK, REST API wrapper, and MCP server is an unofficial tool created for educational purposes only. It is not affiliated with, maintained, or endorsed by Jagex or the RuneScape Wiki.

Installation

npm install @deansasek/rs3-wiki-api

SDK

The SDK provides a typed, class-based interface organized by resource.

import { RS3WikiClient } from '@deansasek/rs3-wiki-api/sdk';

const client = new RS3WikiClient();

// Search
const results = await client.search.query({ query: 'dragon slayer' });

// Autocomplete
const suggestions = await client.search.autocomplete({ query: 'drag' });

// Fetch a wiki page
const page = await client.page.getPage('Dragon Slayer II');

// Plain-text intro
const extract = await client.page.getExtract('Abyssal whip');

// Render an image as ASCII art
const ascii = await client.page.renderImage('Abyssal whip', 64);

SDK Resources

Resource Methods
client.search query(), autocomplete()
client.page getPage(), getExtract(), getImageUrl(), renderImage()

REST API (Backward Compatible)

Flat function exports for direct API access.

import { search, autocomplete, getPage, getExtract, renderImage } from '@deansasek/rs3-wiki-api';

search(query, options?)

Full-text wiki search with snippets.

const results = await search('dragon slayer', { limit: 10, offset: 0 });

autocomplete(query, options?)

Fast autocomplete/typeahead suggestions.

const suggestions = await autocomplete('drag', { limit: 5 });

getPage(title)

Fetch a wiki page with full HTML, wikitext, categories, and links.

const page = await getPage('Dragon Slayer II');
// Returns: { pageid, title, html, wikitext, categories, links, images, timestamp }

getExtract(title)

Fetch the plain-text intro of a wiki page.

const extract = await getExtract('Abyssal whip');
// Returns: "The abyssal whip is a level 70 melee weapon..."

renderImage(title, width?)

Render a wiki page's first image as ASCII art.

const ascii = await renderImage('Abyssal whip', 64);
// Returns:
// Abyssal whip
// ════════════════════════════════════════════════════════
//   ░░▒▒▓▓████▒▒░░  ...

Other Functions

Function Description
createClient(options?) Create a custom client with options
getImageUrl(filename) Resolve a raw image filename to its CDN URL

MCP Server (Claude Code Integration)

The MCP server enables Claude Code to interact with the RS3 Wiki directly.

Installation

Claude Code automatically detects .mcp.json:

{
  "mcpServers": {
    "@deansasek/rs3-wiki-api-mcp": {
      "command": "node",
      "args": ["dist/mcp/server.js"]
    }
  }
}

Available MCP Tools

Tool Description
osrs_search Full-text wiki search with snippets
osrs_autocomplete Fast typeahead suggestions
osrs_get_page Fetch a wiki page (HTML, wikitext, categories, links)
osrs_get_extract Plain-text page intro
osrs_render_image Render a wiki page image as ASCII art

MCP Usage Examples

User: Search for dragon slayer quest on the OSRS wiki
Claude uses: osrs_search with query="dragon slayer"

User: What items are in the Fight Arena quest?
Claude uses: osrs_get_page with title="Fight Arena"

User: Give me a quick summary of the Kal'gerion demon
Claude uses: osrs_get_extract with title="Kalphite Queen"

User: Show me the Abyssal whip as ASCII art
Claude uses: osrs_render_image with title="Abyssal whip", width=64

Development

npm run build    # Compile TypeScript
npm run clean    # Remove dist folder
npm run dev      # Run server.ts directly
npm run mcp      # Run MCP server directly

Environment

  • Node.js 18+ recommended
  • TypeScript with strict mode

License

This project is dedicated to the public domain under the Unlicense.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured