Connect a client
Claude, ChatGPT, Grok, Claude Code and any client that speaks streamable HTTP.
Every client uses the same hosted endpoint. It needs no sign-in and asks for no key, so there is nothing to set up beyond the URL.
https://everloot.app/mcp/public
Claude.ai and Claude Desktop#
Open Connectors
Open Customize, then Connectors. It works on every Claude plan, including Free.
Add a connector by URL
Paste the endpoint above.
Turn it on in a chat
Once it shows Connected, turn it on in a chat from the plus menu under Connectors and ask about WoW: Forever.
Claude Code#
One command adds the server.
claude mcp add --transport http everloot https://everloot.app/mcp/public
Grok and the xAI API#
Grok takes a remote server by URL as a custom connector. For the xAI API, pass the same URL to its remote MCP tools.
ChatGPT and other assistants#
Any assistant that takes a streamable HTTP MCP server by URL can use this one. ChatGPT's connectors and deep research call two tools by name, search and fetch. Both are here, answering in the shape OpenAI's contract asks for: search returns results with an id, a title and a URL to cite, and fetch takes one of those ids and returns the record whole, with its URL and the source, licence and date as metadata.
Where an assistant has a directory of servers, Everloot is listed there as it is accepted. The listing notes in the repository say where it stands.
Any streamable HTTP client#
Give the client the URL above. Where a client wants a config file, this is the usual shape; check your client's docs for the exact key names.
{
"mcpServers": {
"everloot": {
"type": "http",
"url": "https://everloot.app/mcp/public"
}
}
}Try it with curl#
The server keeps no session, so one call is enough. The accept header must list both types.
curl -s https://everloot.app/mcp/public \ -H "content-type: application/json" \ -H "accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_by_name","arguments":{"name":"Thrall"}}}'
Run it yourself#
The server is in the repository. This runs the website and the same endpoint on your machine, with a small sample of lore pages.
git clone https://github.com/Everloot/everloot.git cd everloot (cd kb && npm install) cd web && npm install npm run sample-release # prints a KB_SNAPSHOT_PATH line # put that line and EVERLOOT_MCP_PUBLIC=1 in web/.env.local npm run dev # MCP at http://localhost:3000/mcp/public
Or run the server over stdio, which clients such as Claude Desktop can launch themselves. Replace the paths with your clone's. The environment line lets the player-data tools read the public corpus. If you have a key, add EVERLOOT_API_KEY beside it.
{
"mcpServers": {
"everloot": {
"command": "node",
"args": [
"/path/to/everloot/kb/node_modules/tsx/dist/cli.mjs",
"/path/to/everloot/kb/src/cli.ts",
"serve-mcp",
"--db",
"/path/to/everloot/web/.data/release/release.sqlite"
],
"env": {
"EVERLOOT_PUBLIC_CORPUS_URL": "https://everloot.app/api/corpus/public"
}
}
}
}The full lore archive is built from the Warcraft Wiki dump. The steps are in kb/README.md.