osrs-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@osrs-mcpCheck my current stats and inventory."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
osrs-mcp
MCP server for Old School RuneScape. Gives an AI agent eyes and knowledge for OSRS by combining:
Screen vision — captures the RuneLite window and uses Claude or a local vision LLM to analyze game state
RuneLite HTTP API — reads exact skill levels, inventory, and equipment directly from the game client (no vision needed)
Click coordinates — resolves pixel positions for inventory slots, sidebar tabs, and UI regions
OSRS Wiki — item, NPC, quest, and page lookups
Grand Exchange prices — real-time prices, history, and profit calculator
Skill training tools — XP calculations and items-to-level planning
Setup
cp .env.example .env
# Edit .env — set ANTHROPIC_API_KEY and optionally VISION_PROVIDER
npm install
npm run buildVision provider
The vision tools support two backends, configured via .env:
Option A — Anthropic API (default)
ANTHROPIC_API_KEY=your-api-key-hereOption B — Local AI via LM Studio (or any Anthropic-compatible server)
Your local model must be vision/multimodal capable (e.g. qwen2-vl-7b-instruct, gemma-4, llava). Text-only models cannot analyze screenshots.
VISION_PROVIDER=local
LOCAL_AI_BASE_URL=http://localhost:1234
LOCAL_AI_API_KEY=lmstudio
LOCAL_AI_DETAIL_MODEL=your-vision-model-name
LOCAL_AI_FAST_MODEL=your-vision-model-name
LOCAL_AI_THINKING=0 # set to 1 if your model supports reasoningRuneLite HTTP Server plugin
The get_stats, get_inventory, and get_equipment tools read live game data directly from RuneLite without using vision. To enable them:
Open RuneLite → Plugin Hub → search HTTP Server → install and enable it
The plugin exposes
http://localhost:8080/stats,/inv, and/equipNo extra configuration needed — the MCP connects on startup
These tools are more reliable and faster than their vision equivalents. Use them when you need ground-truth data (skill XP, exact item IDs, equipment slots).
macOS window capture
The screenshot tools use screencapture -l <CGWindowID> to capture just the RuneLite window. Window ID detection uses Swift + CGWindowListCopyWindowInfo — no extra tools required.
Fallback: If window ID detection fails, the full screen is captured. Vision analysis still works as long as RuneLite is visible.
Related MCP server: helix-pilot
Claude Desktop / Claude Code config
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"osrs": {
"command": "node",
"args": ["/absolute/path/to/osrs-mcp/dist/index.js"]
}
}
}The server reads .env from the project root for ANTHROPIC_API_KEY / VISION_PROVIDER. You can also inline env vars in the config:
{
"mcpServers": {
"osrs": {
"command": "node",
"args": ["/absolute/path/to/osrs-mcp/dist/index.js"],
"env": { "ANTHROPIC_API_KEY": "sk-..." }
}
}
}Or with tsx for development (no build step needed):
{
"mcpServers": {
"osrs": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/osrs-mcp/src/index.ts"]
}
}
}Tools
RuneLite HTTP API
Requires the HTTP Server plugin running on port 8080. Faster and more reliable than vision for these reads.
Tool | Description |
| All skill levels (base + boosted) and XP from |
| Inventory items — item ID, quantity, slot 0-27 — from |
| Equipped items by slot name (weapon, head, body…) from |
Screen capture
Tool | Description |
| Check if RuneLite is running and get its window ID |
| Take a screenshot of the RuneLite window |
Vision analysis
Uses Claude vision (Opus for detail, Haiku for fast reads). Falls back to local model if VISION_PROVIDER=local.
Tool | Description |
| Analyze the screen with vision (focus: |
| List all items in the 28-slot inventory |
| Extract all visible chat messages |
| Read HP, Prayer, Run energy, Special attack from status bars |
| Read compass bearing and nearby entity counts |
| Full composite game state in one call |
| Read NPC dialog, option menus, or level-up popups |
| Read combat indicators: XP drops, enemy HP bar, poison/venom, overhead prayers |
| Identify ground items visible after a kill |
Click coordinates
Returns pixel positions for UI elements. Layout is auto-detected from screenshot dimensions by default.
Tool | Description |
| Detect whether RuneLite is in fixed (765×503) or resizable mode |
| Pixel coordinates to click a sidebar tab ( |
| Pixel center of an inventory slot 0–27 |
| Bounding boxes for major UI panels: minimap, inventory, chat box, compass |
| Locate a named NPC in the current screenshot, returns |
| Locate an interactable object (bank chest, tree, ladder…), returns |
Layout detection: fixed mode is identified by the exact dimensions 765×503 (or 1530×1006 on Retina). All other sizes are treated as resizable. Resizable coordinates are edge-anchored (inventory to bottom-right, chat to bottom-left) and computed from the actual captured dimensions.
Tab names (top row): combat_options · skills · quests · inventory · equipment · prayer · magic
Tab names (bottom row): clan_chat · friends · account_management · logout · settings · emotes · music
OSRS Wiki
Tool | Description |
| Search the OSRS wiki |
| Get the intro/summary of a wiki page |
| Item details (alch values, members, weight, GE limit, etc.) |
| NPC details (combat level, HP, attack styles, aggressive/poisonous) |
| Quest details (difficulty, length, members, requirements, rewards) |
Grand Exchange
Tool | Description |
| Current GE price by item name or ID |
| Price chart data (timestep: |
| Full item name→ID mapping, filterable by name substring |
| Flip profit calculator — applies 1% GE tax, returns per-item and total profit + ROI |
Utilities
Tool | Description |
| XP required for a target level, or current level from an XP value |
| How many actions/items to reach a target level given XP per action |
Development
npm run dev # Run directly via tsx (no build needed)
npm run build # Compile TypeScript → dist/
npm run inspect # Interactive tool tester via MCP Inspector
npm test # Run test suite (vitest)
npm run test:watch # Watch modeRelated
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ShakyPizza/osrs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server