tf2-wiki-mcp
This MCP server gives LLM clients live access to Team Fortress Wiki content and structured TF2 game data.
Search the wiki by full-text query.
Fetch pages as wikitext, plaintext, or HTML, and get summaries or section lists.
List recent wiki changes by namespace.
Retrieve structured weapon stats, class loadouts, cosmetic infobox data, event item lists, and patch notes.
Use the
tf2wiki://mainresource andanalyze_loadout/compare_weaponsprompts for TF2-focused workflows.
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., "@tf2-wiki-mcp What are the stats of the Rocket Launcher?"
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.
tf2-wiki-mcp
An MCP server that exposes the Team Fortress Wiki to LLM clients (Claude Desktop, Claude Code, Cursor, VS Code) over stdio.
Not affiliated with Valve Corporation or the Team Fortress Wiki contributors. Team Fortress 2 is a trademark of Valve Corporation. This is unofficial fan tooling.
What it does
Gives an LLM live, accurate access to TF2 wiki content so it stops guessing at weapon stats, patch notes, and cosmetic details.
Generic wiki access — search, fetch pages, get summaries, list recent changes.
TF2 domain tools — structured weapon stats, class loadouts, cosmetic lookup, event item lists, patch notes.
Tools
Tool | Purpose |
| Full-text search |
| Page content as |
| Lead-section plaintext |
| Section TOC for selective fetching |
| Recently edited pages |
| Parsed weapon infobox → structured stats |
| All weapons in a class's wiki category |
| Cosmetic item infobox params |
| Items added in an update/event |
| Patch notes for a specific update |
Plus: resource tf2wiki://main, prompts analyze_loadout and compare_weapons.
Related MCP server: MediaWiki MCP Server
Installation
Requires uv (which manages the Python toolchain for you). Once installed, uvx tf2-wiki-mcp will fetch and run the server on demand — no manual clone needed.
Standard config works in most MCP clients:
{
"mcpServers": {
"tf2-wiki-mcp": {
"command": "uvx",
"args": ["tf2-wiki-mcp"],
"env": {}
}
}
}Add the standard config above to claude_desktop_config.json:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Restart Claude Desktop. The TF2 wiki tools appear in the tool picker.
claude mcp add tf2-wiki-mcp -- uvx tf2-wiki-mcpAdd to ~/.codex/config.toml:
[mcp_servers.tf2-wiki-mcp]
command = "uvx"
args = ["tf2-wiki-mcp"]See the Codex MCP docs.
Or add the standard config to ~/.cursor/mcp.json.
Add the standard config to your Gemini CLI settings.json per the Gemini CLI MCP guide.
Or via the VS Code CLI:
code --add-mcp '{"name":"tf2-wiki-mcp","command":"uvx","args":["tf2-wiki-mcp"],"env":{}}'See the VS Code MCP guide for details.
Or via the CLI:
code-insiders --add-mcp '{"name":"tf2-wiki-mcp","command":"uvx","args":["tf2-wiki-mcp"],"env":{}}'Or manually:
Open the GitHub Copilot Chat window.
Click the tools icon (🛠️) → + Add Server.
Fill in: Server ID
tf2-wiki-mcp, Typestdio, Commanduvx, Argumentstf2-wiki-mcp.Save.
See the Visual Studio MCP docs.
{
"mcpServers": {
"tf2-wiki-mcp": {
"command": "uvx",
"args": ["tf2-wiki-mcp"],
"env": {},
"type": "local",
"tools": ["*"]
}
}
}Add this in repository settings under Copilot → Coding agent. See the Copilot Coding Agent MCP docs.
Development
Run from a local clone instead of PyPI:
git clone https://github.com/yusufaf/tf2-wiki-mcp
cd tf2-wiki-mcp
uv sync --dev
uv run pytest # offline, uses recorded cassettes
uv run pytest --live # also hits the real wikiTo point an MCP client at the local checkout:
{
"mcpServers": {
"tf2-wiki-mcp": {
"command": "uv",
"args": ["run", "--directory", "/absolute/path/to/tf2-wiki-mcp", "tf2-wiki-mcp"]
}
}
}Licensing & Attribution
Code: MIT (see LICENSE).
Wiki content: Not redistributed. This project contains zero scraped wiki data. All page content is fetched live from wiki.teamfortress.com at the user's request and returned directly to the user's LLM client — the same posture as a browser extension.
Wiki content is © its respective contributors under Valve's Steam Subscriber Agreement (Game Site terms). Users of this tool are responsible for compliance with Valve's terms. Code license ≠ content license: MIT covers this codebase, not the wiki content it fetches.
Requests to the wiki include a descriptive User-Agent (tf2-wiki-mcp/<version> (https://github.com/yusufaf/tf2-wiki-mcp)) per MediaWiki etiquette and respect maxlag/Retry-After responses.
Contributing
Don't check in scraped wiki text. Infobox examples for parser tests are fine (short, fair-use-grade fixtures). Full page dumps are not.
Available Tools
10 toolsget_cosmeticC
Fetch a cosmetic item page and return its infobox params.
Inputs: name (required). Returns: object
get_pageA
Fetch a single TF2 Wiki page. format picks raw wikitext, plaintext extract, or rendered HTML.
Inputs: title (required), format. Returns: object
get_page_sectionsA
Section table-of-contents for a page; use before get_page to fetch selectively.
Inputs: title (required). Returns: object
get_page_summaryB
Lead-section plaintext summary of a page. Fast context anchor.
Inputs: title (required). Returns: object
get_patch_notesA
Fetch patch notes for a named update or patch page (e.g. 'October 5, 2023 Patch').
Inputs: update_name (required). Returns: object
get_recent_changesB
Recently edited pages in the given namespace (0 = main/articles).
Inputs: limit, namespace. Returns: result
get_weapon_statsB
Fetch a weapon page and return structured stats parsed from its infobox.
Returns damage, rate-of-fire, reload, clip size, attributes (+/- effects), etc.
Inputs: weapon_name (required). Returns: object
list_class_loadoutA
List all weapons for the given class.
Intersects Category: with Category:Weapons on the wiki.
Inputs: class_name (required). Returns: object
list_event_itemsB
List items added during a given TF2 event/update (e.g. 'Jungle Inferno Update', 'Smissmas 2023').
Inputs: event_name (required). Returns: object
search_wikiB
Full-text search the TF2 Wiki. Returns title + snippet + wordcount for each hit.
Inputs: query (required), limit. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool targets a distinct aspect of the TF2 Wiki: generic page retrieval, specific item stats, patch notes, search, and listing tools. No two tools have overlapping purposes, so an agent can clearly distinguish them.
All tool names follow a consistent verb_noun snake_case pattern (e.g., get_, list_, search_). No mixed conventions or vague verbs, making the naming predictable.
10 tools is well-scoped for a wiki server. It covers page fetching, specific data extraction, search, and listing without being overwhelming or incomplete.
The tool set covers core wiki operations: reading pages (full, sections, summary), searching, recent changes, and domain-specific data (cosmetics, weapons, events, class loadouts, patch notes). No obvious gaps for a read-only wiki interface.
Maintenance
Related MCP Connectors
Search and read Wikipedia articles and sections, list cited references, nearby pages, and languages.
Read and write your team's shared, AI-readable wiki from any MCP client.
Web data for agents. Extract web pages, crawl websites, discover URLs, and search the web.
Enable Large Language Model clients to interact seamlessly with any MediaWiki wiki. Perform action…
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables structured access to Bulbapedia's Pokémon encyclopedia through natural language, including searching pages, retrieving Pokémon data, moves, abilities, items, locations, and wiki metadata via the MediaWiki API.116 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables LLM clients to search, read, create, edit, and manage pages, files, categories, and revisions on any wiki running the MediaWiki software, with optional OAuth-authenticated write access. Also exposes extension-specific capabilities such as Wikibase entities and SPARQL queries, Semantic MediaWiki and Cargo queries, and NeoWiki knowledge-graph subjects.8 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables LLM clients to read, search, compare, create, edit, move, protect, and delete wiki pages, manage files, inspect site info and history, and query extension data from NeoWiki, Semantic MediaWiki, Cargo, Bucket, and Wikibase. Supports multiple wikis with optional OAuth authentication and per-wiki tool availability.8 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables LLM clients to search, read, compare, and edit pages on any MediaWiki wiki, including multi-wiki setups with OAuth-authenticated writes. It also queries extension data such as Wikibase entities, Semantic MediaWiki and Cargo results, and Bucket Lua queries.8 npmMIT