Endfield MCP

Read-only lore, character and story lookup for Arknights: Endfield, aimed at fan writers

By 3aKHP (individual) TypeScript Local · stdio Knowledge and memoryWeb search

30 popularity score ★ 6 ↓ 139/wk

Connect your client

Local (npm)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add endfield -- bunx endfield-mcp
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "endfield": {
      "command": "bunx",
      "args": [
        "endfield-mcp"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "endfield": {
      "command": "bunx",
      "args": [
        "endfield-mcp"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "endfield": {
      "type": "stdio",
      "command": "bunx",
      "args": [
        "endfield-mcp"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.endfield]
command = "bunx"
args = ["endfield-mcp"]
Gemini CLITerminal
gemini mcp add --scope user endfield bunx -- endfield-mcp
Local (from source)

Add in one click

Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.

Or add it by command or config

FirstTerminal
git clone https://github.com/3aKHP/Endfield-MCP.git
cd Endfield-MCP/ts
bun install
Claude CodeTerminal
claude mcp add endfield -- bun run '<ABSOLUTE_PATH_TO_CLONE>/ts/src/server.ts'
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "endfield": {
      "command": "bun",
      "args": [
        "run",
        "<ABSOLUTE_PATH_TO_CLONE>/ts/src/server.ts"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "endfield": {
      "command": "bun",
      "args": [
        "run",
        "<ABSOLUTE_PATH_TO_CLONE>/ts/src/server.ts"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "endfield": {
      "type": "stdio",
      "command": "bun",
      "args": [
        "run",
        "<ABSOLUTE_PATH_TO_CLONE>/ts/src/server.ts"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.endfield]
command = "bun"
args = ["run", "<ABSOLUTE_PATH_TO_CLONE>/ts/src/server.ts"]
Gemini CLITerminal
gemini mcp add --scope user endfield bun -- run '<ABSOLUTE_PATH_TO_CLONE>/ts/src/server.ts'

Settings 8

EF_TRANSPORT Optional: stdio (default) or http for the Streamable HTTP server.
EF_DATA_PATH Optional: Absolute path to your own game-data folder; setting it turns off the auto-sync.
EF_WIKI_ENDPOINT Optional: Wiki API address, default https://endfield.wiki.gg/api.php.
EF_WIKI_UA Optional: User-Agent sent to the wiki; defaults to a Chrome-style string.
EF_WIKI_REFERER Optional: Referer sent to the wiki, default https://endfield.wiki.gg/.
PORT Optional: HTTP listen port in http mode, default 3000.
HOST Optional: HTTP listen host in http mode, default 0.0.0.0.
GITHUB_MIRRORS Optional: Comma-separated proxy mirror URLs for data downloads.

What it does

Endfield MCP is a fan-made server for people writing fan fiction or other fan work around the game Arknights: Endfield. It puts two kinds of source within reach of an MCP client: the community-run Endfield Talos Wiki (endfield.wiki.gg), queried live through its MediaWiki API, and a text-only copy of in-game data (characters, story scenes and, from 0.4.0, the in-game archive and encyclopedia) that the author mirrors on their own host.

Wiki tools search pages and return a page's plain text, section list, categories, links and template fields. Character tools list operators and return their archive texts, voice lines and basic profile numbers. Story tools browse chapters and scenes and run regex searches over scene dialogue. Lore tools search and read in-game archive documents and encyclopedia entries.

Game data comes from a two-layer store: at start-up the server syncs data from the mirror in the background into a per-user data folder, and until that finishes it falls back to data bundled inside the package. Setting EF_DATA_PATH points it at your own folder and turns the sync off. It runs over stdio by default, or as a stateless Streamable HTTP server with EF_TRANSPORT=http.

The README describes version 0.3.1 and its 15 tools; the npm release 0.4.0 registers 19, adding ef_list_lore_categories, ef_search_lore, ef_read_lore_document and ef_get_wiki_entry (ts/src/server.ts and ts/src/tools/worldviewTools.ts at tag v0.4.0). Tool descriptions are written in Chinese; wiki text comes back in English.

What it needs

RuntimeNode.js

Bun 1.2 or later: the published program starts with a bun shebang and the HTTP mode uses Bun's own server, so plain Node is not enough. Internet access to endfield.wiki.gg for the wiki tools and to the author's mirror (or GitHub) for the game-data sync. No account or key.

Limits

Read-only: it fetches and searches text. Game data is text only, with no images or audio. Story and lore searches take a regex of up to 200 characters; ef_search_lore returns 30 results by default, up to 100 with max_results. Until the background sync finishes, game-data tools answer from the bundled copy or report that no data is available. Wiki calls send a browser-style User-Agent because the wiki's firewall blocks plain bots; if the wiki changes that, wiki tools may fail. The README still documents 0.3.1 and lists 15 of the 19 tools. In HTTP mode it listens on 0.0.0.0 port 3000 unless HOST and PORT say otherwise, and the README names no sign-in for that endpoint.

Who it suits

Suits Endfield fans and fan writers who want an assistant to look up characters, voice lines, story scenes and world lore while drafting, and who are happy to install Bun. It only reads public game text, so it carries little risk to accounts or files. Players of the original Arknights should use its sibling PRTS-MCP, which the README names. Anyone after live account data, gacha records or gameplay help beyond lore will not find it here.

Tools 19

ef_search_wiki
Keyword search over the Endfield Talos Wiki
ef_read_wiki_page
Returns a wiki page as plain text, optionally one section
ef_list_wiki_sections
Lists the section headings of a wiki page
ef_get_wiki_categories
Lists the categories a wiki page belongs to
ef_get_wiki_links
Lists links from a wiki page, or pages linking to it
ef_get_wiki_template
Returns a page's template fields as key-value data
ef_list_characters
Lists all characters with name, class and rarity
ef_search_characters
Regex search across character data fields
ef_get_character_archives
Returns a character's background archive texts
ef_get_character_voices
Returns a character's voice lines and when they play
ef_get_character_basic_info
Returns a character's profile numbers such as class, rarity and voice actor
ef_list_story_chapters
Lists the story chapters
ef_list_stories
Lists the scenes inside one story chapter
ef_read_story
Returns the full dialogue of one story scene
ef_search_stories
Regex search over the text of all story scenes
ef_list_lore_categories
Shows the category trees of the in-game archive and encyclopedia
ef_search_lore
Regex search over in-game archive documents
ef_read_lore_document
Returns the full text of one archive document by its ID
ef_get_wiki_entry
Returns an in-game encyclopedia entry and its linked archive document

Similar servers