Wynncraft MCP
Click on "Deploy 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., "@Wynncraft MCPLook up my linked Wynncraft profiles"
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.
Wynncraft MCP
A TypeScript MCP server exposing 40 Wynncraft v3 data operations, with 15 optional Wynnventory market and reward-pool tools over stateless Streamable HTTP. Runs locally or as a Node 22 Function on Gigadrive Network. Unofficial; not affiliated with Wynncraft.
Player profiles and characters, guilds and territories, item and ingredient searches, recipes, ability trees, aspects, classes, map data, leaderboards, search, and news are covered. Wynnventory adds third-party observed market listings, price statistics/history, rankings, loot/raid pools and gambits when configured. The generated catalogue maps each tool to its API route.
Connect to the hosted server
MCP endpoint: https://wynncraft-mcp.gigadrive.app/mcp
Transport: Streamable HTTP · Authentication: Wynncraft OAuth
No clone, Node.js installation, API key, Upstash account or Wynncraft application setup is needed to use this hosted instance. Your MCP client opens a browser to sign in with Wynncraft, then asks you to approve the connection.
Codex
codex mcp add wynncraft --url https://wynncraft-mcp.gigadrive.app/mcp
codex mcp login wynncraft
codex mcp listAlternatively, add this to your Codex config.toml, then run codex mcp login wynncraft:
[mcp_servers.wynncraft]
url = "https://wynncraft-mcp.gigadrive.app/mcp"See the official Codex MCP guide.
Claude Code
claude mcp add --transport http --scope user wynncraft https://wynncraft-mcp.gigadrive.app/mcp
claude mcp login wynncraftYou can also run /mcp inside Claude Code and choose the server's authentication option. See the official Claude Code MCP guide.
Other MCP clients
Add a remote Streamable HTTP server using the endpoint above and complete OAuth when prompted. The client must support OAuth discovery, public dynamic client registration, PKCE S256 and resource indicators. Do not paste your Wynncraft application secret or account token into the client.
Try asking: “Look up my linked Wynncraft profiles”, “Show the combat leaderboard”, or “Find legendary mage weapons around level 80”. Use a new chat or reconnect if your client has not refreshed its tools list. Access tokens last 24 hours; sign in again when the client requests it.
The hosted instance is a community service with no uptime guarantee. Data returned to your MCP client can enter its chat history and AI processing; review your client's privacy/retention settings before authorizing private character data. Hosting your own instance is covered below.
Related MCP server: mcp-server-runescape
Run locally
Requires Node.js 22.14 or newer.
npm ci
cp .env.example .env.local
npm run devConnect an MCP client to http://localhost:3000/mcp using Streamable HTTP. No database or account is needed in anonymous mode. GET /healthz checks process health.
For a compiled build:
npm run build
npm startExample Claude Code configuration for anonymous mode:
claude mcp add --transport http wynncraft http://localhost:3000/mcpTrade-market data from Wynnventory
The optional integration uses Wynnventory's documented read-only v2 API. It adds 15 tools for observed listings, prices/history, rankings, loot/raid pools and gambits. Source attribution, observation timestamps, sample counts and data-quality caveats are preserved: these are community-observed asking prices, not confirmed completed sales or a complete live market feed.
Self-hosters can obtain a read-only application key, accurately describe the intended MCP use, and set WYNNVENTORY_API_KEY in runtime secrets. Hosted OAuth or MCP_API_KEY must also be configured to protect the shared application quota. No Wynncraft token is shared with Wynnventory. Without this optional key, its tools are hidden and the original 40-tool catalogue is unchanged; with it, there are 55 tools. Reconnect clients after enabling it.
See access/terms findings and alternative-source comparison and the Wynnventory tool catalogue. We found a documented third-party API access path, but no separate public terms granting unrestricted redistribution; no maintainer endorsement is implied.
Authentication modes
Mode | Configuration | Storage |
Anonymous | Default | None |
Public guest token |
| None |
Personal/private server |
| None |
Hosted per-user OAuth | Wynncraft application, HTTPS public URL, encryption key, Upstash Redis over HTTPS | Encrypted OAuth records |
A public-mode flag is an operator assertion: this server cannot verify that the Wynncraft token's Public Mode is enabled. Keep private tokens behind authentication. In API-key mode clients send Authorization: Bearer <MCP_API_KEY>; the key is not the Wynncraft token.
Hosted OAuth lets anyone connect their own Wynncraft account. The client discovers OAuth metadata, registers using PKCE, signs in with Wynncraft, and approves the named MCP client on this server's consent screen. MCP clients receive a separate opaque access token; Wynncraft access tokens stay encrypted in the shared store. See OAuth setup and design.
Caching and client safety
OAuth discovery documents use Cache-Control: public, max-age=60, s-maxage=300, stale-while-revalidate=60, so browsers and the Gigadrive CDN can reuse user-independent metadata. Root and path-specific protected-resource discovery are both available. MCP traffic, authentication failures, cookies, consent, registration, token exchange, revocation and errors use no-store; unauthorized responses are never shared by the CDN.
The server publishes a friendly title, description, icon and source URL, validated tool input/output schemas, explicit read-only annotations and correct OAuth capabilities. Unknown tools return a protocol error; input and upstream failures return tool errors. It uses issuer identification on authorization responses, audience-bound tokens, PKCE, browser-bound state, explicit client consent and bounded upstream requests/responses.
MCP HTTP traffic has a per-process limit of 180 requests per minute per IP, in addition to Wynncraft's own buckets and OAuth endpoint limits. When the system GIGADRIVE_URL is present, the server trusts one proxy hop, matching Gigadrive's sanitized forwarding contract. Other deployments default to zero. TRUST_PROXY_HOPS explicitly overrides this (including 0); use only the verified proxy chain so forwarded client addresses cannot be spoofed. For deployments requiring global quotas, enforce them at the hosting edge; per-process limits are not distributed quotas.
Stateless behavior
Each MCP POST creates a new server and transport. Responses are JSON, no session IDs are issued, and no sticky sessions or in-process game caches are used. GET subscriptions and DELETE sessions return 405. This is Streamable HTTP using its JSON response mode, not the legacy SSE transport.
Anonymous and shared-token modes have no application storage. Hosted OAuth needs shared records to enforce one-time codes, consent and token revocation; every application instance remains disposable. A Gigadrive Redis sidecar is local to each Function copy and loses data with that copy, so it cannot provide the shared OAuth store for autoscaling.
Working with tools
Use wynncraft_player_getPlayer with { "username": "Salted", "fullResult": true } or wynncraft_item_searchItems with { "body": { "query": "Wand", "tier": "legendary" }, "page": 1 }. Filter enums are validated from Wynncraft's spec; use wynncraft_item_getItemMetadata to discover supported filters.
The booleans fullResult, full_result and static produce Wynncraft's required bare query flags, not =true. Paths accept names with spaces and Unicode while rejecting traversal and path separators.
Tools return {status, ok, metadata, data} with read-only hints, structured content, and safe cache/rate-limit headers. API errors include the original JSON and status with isError: true, including ambiguous matches (300), privacy failures (403), and throttling (429). Requests time out after 20 seconds and do not retry automatically. Respect retry-after or ratelimit-reset in tool results. Wynncraft currently documents separate 50 RPM guest / 120 RPM authenticated buckets; limits may change.
Large results are bounded to 8 MiB upstream and 128 KiB per tool response. Use the API's page parameter first. The optional view argument selects and slices a response locally:
{ "view": { "pointer": "/someSubtree", "offset": 0, "limit": 20 } }pointer follows RFC 6901 (~1 for /, ~0 for ~). Slicing objects preserves their keys; projection.nextOffset indicates more entries. Projection doesn't reduce the upstream download, change upstream pagination, or silently truncate results. Remote game/player text and HTML are untrusted content.
Deploy to Gigadrive Network
gigadrive.yaml selects dist/index.js, Node 22, 512 MB, a 30-second invocation limit, and a catch-all route. Gigadrive detects Express, runs npm run build, imports the compiled entrypoint, and captures app.listen().
Run
npm ci && npm run check.PUBLIC_URLis optional: it overrides Gigadrive's systemGIGADRIVE_URL, which otherwise supplies the HTTPS origin. Outside Gigadrive the fallback ishttp://localhost:PORT. SetPUBLIC_URLexplicitly for a stable custom domain, for examplehttps://wynncraft.example.com. The server checks the incoming Host header against the resolved origin; use the same canonical hostname for OAuth.GIGADRIVE_URLis unique to each deployment, so its callback must be registered in Wynncraft again when that URL changes. A stablePUBLIC_URLavoids this.Set runtime secrets through the Gigadrive console, CLI, or API. Do not put secrets in
gigadrive.yamlor commit.env.local.Set
ALLOWED_ORIGINSto a comma-separated list of browser client origins if needed; otherwise onlyPUBLIC_URLis allowed. Native clients without Origin are accepted. OAuth token/registration endpoints use the SDK's OAuth CORS handling.Run
gigadrive login, thengigadrive deployfrom this repository.For hosted OAuth, follow OAuth setup, including Upstash REST credentials.
Connect clients to
https://your-host/mcp; verify/healthzand OAuth discovery if enabled.
A production instance is already deployed on Gigadrive Network at the hosted MCP endpoint. The steps above are for hosting your own instance, which needs its own Wynncraft application and runtime secrets. See the Gigadrive Network documentation for platform setup and configuration.
Development
npm run check # strict TypeScript, HTTP/OAuth regression tests, build
npm run api:update # refresh official Wynncraft schemas and coverage table
npm run wynnventory:update # refresh optional Wynnventory schemas
npm run probe # check the hosted endpoint without user credentials
npm audit
npm run test:browser # install Chromium first with npx playwright install chromiumThe generated schemas resolve request types from Wynncraft's official OpenAPI spec. The spec's token request content type differs from the endpoint's prose; the OAuth implementation follows the endpoint documentation and sends URL-encoded form data. Token exchange is never exposed as an MCP tool.
The repository contains no private hosting source or production credentials. The source repository is public and MIT licensed. package.json remains marked private to prevent accidental npm publishing.
The adversarial review used Claude Opus 5.5 via CLI. See review and validation notes.
Repository maintenance
CI runs TypeScript/build checks on Node 22 and 24, real Redis tests, browser OAuth tests, and a dependency audit. Dependabot updates npm dependencies and pinned GitHub Actions weekly. CodeQL scans main, pull requests and the weekly schedule. Main is protected by an active ruleset requiring PRs, CI and CodeQL results. See GitHub configuration for applied settings and the one-command public-repository setup.
Sources
Review API terms and retention responsibilities before operating a public instance or enabling private-data access.
MIT licensed. See LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Market data tools for the MCP ecosystem: server stats, events, search, leaderboards, package trends.
This MCP server provides seamless access to Malaysia's government open data, including datasets, w…
Publish and discover MCP servers via the official MCP Registry. Powered by HAPI MCP server.
Public MCP server for discovering open jobs. Search, filter, and get application links.
Related MCP Servers
AlicenseBqualityNot gradedmaintenanceMCP Server for interacting with Old School RuneScape Wiki API and game data files, providing tools to search the OSRS Wiki and access game data definitions through the Model Context Protocol.61939 npm1-- AlicenseAqualityDmaintenanceMCP server for interacting with RuneScape and Old School RuneScape data, including item prices, player hiscores, and more.619 npm13Apache 2.0
- AlicenseAqualityDmaintenanceMCP server wrapping the Wise Old Man OSRS stat-tracking API, exposing 54 tools for players, groups, competitions, records, deltas, name changes, and efficiency (EHP/EHB) for MCP-compatible clients.54ISC
- AlicenseAqualityDmaintenanceAn MCP server that exposes World of Warcraft character data from the Blizzard API, offering read-only tools for character summaries, equipment, Mythic+ scores, realm lookup, and other character sub-resources.5MIT