AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT Self-run

Wise Old Ai

mcp-tomascabralh-wise-old-ai · by tomascabralh

Local-first AI advisor for Old School RuneScape: a RuneLite plugin exports your account state and an MCP server lets Claude (and other MCP clients) give personalized progression, PvM, and money-making advice. Advisor, not a bot.

— No reviews yet
0 installs
30 views
0.0% view→install

Install

$ agentstack add mcp-tomascabralh-wise-old-ai

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • ✓ Prompt-injection patterns
  • ✓ Secret / credential exfiltration
  • ✓ Dangerous shell & filesystem operations
  • ✓ Untrusted network calls
  • ✓ Known-malicious package signatures

What it can access

  • ✓ Network access No
  • ✓ Filesystem access No
  • ✓ Shell / process execution No
  • ✓ Environment & secrets No
  • ✓ Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-tomascabralh-wise-old-ai)

Reliability & compatibility

✓ Security review passed
0 installs to date
— no reviews yet
● 3mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Wise Old Ai? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Wise Old AI

[](https://github.com/tomascabralh/wise-old-ai/actions/workflows/ci.yml)

An open-source, local-first AI advisor for Old School RuneScape. A RuneLite plugin exports your account state to local JSON files; an MCP server lets Claude Desktop (and any MCP client) read that state and give you personalized progression, PvM, skilling, and questing advice.

> Status: maintenance mode. All planned milestones (1–3), the advice channel, > and the context engine are complete and the project is feature-complete. It's > not abandoned — it works and is documented — but active development has paused. > See the [roadmap](#roadmap) for what a future revival would build next.

> ### Advisor, not a bot > Wise Old AI only reads account state. It does not control your mouse or > keyboard, automate gameplay, pathfind, or interact with the game in any way. > It is a coach that looks at your account and tells you what to do — you play.

How it works

RuneLite client ─(client thread)─► Wise Old AI plugin
                                      │ onGameTick: snapshot state
                                      ▼  background thread (hash-diff, atomic write)
                         ~/.wise-old-ai/state/*.json   ← single source of truth
                                      ▲ read on demand + validate
                         MCP server (TypeScript, stdio) ─► Claude Desktop / Cursor / Windsurf

The plugin and the server are fully independent. They share only the JSON-on-disk contract defined once in [shared/schemas](shared/schemas) as Zod schemas.

The plugin adds a sidebar panel (the owl icon) showing export status — whether it's exporting, for which account, when it last changed, how many state files are written, and buttons to open or copy the state folder. A "What the advisor sees" line summarizes coverage at a glance (bank value, current Slayer task, quest & diary progress — and flags when the bank still needs opening). It also has an Advice section: when your MCP client (e.g. Claude) calls push_advice, the text appears here in-game. The model still runs in the client — the panel just displays what it sends, so this stays advisory, never automation.

Repository layout

| Path | What | |---|---| | plugins/wise-old-ai-runelite/ | Java 11 RuneLite plugin (Gradle). Exports state. | | shared/schemas/ | Zod schemas — the state-file contract + TS types. | | mcp-server/ | TypeScript MCP server exposing read-only tools over stdio. | | examples/state/ | Sample state files so you can try the server without the game. | | docs/ | Design, plans, and the Claude Desktop setup guide. |

MCP tools (Milestone 1)

| Tool | Returns | |---|---| | get_player_state | username, combat & total level, world, hitpoints, prayer, run energy | | get_stats | every skill: real level, boosted level, xp | | get_combat_level | combat level | | get_total_level | total level | | get_inventory | inventory items ({id, name, quantity}) | | get_equipment | worn gear by slot | | get_location | world position (x, y, plane, region) | | get_quests | quest points, completed/total, in-progress, not-started | | get_diaries | achievement diary completion per area & tier | | get_current_activity | current Slayer task (monster, amount, points, streak) | | get_bank_value | total GE value of the bank | | get_bank | bank value, item count, and most valuable items | | get_account_context | derived read: account stage, boss readiness, recommended goals | | push_advice | post advice ({body, title?}) to the in-game panel | | get_advice | read the advice currently shown in-game |

Quick start

1. Build the MCP server

cd shared/schemas && npm install && npm run build
cd ../../mcp-server && npm install && npm run build

Try it against the example fixtures (no game needed):

WISE_OLD_AI_STATE_DIR="$PWD/../examples/state" npm start

2. Build the RuneLite plugin

Requires JDK 11 and Gradle.

cd plugins/wise-old-ai-runelite && gradle build
# -> build/libs/wise-old-ai-runelite-0.1.0.jar, and JUnit tests run

Then launch the live RuneLite client with the plugin side-loaded:

gradle run        # opens RuneLite; the plugin is already loaded

Log in to a character and it writes to ~/.wise-old-ai/state/ every game tick (only when data changes). The plugin is also structured for the RuneLite Plugin Hub for eventual distribution.

> Using a Jagex account? The dev client's login screen only accepts legacy > accounts. Serve your launcher session to the dev build with the helper: > ``bash > ./scripts/run-with-jagex.sh > ` > See [docs/jagex-account-dev-login.md](docs/jagex-account-dev-login.md) and > [docs/serving-jagex-credentials.md`](docs/serving-jagex-credentials.md) for how > the launcher serves credentials, saving them for repeatable runs, and the macOS caveat.

3. Connect Claude Desktop

See [docs/claude-desktop-setup.md](docs/claude-desktop-setup.md). In short, add the server to claude_desktop_config.json pointing at mcp-server/dist/index.js.

Example prompts

Once connected, ask Claude:

  • "What should I train next?"
  • "What gear upgrades should I buy with 20M?"
  • "What quests should I prioritize?"
  • "Am I ready for Vorkath?"
  • "What is my current account weakness?"

Development

cd shared/schemas && npm test     # zod schema tests (vitest)
cd mcp-server && npm test         # store + tool tests (vitest)
cd plugins/wise-old-ai-runelite && gradle test   # exporter tests (junit)

State files are split per slice (player, skills, inventory, equipment, location, plus metadata for staleness) so each can evolve and be written independently. The plugin only writes a slice when its content actually changes.

Roadmap

  • Milestone 1 (done): player, skills, inventory, equipment, location + the

seven tools above.

  • Milestone 2 (done): quests, diaries, activities (get_quests,

get_diaries, get_current_activity).

  • Milestone 3 (done): bank support + GE valuation (get_bank, get_bank_value).
  • Milestone 4: screenshots + multimodal coaching.
  • Advice channel (done): push_advice / get_advice surface the client's

advice on the in-game panel.

  • Context engine (done): a derived layer (account stage, combat readiness,

recommended goals) on top of raw state, via get_account_context.

See [docs/plans/](docs/plans) for the design and implementation plan.

License

MIT — see [LICENSE](LICENSE). Contributions welcome; see [CONTRIBUTING.md](CONTRIBUTING.md).

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.