warframe-mcp
Provides AI assistants with real-time access to Warframe game data including world state, item stats, market prices, drop tables, builds, crafting, and farming optimization through 19 tools.
README
Warframe MCP Server
Warning: This project was 100% vibecoded and exists purely for my personal needs. Use at your own risk.
A Model Context Protocol (MCP) server that gives AI assistants real-time access to Warframe game data. 19 tools covering world state, item stats, market prices, drop tables, builds, crafting, farming optimization, task synergy planning, and color palette matching — powered by public APIs with zero authentication required.
Tools
| Tool | Description |
|---|---|
world_state |
Current sortie, archon hunt, nightwave, invasions, open world cycles, events, Steel Path, construction progress, daily deals |
baro_kiteer |
Baro Ki'Teer status, inventory, and plat-per-ducat value analysis |
active_fissures |
Void Fissure listings with tier/Steel Path/Void Storm/mission type filters |
lookup_warframe |
Warframe stats, abilities, component drops, build cost, vault status |
lookup_weapon |
Weapon damage per fire mode, crit/status, components, build info |
lookup_mod |
Mod stats at all ranks, polarity, drain, rarity, drop locations |
lookup_item |
Generic item lookup (arcanes, resources, blueprints, companions) |
market_price_check |
Live warframe.market prices — sell/buy stats, cheapest sellers, trade chat messages |
search_drops |
Drop table search — relics, missions, enemies, with drop chances |
relic_drops |
Which relics contain a prime part, refinement chances, relic farm locations |
prime_vault_status |
Vaulted / farmable / Varzia resurgence status for prime items |
simaris_target |
Today's Cephalon Simaris synthesis target and scan locations |
find_enemy_spawn |
Where specific enemies spawn — confirmed locations from drop tables |
lookup_builds |
Top community mod builds from Overframe.gg with mod lists and stats |
crafting_requirements |
Full crafting recipes — components, credits, build time, sub-recipes |
crafting_usage |
Reverse ingredient lookup — "what uses this?" / "safe to sell?" |
farm_route_optimizer |
Best nodes to farm multiple resources — dark sector bonuses, overlap scoring |
task_synergy_planner |
Cross-reference Nightwave with fissures/invasions/sortie for max efficiency |
color_palette_finder |
Find closest in-game color palette match for any hex color (Fashion Frame) |
Most lookup tools accept arrays (batch mode) to handle multiple items in a single call.
Quick Start
npm
git clone https://github.com/YOUR_USER/warframe-mcp.git
cd warframe-mcp
npm install
npm run build
Stdio mode (for MCP clients like Claude Desktop, OpenCode, Cursor):
npm start
HTTP mode (Streamable HTTP transport for remote/web clients):
npm run start:http
# Listening on http://127.0.0.1:3000/mcp
Docker
docker build -t warframe-mcp .
# HTTP mode (default)
docker run -p 3000:3000 warframe-mcp
# Stdio mode
docker run -i warframe-mcp node dist/index.js
Configuration
All configuration is via environment variables. None are required — defaults work out of the box.
| Variable | Default | Description |
|---|---|---|
PORT |
3000 |
HTTP listen port |
HOST |
127.0.0.1 |
Bind address. Use 0.0.0.0 for LAN/container access |
ALLOWED_HOSTS |
— | Comma-separated hostnames/IPs allowed through DNS rebinding protection (only needed when HOST=0.0.0.0) |
Example — LAN-accessible server:
HOST=0.0.0.0 PORT=3000 ALLOWED_HOSTS=192.168.1.100,mypc.local npm run start:http
Client Setup
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"warframe": {
"command": "node",
"args": ["/absolute/path/to/warframe-mcp/dist/index.js"]
}
}
}
Claude Desktop (Docker)
{
"mcpServers": {
"warframe": {
"command": "docker",
"args": ["run", "-i", "--rm", "warframe-mcp", "node", "dist/index.js"]
}
}
}
OpenCode
Add to opencode.json:
{
"mcpServers": {
"warframe": {
"command": "node",
"args": ["/absolute/path/to/warframe-mcp/dist/index.js"]
}
}
}
HTTP Clients (Streamable HTTP)
Start the server in HTTP mode, then connect to http://localhost:3000/mcp:
npm run start:http
# POST /mcp — JSON-RPC requests (initialize, tools/list, tools/call)
# GET /mcp — SSE stream for server-to-client notifications
# DELETE /mcp — Session termination
Sessions are managed via the Mcp-Session-Id header. Send an initialize request without a session ID to start a new session.
Smoke Test
# Stdio — should return JSON with 19 tools
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | node dist/index.js
# HTTP — initialize a session
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"0.1"}},"id":1}'
System Prompt
SYSTEM_PROMPT.md contains a ready-to-use system prompt for an AI assistant that uses this MCP server. It includes tool documentation, a decision tree for tool selection, multi-tool chaining strategies, batching guidance, and Warframe domain knowledge (relics, rotations, trading, modding, Steel Path, open world cycles).
Architecture
src/
├── index.ts # Entry point — stdio or HTTP transport
├── api/
│ ├── warframestat.ts # warframestat.us client (items, drops, worldstate)
│ ├── warframe-market.ts # warframe.market v2 client (prices, orders)
│ ├── overframe.ts # Overframe.gg scraper (community builds)
│ └── wiki.ts # Fandom wiki API client (crafting recipes)
├── tools/
│ ├── worldstate.ts # world_state, baro_kiteer, active_fissures
│ ├── items.ts # lookup_warframe, lookup_weapon, lookup_mod, lookup_item
│ ├── market.ts # market_price_check
│ ├── drops.ts # search_drops, relic_drops
│ ├── primeVault.ts # prime_vault_status
│ ├── simaris.ts # simaris_target
│ ├── enemy.ts # find_enemy_spawn
│ ├── builds.ts # lookup_builds
│ ├── crafting.ts # crafting_requirements, crafting_usage
│ ├── farmOptimizer.ts # farm_route_optimizer
│ ├── synergy.ts # task_synergy_planner
│ └── colors.ts # color_palette_finder
├── types/
│ ├── warframestat.ts # warframestat.us API types
│ ├── warframe-market.ts # warframe.market v2 types
│ ├── overframe.ts # Overframe build types
│ └── index.ts # Re-exports
├── data/
│ ├── color-palettes.ts # 31 Warframe color palettes (2,790 colors)
│ └── planet-resources.ts # Planet resource drops, dark sector nodes & bonuses
└── utils/
├── cache.ts # TTL cache (60s–24h depending on data type)
├── formatting.ts # Number/time formatting helpers
└── lua-parser.ts # Lua table parser for wiki blueprint data
Data Sources
| API | Base URL | Auth | Used For |
|---|---|---|---|
| warframestat.us | https://api.warframestat.us |
None | World state, items, drops, mods, weapons, warframes |
| warframe.market | https://api.warframe.market/v2 |
None | Live trading prices and orders |
| Overframe.gg | https://overframe.gg |
None (HTML scraping) | Community mod builds |
| Warframe Wiki | MediaWiki API | None | Crafting recipes (blueprint data) |
| Bundled static data | — | — | Planet resources, dark sector bonuses, 31 color palettes (2,790 colors) |
Caching
| Data Type | TTL | Examples |
|---|---|---|
| World state | 60 seconds | Fissures, invasions, cycles |
| Drop tables | 5 minutes | Drop search results |
| Market items | 24 hours | Item listing catalog |
| Static data | 24 hours | Warframe/weapon/mod stats |
| Wiki data | 24 hours | Crafting recipes |
| Overframe builds | 6 hours | Community builds |
Development
npm run dev # tsc --watch
npm run build # One-shot compile
npm start # Run stdio mode
Requirements
- Node.js >= 18 (uses native
fetch) - TypeScript 5.x
- No runtime dependencies beyond
@modelcontextprotocol/sdk,express, andzod
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.