Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Everloot: WoW Forever data

REMOTE · EVERLOOT.APP

World of Warcraft: Forever lore and player-observed drops, vendors, quests, professions and talents.

Available components

+4 this week 83 Trust /100

Last scanned (2 hours ago)

Scores higher than 87% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Entertainment and Games

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security80
Transport & Reachability100
Schema Quality & AI Usability81
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 7263 tokens (~165/item across 44 items; 32 tools + 12 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management57
  • Stability observed for 17 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (97% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 32 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 34 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

  • 4 Nov 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “answer_sources” rewrote its description, which is the text the model reads security
    • Tool “class_races” rewrote its description, which is the text the model reads security
    • Tool “collection_gap” rewrote its description, which is the text the model reads security
    • Tool “completion_progress” rewrote its description, which is the text the model reads security
    • Tool “coverage” rewrote its description, which is the text the model reads security
    • Tool “ecosystem_projects” rewrote its description, which is the text the model reads security
    • Tool “entity_relations” rewrote its description, which is the text the model reads security
    • Tool “gold_ledger” rewrote its description, which is the text the model reads security
    • Tool “guild_board” rewrote its description, which is the text the model reads security
    • Tool “guild_rankings” rewrote its description, which is the text the model reads security
    • Tool “guild_search” rewrote its description, which is the text the model reads security
    • Tool “item_categories” rewrote its description, which is the text the model reads security
    • Tool “item_page” rewrote its description, which is the text the model reads security
    • Tool “market_value” rewrote its description, which is the text the model reads security
    • Tool “object_page” rewrote its description, which is the text the model reads security
    • Tool “population” rewrote its description, which is the text the model reads security
    • Tool “profession_path” rewrote its description, which is the text the model reads security
    • Tool “search_knowledge” rewrote its description, which is the text the model reads security
    • Tool “talent_tree” rewrote its description, which is the text the model reads security
    • Tool “world_map_near” rewrote its description, which is the text the model reads security
    • Tool “fetch” rewrote its description, which is the text the model reads security
    • Tool “get_entity” rewrote its description, which is the text the model reads security
    • Schema quality: 140 → 165 ▼ functional
    • Server version: 0.8.1 → 0.9.0 functional
    • “fetch” added an optional parameter “field” cosmetic
    • “fetch” added an optional parameter “limit” cosmetic
    • “fetch” added an optional parameter “offset” cosmetic
    • “get_entity” added an optional parameter “field” cosmetic
    • “get_entity” added an optional parameter “limit” cosmetic
    • “get_entity” added an optional parameter “offset” cosmetic
    • “talent_tree” added an optional parameter “builds” cosmetic
    • “answer_sources” reworded the description of “limit” cosmetic
    • “answer_sources” reworded the description of “question” cosmetic
    • “auction_history” reworded the description of “itemId” cosmetic
    • “auction_history” reworded the description of “realm” cosmetic
    • “collection_gap” reworded the description of “collection” cosmetic
    • “collection_gap” reworded the description of “ownerInstallId” cosmetic
    • “completion_progress” reworded the description of “characterKey” cosmetic
    • “completion_progress” reworded the description of “ownerInstallId” cosmetic
    • “ecosystem_projects” reworded the description of “board” cosmetic
    • “ecosystem_projects” reworded the description of “forever_ready_only” cosmetic
    • “ecosystem_projects” reworded the description of “limit” cosmetic
    • “entity_relations” reworded the description of “limit” cosmetic
    • “entity_relations” reworded the description of “rel” cosmetic
    • “get_by_name” reworded the description of “kind” cosmetic
    • “get_by_name” reworded the description of “name” cosmetic
    • “get_entity” reworded the description of “id” cosmetic
    • “gold_ledger” reworded the description of “character” cosmetic
    • “gold_ledger” reworded the description of “realm” cosmetic
    • “guild_board” reworded the description of “guildName” cosmetic
    • “guild_board” reworded the description of “realm” cosmetic
    • “guild_rankings” reworded the description of “faction” cosmetic
    • “guild_rankings” reworded the description of “instanceMapId” cosmetic
    • “guild_rankings” reworded the description of “limit” cosmetic
    • “guild_rankings” reworded the description of “realm” cosmetic
    • “guild_search” reworded the description of “limit” cosmetic
    • “item_categories” reworded the description of “limit” cosmetic
    • “item_page” reworded the description of “itemId” cosmetic
    • “market_value” reworded the description of “itemId” cosmetic
    • “market_value” reworded the description of “realm” cosmetic
    • “npc_page” reworded the description of “npcId” cosmetic
    • “object_page” reworded the description of “objectId” cosmetic
    • “population” reworded the description of “class” cosmetic
    • “population” reworded the description of “faction” cosmetic
    • “population” reworded the description of “race” cosmetic
    • “population” reworded the description of “window” cosmetic
    • “profession_path” reworded the description of “fromSkill” cosmetic
    • “profession_path” reworded the description of “toSkill” cosmetic
    • “quest_page” reworded the description of “questId” cosmetic
    • “recent_changes” reworded the description of “filter” cosmetic
    • “recent_changes” reworded the description of “game” cosmetic
    • “recent_changes” reworded the description of “limit” cosmetic
    • “recipe_thresholds” reworded the description of “recipe” cosmetic
    • “search_knowledge” reworded the description of “kind” cosmetic
    • “search_knowledge” reworded the description of “limit” cosmetic
    • “search_knowledge” reworded the description of “version” cosmetic
    • “talent_tree” reworded the description of “class” cosmetic
    • “vendor_page” reworded the description of “vendorNpcId” cosmetic
    • “world_map_near” reworded the description of “limit” cosmetic
    • “world_map_near” reworded the description of “radius” cosmetic
  • 3 Nov 26 +1
    • Tool “class_races” rewrote its description, which is the text the model reads security
    • Tool “coverage” rewrote its description, which is the text the model reads security
    • Tool “ecosystem_projects” rewrote its description, which is the text the model reads security
    • Tool “everloot_plan” rewrote its description, which is the text the model reads security
    • Tool “fetch” rewrote its description, which is the text the model reads security
    • Tool “get_by_name” rewrote its description, which is the text the model reads security
    • Tool “get_entity” rewrote its description, which is the text the model reads security
    • Tool “market_value” rewrote its description, which is the text the model reads security
    • Tool “recent_changes” rewrote its description, which is the text the model reads security
    • Tool “recipe_thresholds” rewrote its description, which is the text the model reads security
    • Tool “search” rewrote its description, which is the text the model reads security
    • Tool “search_knowledge” rewrote its description, which is the text the model reads security
    • Tool “talent_plan” rewrote its description, which is the text the model reads security
    • Tool “talent_tree” rewrote its description, which is the text the model reads security
    • Tool “answer_sources” rewrote its description, which is the text the model reads security
    • Tool “auction_history” rewrote its description, which is the text the model reads security
    • Tool “collection_gap” rewrote its description, which is the text the model reads security
    • Tool “completion_progress” rewrote its description, which is the text the model reads security
    • Tool “entity_relations” rewrote its description, which is the text the model reads security
    • Tool “gold_ledger” rewrote its description, which is the text the model reads security
    • Tool “guild_board” rewrote its description, which is the text the model reads security
    • Tool “guild_rankings” rewrote its description, which is the text the model reads security
    • Tool “guild_search” rewrote its description, which is the text the model reads security
    • Tool “item_page” rewrote its description, which is the text the model reads security
    • Tool “npc_page” rewrote its description, which is the text the model reads security
    • Tool “object_page” rewrote its description, which is the text the model reads security
    • Tool “profession_path” rewrote its description, which is the text the model reads security
    • Tool “quest_page” rewrote its description, which is the text the model reads security
    • Tool “vendor_page” rewrote its description, which is the text the model reads security
    • Tool “world_map_near” rewrote its description, which is the text the model reads security
    • Schema quality: 105 → 140 ▼ functional
    • Tool coverage: 93% → 99% ▲ functional
    • Schema quality: good → excellent functional
    • Server version: 0.8.0 → 0.8.1 functional
    • “ecosystem_projects” reworded the description of “limit” cosmetic
    • “guild_rankings” reworded the description of “limit” cosmetic
    • “guild_search” reworded the description of “limit” cosmetic
    • “recent_changes” reworded the description of “limit” cosmetic
  • 1 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

  • 30 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Oct 26 +1
    • New tool “class_races” functional
  • 26 Oct 26 0
    • Schema quality: pass → fail ▼ functional
    • New tool “guild_rankings” functional
    • New tool “guild_search” functional
  • 25 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://everloot.app/mcp/public

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=everloot.app CN=YE1,O=Let's Encrypt,C=US 29 Sept 2026 28 Dec 2026 ECDSA 256 ECDSA-SHA384 5641447d8dbcdf769bc0ac5644cffab5bf2
SANs: *.everloot.app, everloot.app
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of everloot.app. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
app. present 23684 8 Verified
everloot.app. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains
content-security-policy object-src 'none'; base-uri 'self'; frame-ancestors 'self'
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=(), payment=(), usb=(), browsing-topics=()

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://everloot.app/mcp/public Verified 200
http (plaintext) http://everloot.app/mcp/public HTTPS enforced 301 https://everloot.app/mcp/public
MCP tools · 32 exposed · ~6,767 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
answer_sources ~239

Returns the evidence behind a question about WoW: Forever, so an answer can cite it: player observations, curated facts, game files and the 2023 Warcraft Wiki. An observed fact is public after three installs agree and carries the install count; a game-file fact is found in game files, unconfirmed, with the build; lore is marked: may differ in Forever. Every piece carries a claim, its source URL, licence and date; the answer is evidence, not prose. Use it for questions that need citations, such as why, where or how many; use search_knowledge to find a record by name, and the page tools (item_page, npc_page, quest_page) for one entity's agreed facts. Further-reading links are search URLs on other sites; nothing is fetched from them. When Everloot's public player data is not connected, the observed layer is unrecorded, not empty.

NameTypeReqDescription
limitinteger–Most lore and curated pieces, 1 to 25, default 8.
questionstringyesThe question, 1 to 500 characters, with names spelled as in the game.
NameTypeReqDescription
dataAsOfstring|nullyesWhen the observed layer was current; null when it is not connected.
evidencearrayyesObserved first, then curated, then lore.
furtherReadingarrayyesSearch links on other sites. Nothing was fetched.

No examples provided.

auction_history ~160

Returns the day-by-day price history of one item on one WoW: Forever realm, from auction scans players uploaded on purpose. A day is public after 3 installs scanned that item on that realm; copper is the median. Use it for how a price moved over time; use market_value for today's market value, minimum buyout and units listed, item_page for the item itself, and vendor_page for vendor prices. Realm is the realm's name; the item id is the game's. Reads Everloot's public player data when connected. Missing or unavailable data is reported explicitly.

NameTypeReqDescription
itemIdintegeryesThe game's item id, as item_page takes it.
realmstringyesThe realm's name, as the game shows it.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

class_races ~148

Lists which races can be one class in WoW: Forever, on which faction, and each race's racial traits (name, active or passive) from the game files (found in game files, unconfirmed, with the build). Narrow to one faction. Use it for whether a race can be a class, or which races a class is open to; use talent_tree for the class's talents, and population for how many play it. What each trait does is on the class page, linked from the answer.

NameTypeReqDescription
classstringyesClass name or slug, such as Warlock or warlock.
factionstring–alliance or horde. Without it, both.
NameTypeReqDescription
buildstringyesThe game build the races were read from.
classstring–Absent when the class is not one the files list.
classNamestring––
creditstringyes–
errorstring–A class the files do not list.
factionstring––
factionsarrayyesAlliance first. Empty when the class is unknown.
labelstringyes–
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

collection_gap ~165

Returns what one install still misses in one collection, against what that install uploaded as owned, grouped by source. A list row is public after 3 installs agree on the collection, the source and the item; owned is what that install uploaded. Not a Blizzard profile read and not a copied catalog. Use it for which items of a collection a player is missing; use completion_progress for achievements, reputations and titles. When that install never uploaded the collection, the answer says owned is unknown, not empty. Reads Everloot's public player data when connected. Missing or unavailable data is reported explicitly.

NameTypeReqDescription
collectionstringyesCollection name, any case, such as Mounts.
ownerInstallIdstringyesThe player's own install id, whose owned upload to compare.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

completion_progress ~205

Shows what one install's characters have finished and what is closest to done: achievements with the largest share of criteria or progress met, reputations nearest the next standing, titles known, and quests finished in a chain. A list entry is public after 3 players (installs uploading from different addresses) report it identically. Progress shows only when that install uploaded it with the collection sharing choice and a verified grant; without it the answer says so. Not a Blizzard profile read and not a copied catalog. Use it for what a player is closest to finishing; use collection_gap for missing collection items, and guild_board for a guild's kills. Reads Everloot's public player data when connected. Missing or unavailable data is reported explicitly.

NameTypeReqDescription
characterKeystring–One character's 8-digit key from the upload, when the install has several. Without it, every character.
ownerInstallIdstringyesThe player's own install id, whose completion upload to read.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

coverage ~259

Counts how much of WoW: Forever's database is settled or confirmed, per zone, per type and per field, as https://everloot.app/database/coverage shows it, in text only. Coverage is settled over expected, with confirmed over expected beside it; the denominator is the larger of expected and observed, and confirmed includes settled. A player-reported fact is public after three installs agree; fields one or two installs short are counted without their values. Scoped totals and the current build's settled-list size come separately dated and measured. Only public report identifiers and game-file facts are listed, never unconfirmed values, baseline rows, names or ids, or player names. When coverage data is available, every answer states its scope, method, data date and install counts; when it is not, the answer states the scope and marks the counts, data date and installs [?], not zero. Unknown values are [?]. Use it for how complete the database is for a zone or type; use the page tools for the facts themselves.

NameTypeReqDescription
typestring–Coverage type. Omit for all types.
zoneinteger–Released UiMap zone id, such as 1429 for Elwynn Forest. Omit for all released zones.

No output schema declared.

No examples provided.

ecosystem_projects ~210

Lists the Forever addons and tools in the community registry, with a board ranking: most installed, rising, most active, freshest release or best maintained. Each project shows its GitHub repository, stars, latest release, last commit, whether its .toc declares a Forever interface number, and installs from Everloot uploads (counted from 3 installs; a missing count means not counted, not zero). Projects are ranked, never people. GitHub facts carry the time they were refreshed. Use it for which Forever addons exist and how maintained they are; use everloot_plan for Everloot's own features, and recent_changes for Blizzard's posts. limit caps the projects listed.

NameTypeReqDescription
boardstring–installed, rising, active, release, maintained, or all (default, A to Z).
forever_ready_onlyboolean–Only projects whose .toc lists a Forever interface number. Default false.
limitinteger–Most projects listed, 1 to 25, default 10.
NameTypeReqDescription
boardstringyes–
connectedbooleanyesFalse when the tracker is not connected: the list is then not a measured zero.
forever–yesWhat Forever-ready compares each .toc with, derived from the build's version and not yet confirmed in the client.
installsAvailablebooleanyesFalse when install counts could not be read: a null count then means unknown.
projectsarrayyes–
refreshedAtstring|nullyesWhen the GitHub facts were last refreshed.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

entity_relations ~294

Lists every typed relation of one entity, in both directions, grouped by relation. Player-observed relations (dropped by, sold by, reward from, located in) are listed where 3 installs agree, with the install count and last seen. Game-file relations (created by, reagent for, part of set, same icon) are found in game files, unconfirmed, with the build they came from. Ids are the game's own, as a page tool, a drop row or world_map_near gives them. Use it for where something comes from or what something drops, sells or rewards; use the page tools (item_page, npc_page, quest_page) for one entity's own facts, and world_map_near for what is near a place. Reads Everloot's public player data and the game-file relations of the current build.

NameTypeReqDescription
directionstring–from: what this entity points to (an item's sources). to: what points at it (what an NPC drops). Default both.
idintegeryesThe game's id for it, such as item 19019.
kindstringyesWhat the id names. A zone is a UiMap id, as on /map.
limitinteger–Most lines per relation, 1 to 100, default 25.
relstring–Only this relation. Without it, every relation.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

everloot_plan ~97

Returns the Everloot feature catalogue: what is live, what is next, what is waiting, and which reference sites are page shapes only, as the tracker that ships with the site holds it. Use it only for questions about Everloot itself, such as whether a feature exists; it holds no game data. For game facts use search_knowledge or answer_sources; for community addons use ecosystem_projects. Takes no arguments and needs no account.

Input schema present but exposes no named parameters.

NameTypeReqDescription
countsobjectyes–
rowsarrayyesEvery row, in the tracker's order.

No examples provided.

fetch ~249

Returns one knowledge record in full, by the string id a search result gave: title, the full text in the source's words, the URL to cite, and metadata with the source, licence and date. It is the ChatGPT connector counterpart of get_entity, which gives only an excerpt. Use it after search, or with a search_knowledge id as a string. Give field, a JSON pointer such as /questIds, to read one value of the record's data: text then holds that value as JSON, and an array comes in pages of up to 48 rows with nextOffset for the next page. A long array in a whole record is cut at 48 rows. The text block is the same JSON as a string.

NameTypeReqDescription
fieldstring–A JSON pointer into the record's data, such as /criteria or /reagents/0. Without it, the whole record.
idstringyesAn id from a search result.
limitinteger–Rows per answer, default and at most 48.
offsetinteger–Row to start at when the field is an array; default 0. Use nextOffset from the last answer.
NameTypeReqDescription
fieldobject–Present when field was given and found.
idstringyesThe record id as a string.
keysarray–Present when field was given and not found: the keys of the deepest object the pointer reached. Empty when the record has no structured data.
metadataobjectyes–
textstringyesThe whole record, in the source's words.
titlestringyesThe record's name.
urlstringyesWhere the record is read, as in search.

No examples provided.

get_by_name ~196

Returns the records whose full name matches exactly, case-insensitively, optionally narrowed to one record kind. Use it to disambiguate when you know the exact name and want the id without a ranked search; use search_knowledge for partial names, keywords or questions. Several records can share a name across kinds, so check each hit's kind. Empty hits mean no record has that exact name.

NameTypeReqDescription
kindstring–Narrow to one record kind. achievement, faction, title, quest_chain, mount, legacy_perk, race and instance come from the game files (found in game files, unconfirmed); item, npc, object, quest, zone,…
namestringyesThe full record name, any case, up to 200 characters.
NameTypeReqDescription
hitsarrayyes–

No examples provided.

get_entity ~272

Returns one knowledge record's summary, by the numeric id a search_knowledge or get_by_name hit gave: title, a short excerpt in the source's words, the URL to cite, source, licence and date. A game-file record carries its build and says when player uploads confirm it. Use it to read one hit again by its id; for the whole text, call fetch with the same id as a string. An id no record has returns a null hit, not an error. Give field, a JSON pointer such as /questIds, to read one value of the record's data instead of the excerpt; an array comes in pages of up to 48 rows, and nextOffset says where the next page starts. A pointer that leads nowhere answers with the keys it could have used, not an error.

NameTypeReqDescription
fieldstring–A JSON pointer into the record's data, such as /criteria or /reagents/0. Without it, the whole record.
idintegeryesThe numeric id of a search_knowledge or get_by_name hit.
limitinteger–Rows per answer, default and at most 48.
offsetinteger–Row to start at when the field is an array; default 0. Use nextOffset from the last answer.
NameTypeReqDescription
fieldobject–Present when field was given and found.
hit–yes–
keysarray–Present when field was given and not found: the keys of the deepest object the pointer reached. Empty when the record has no structured data.

No examples provided.

gold_ledger ~193

Returns the peak and current gold of one character and the money events its own upload recorded: income (loot, quests, vendor and auction sales) and spending (flight paths, postage, barber, respecs, auction purchases), each install's ledger kept apart. A category with nothing recorded reads as unrecorded, not zero, and gold from other gameplay is unrecorded. The gap between recorded income and peak gold is shown as unrecorded, never called bought gold or a ban. Use it for one uploaded character's own gold history; it cannot look up a character that never uploaded. Use guild_board for a guild's loot, and market_value for prices. Reads Everloot's public player data when connected. Missing or unavailable data is reported explicitly.

NameTypeReqDescription
characterstringyesThe character's in-game name.
realmstringyesThe character's realm, as the game shows it.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

guild_board ~324

Returns one guild's roster, bosses killed, loot awarded, raid attendance and average item level, as that guild's own officers chose to publish them, with its kills per instance and its rank. The officer board (roster, bosses, loot, attendance, item level) counts only uploads from officers holding a verified grant for the guild, and a figure is public after 2 of them agree. When Everloot's guild pages are connected, the public part follows: kills per instance (a kill counts once 2 members' installs report the same boss, or when the officers publish it), the guild's rank, and the characters players running the addon saw in the guild, with level, class and last seen. Names are in-game character names, never accounts or real-world identities. A character's owner can opt out, which leaves that character out of the roster, loot and attendance. A guild whose officers have not published gets an empty officer board and still shows the public part; a guild that asked to be hidden gets no answer. The average item level says how many roster members were measured; there is no combined score. Use it for one guild's own board; use guild_search to find a guild's exact name and realm, and guild_rankings to compare guilds in one instance. Reads Everloot's public player data when connected. Missing or unavailable data is reported explicitly.

NameTypeReqDescription
guildNamestringyesThe guild's in-game name, as guild_search gives it.
realmstringyesThe guild's realm, as guild_search gives it.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

guild_rankings ~272

Ranks every guild with an agreed kill in one instance: by bosses killed, then by who reached its latest kill first, then by name; equal rows share a rank. A kill is a guild's once 2 of its members' installs report the same boss there, timed at the earliest report, or once its officers published it on the guild board, which carries no time. The boss list is the encounters 3 installs reported in that instance, in that order; a boss not on it counts for nothing. There is no score, no rating and no total across instances. Use it to compare guilds' progress in one raid or dungeon; use guild_board for one guild's own board, and guild_search to find a guild. Reads Everloot's public player data when connected. Missing or unavailable data is reported explicitly.

NameTypeReqDescription
factionstring–Only alliance or horde guilds. Without it, both.
instanceMapIdinteger–The instance's map id: the extId of a search_knowledge hit of kind instance. Omit for the newest raid with a kill.
limitinteger–Most guilds listed, 1 to 100, default 20.
realmstring–Only guilds on this realm. Without it, every realm.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

guild_search ~208

Finds the guilds whose name starts with what you typed, each with its realm, faction, how many characters the addon saw in it, and the count and date of its agreed boss kills. A guild is listed once 2 of its members' installs report the same boss, once its officers published a board, or once a character was seen in it. Guild names only, never a member's name, and a guild that asked to be hidden is left out. Characters seen are counted only when the player pages are connected; otherwise the count is unrecorded, not zero. Use it to find a guild's exact name and realm before guild_board; use guild_rankings for a ladder. Reads Everloot's public player data when connected. Missing or unavailable data is reported explicitly.

NameTypeReqDescription
limitinteger–Most guilds listed, 1 to 25, default 10.
querystringyesThe start of the guild's name, 2 to 24 characters.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

item_categories ~271

Lists item categories from the game files (found in game files, unconfirmed, with the build): class and subclass with the client's English names and slugs, slot and quality. With no arguments, the whole tree with item counts. With item, that item's category path. With class (a slug such as weapon or armor), and optionally subclass, slot and quality slugs, the item ids in it. Use it to place an item in its category or to list a category; use item_page for an item's name and stats, and entity_relations for where it comes from. Ids only: item names come from player uploads, through item_page.

NameTypeReqDescription
classstring–Class slug, such as weapon, armor, consumable or trade-goods.
iteminteger–An item id: answers its class, subclass, slot and quality.
limitinteger–Most items listed, 1 to 100, default 25.
qualitystring–poor, common, uncommon, rare, epic, legendary, artifact or heirloom.
slotstring–Slot slug, such as head, chest, one-hand or trinket.
subclassstring–Subclass slug or number within the class, such as one-handed-swords or cloth.
NameTypeReqDescription
buildstringyes–
classesarray–With no arguments: the whole tree, classes with items only.
creditstringyes–
errorstring–A class or subclass that is not in the build.
item––With item: its path, or null when the item is not in the build.
itemsarray–With class: the items in the category, up to limit.
labelstringyes–
totalinteger–With class: how many items match, listed or not.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

item_page ~206

Returns one Forever item's page by item id: the agreed name, drop frequency from observed loot windows, agreed map pins, and player-reported armor, block, damage per second, stats and resistances. A number is public when one value has 3 agreeing installs in the newest build that 3 installs reported, and no competing value has 3; contested numbers are withheld. Each number states its agreeing installs, build and last seen, with the corpus date and method. Missing numbers are [?] with a reason. No baseline rows or player names. Use it when you have an item id; use market_value for its price, entity_relations for what drops or sells it, and item_categories for its class and slot. Reads Everloot's public player data when connected. Missing or unavailable data is reported explicitly.

NameTypeReqDescription
itemIdintegeryesThe game's item id, from a drop row, entity_relations or the extId of a search_knowledge hit of kind item.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

market_value ~214

Returns the market value, minimum buyout, historical value and units listed for one item on one WoW: Forever realm, from full auction scans players started and uploaded. A day is public after 3 reporters (distinct upload addresses) scanned the item, and its value is the median of theirs. Market value is a weighted mean of the public days up to 14 calendar days old, newer days weighing more, leaving out thin days (5 units listed or fewer) and outlier days. Historical is the median of the public days in the last 60 calendar days, of the days that are not thin when there are any. Use it for what an item is worth now; use auction_history for the price over time, and vendor_page for vendor prices. Reads Everloot's public player data when connected. Missing or unavailable data is reported explicitly.

NameTypeReqDescription
itemIdintegeryesThe game's item id, as item_page takes it.
realmstringyesThe realm's name, as the game shows it.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

npc_page ~184

Returns one Forever NPC's page by NPC id: the agreed name, the agreed map pins, and the loot windows reported for it that are not yet in the drop rates. A name or pin needs 3 installs agreeing; a pin does not require a drop. No copied spawn list. Use it to name or place an NPC when you have its id, from a search_knowledge hit, a drop row or entity_relations; use vendor_page for what an NPC sells, item_page for one drop's rate, entity_relations for every typed link, and world_map_near for what stands around it. Reads Everloot's public player data when connected. Missing or unavailable data is reported explicitly.

NameTypeReqDescription
npcIdintegeryesThe game's NPC id, from world_map_near, entity_relations or the extId of a search_knowledge hit of kind npc.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

object_page ~170

Returns one game object's page (a chest, herb, ore vein or fishing pool) by its entry id: the items players looted from it, each with observed loot windows, windows with the item and distinct install reports, and where players saw it on the minimap. A frequency is public after 3 install reports; a public object with nothing in its windows reads as a measured zero. The name shows once 3 installs agree on it. Use it for gathering nodes and containers; use npc_page for creatures, and item_page for every source of one item. Reads Everloot's public player data when connected. Missing or unavailable data is reported explicitly.

NameTypeReqDescription
objectIdintegeryesThe object's entry id, from a world_map_near treasure, as in /database/objects/1731.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

population ~268

Counts how many characters play each race, class, race and class, faction and level band on WoW: Forever, from the census players turned on in the Everloot addon. Each character counts once. A count shows only when it covers at least 10 characters reported by at least 3 installs from at least 3 addresses, rounded to the nearest 5; a count that could be worked out from the others is hidden too. When census data is available, every answer states its window: active in the last 7 days (default) or since launch; when it is not, the answer says so instead of giving a zero. With no arguments, the overview, most played class first. Use it for how many play a race or class; use class_races for which races can be a class. No names, ever. Missing or unavailable data is reported explicitly.

NameTypeReqDescription
classstring–A class, such as Priest. Without it, every class.
factionstring–Alliance or Horde. Without it, both.
racestring–A race, such as Gnome, Night Elf or Undead. Without it, every race.
windowstring–week (default): active in the last 7 days. launch: seen since launch.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

profession_path ~230

Returns a leveling path for one Forever profession between two skill levels, built from Everloot uploads: the steps, the reagents summed and their cost. A step exists only after 3 installs agree: on a reported recipe, or on the recipe colours that make it orange (a guaranteed skill-up), starting at the trainer's required rank when 3 installs agree on one, else at the lowest rank seen orange. A price exists only after 3 price uploads agree. A skill range no agreed recipe covers is left as a gap, never invented. Use it for how to level a profession from one skill to another; use recipe_thresholds for where single recipes change colour, and market_value for what a reagent costs today. Reads Everloot's public player data when connected. Missing or unavailable data is reported explicitly.

NameTypeReqDescription
fromSkillinteger–Skill the character has now, 1 to 500, default 1.
professionstringyesProfession name, such as Alchemy.
toSkillintegeryesSkill to stop at, 1 to 500, above fromSkill.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

quest_page ~135

Returns one Forever quest's page by quest id: agreed title, level, giver, turn-in and rewards. Each fact needs 3 installs agreeing. No copied quest text. Use it when you have a quest id, from a search_knowledge hit or entity_relations; use answer_sources for a question about the quest's story or chain, and entity_relations for what the quest rewards. Reads Everloot's public player data when connected. Missing or unavailable data is reported explicitly.

NameTypeReqDescription
questIdintegeryesThe game's quest id, from entity_relations or the extId of a search_knowledge hit of kind quest.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

recent_changes ~185

Returns the newest official changes for WoW: Forever, newest first: Blizzard blue posts (title, author, time, a short excerpt and the link to the original), hotfix posts, and new game builds. Excerpts only: Blizzard's post text is Blizzard's; full posts are available at their source URLs. A build's time is when Everloot first saw it, not Blizzard's release time. Use it for what Blizzard changed or posted lately; use answer_sources for lore and game facts, and ecosystem_projects for community addons. filter picks one kind; limit caps the entries.

NameTypeReqDescription
filterstring–posts (blue posts), hotfixes, builds, or all (default).
gamestring–forever or classic. Without it, both.
limitinteger–Most entries, 1 to 25, default 10, newest first.
NameTypeReqDescription
connectedbooleanyesFalse when the timeline is not connected: the list is then not a measured zero.
entriesarrayyes–
urlstring–The changes page on everloot.app with the same filter, absolute.

No examples provided.

recipe_thresholds ~155

Returns where one Forever profession's recipes turn yellow, green and grey, as skill ranges inferred from the colours players' trade-skill windows showed, never guessed exact numbers. A recipe appears only after 3 installs agree. Agreed reagents come with an estimated cost per craft when every reagent has an agreed price. Use it for how long a recipe keeps giving skill points; use profession_path for a step-by-step route between two skill levels. Narrow the list with part of a recipe name. Reads Everloot's current public corpus.

NameTypeReqDescription
professionstringyesProfession name, such as Alchemy.
recipestring–Part of a recipe name to narrow the list. Without it, every recipe of the profession.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

search ~109

Searches the knowledge base in the shape ChatGPT connectors and deep research call by name: up to 10 results, each with an id for fetch, a title and a URL to cite. It is the same search as search_knowledge. Use it only when the client expects the search and fetch pair; other clients should call search_knowledge. The text block is the same JSON as a string.

NameTypeReqDescription
querystringyesWhat to look up: names, questions, keywords. Question words are ignored.
NameTypeReqDescription
resultsarrayyes–

No examples provided.

search_knowledge ~312

Searches WoW lore, Forever reference data and the game-file catalogs (achievements, factions, titles, quest chains, mounts, legacy perks, races, instances) by names, keywords or a question. Exact-name matches rank first. Every hit carries its id, kind, source, licence and date, and a game-file hit says when player uploads confirm it. Use it to find a record from a name or a topic, then pass the hit's id to get_entity for its summary, or to fetch as a string for the whole text. Use get_by_name when you already know the exact full name, and answer_sources when you need cited evidence for a question rather than records. search is the same search in the ChatGPT connector shape.

NameTypeReqDescription
kindstring–Narrow to one record kind. achievement, faction, title, quest_chain, mount, legacy_perk, race and instance come from the game files (found in game files, unconfirmed); item, npc, object, quest, zone,…
limitinteger–Most hits, 1 to 25, default 8.
querystringyesWhat to look up: names, questions, keywords. Question words are ignored.
versionstring–Narrow to one game version: forever, classic, retail or lore. Without it, every version.
NameTypeReqDescription
hitsarrayyes–

No examples provided.

talent_plan ~155

Decodes an Everloot talent share code (EL1-<class>-<spec>-<build>-<payload>, or a calculator link carrying one after #plan=) against the class's trees: the talents and ranks it holds, points per tree, the lowest level that can hold it, and every problem in plain words: a code made on another build, nodes the tree does not have, ranks cut back, points the rules would not place. Nothing is dropped silently. Use it when given a share code or a calculator link; use talent_tree to read the trees themselves. Game-file data, found in game files, unconfirmed.

NameTypeReqDescription
codestringyesThe share code, or a link that carries one.
NameTypeReqDescription
byTreearray––
classstring––
classNamestring––
codeBuildstring–The game build the code was made on.
creditstringyes–
labelstringyes–
linkstring–The calculator with this plan loaded.
messagestring––
minLevelinteger–The lowest level that can hold this many points.
okbooleanyesFalse when the code could not be read at all; message says why.
pointsSpentinteger––
problemsarray–One sentence each. Empty means the code loaded exactly as made.
talentsarray––
treeBuildstring–The build of the trees it was read against.
urlstring–The build's own link on everloot.app, absolute: the calculator opened on this plan, with a preview card for sharing.

No examples provided.

talent_tree ~227

Returns the WoW: Forever talent trees of one class from the game files (found in game files, unconfirmed, with the build): every node with its talents, ranks, grid position, prerequisites and row gate, plus the levels talent points arrive at. Node ids are the ids a share code names. Use it to read or explain a class's trees; use talent_plan to decode a share code against them, and class_races for which races can be the class. Narrow to one tree by name; without it the answer holds every node of every tree. With builds, the answer also lists the Everloot team's published starter builds for the class, each labelled as the team's and not observed, with its share code and page. The answer links the calculator.

NameTypeReqDescription
buildsboolean–Also list the Everloot team's starter builds for the class, with share codes. They are the team's, not observed.
classstringyesClass slug, such as mage.
treestring–One tree by name, such as Arcane. Without it, every tree.
NameTypeReqDescription
buildstringyesThe game build the trees were read from.
classstringyes–
classNamestringyes–
creditstringyes–
labelstringyes–
nodesarrayyes–
pointsobjectyes–
specIdintegeryesThe client's spec id, or 0 when unknown.
starterBuildsarray–With builds: the team's published starter builds for the class (and tree), by name. Empty when none is published.
treesarrayyes–
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

vendor_page ~160

Returns the goods one Forever vendor sells, by the vendor's NPC id, each with the copper price players saw. An item is listed when 3 installs agree on that item and its copper price; two agreed prices both stay listed. No copied catalog. Use it for what a vendor sells and at what price; use npc_page for where the vendor stands, entity_relations with the sold_by relation for who sells an item, and market_value for auction prices. The id is the same NPC id npc_page takes. Reads Everloot's public player data when connected. Missing or unavailable data is reported explicitly.

NameTypeReqDescription
vendorNpcIdintegeryesThe vendor's NPC id, the id npc_page takes, from world_map_near or entity_relations.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

world_map_near ~295

Lists the entrances, NPCs, vendors and treasures near a spot, nearest first, with straight-line distances in yards. Give a zone (name or map id) with x and y from 0 to 100, or an NPC id to start from where that NPC stands. Entrances come from the game files; one is confirmed once 3 installs zoned in from it. NPCs, vendors and treasures are player-observed and listed only where 3 installs agree on the position. Zones the files hold back as possibly unreleased are not offered. Use it for what is near a spot; use npc_page, vendor_page or entity_relations for one entity's own facts. Reads Everloot's public player data when connected.

NameTypeReqDescription
limitinteger–Most results per list, 1 to 20, default 5.
npcIdinteger–Start from this NPC's agreed position instead of a zone and x, y.
radiusnumber–Search radius in yards, up to 5000, default 500.
xnumber–Across the zone map, 0 (west) to 100 (east).
ynumber–Down the zone map, 0 (north) to 100 (south).
zonestring–Zone name or map id, such as Elwynn Forest or 1429. Needs x and y.
NameTypeReqDescription
connectedbooleanyesFalse when no corpus was read; the page is then absent, which is not a measured zero.
dataAsOfstring|nullyesThe corpus snapshot time, or null when unrecorded.
pageobject––
reasonstring–Why nothing was read, when connected is false.
urlstring–The everloot.app page that shows this answer, absolute. Absent when there is no such page or it would be empty.

No examples provided.

Install

How do I install the Everloot: WoW Forever data MCP server?

Everloot: WoW Forever data is a hosted endpoint at https://everloot.app/mcp/public, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · everloot.app

# add to Claude Code
claude mcp add --transport http app-everloot-knowledge 'https://everloot.app/mcp/public'
Common questions

What is the Everloot: WoW Forever data MCP server?

Everloot: WoW Forever data is an MCP server listed in the public MCP registry as app.everloot/knowledge. World of Warcraft: Forever lore and player-observed drops, vendors, quests, professions and talents. This page covers its hosted endpoint (https://everloot.app/mcp/public).

Is the Everloot: WoW Forever data MCP server safe to use?

Everloot: WoW Forever data scores 83 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Everloot: WoW Forever data MCP server expose?

Everloot: WoW Forever data exposes 32 tools: search_knowledge, get_entity, get_by_name, search, fetch, and 27 more. Their descriptions and schemas cost roughly 6,767 tokens of context every time the server is loaded.

Does the Everloot: WoW Forever data MCP server require authentication?

No. We connected to Everloot: WoW Forever data without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Everloot: WoW Forever data MCP server still maintained?

Everloot: WoW Forever data is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.