unicum.gg
World of Tanks stats for players, clans and tanks across EU, NA, and Asia.
- 01Stars
- 5
- 02Version
- 0.1.0
- 03License
- AGPL-3.0
- 04Review
- Passed
- Language
- TypeScript
- Last commit
- 3h ago
- Forks
- 1
- Open issues
- 1
- Registry update
- Oct 14, 2026
Connect
remote$claude mcp add --transport http wot-stats https://unicum.gg/api/mcpHeaders
Nothing to configure — it works as is.
Security review
Review passedReviewed 1h ago.
- tools
- 105 tools scanned
- metadata
- scanned
No findings.
Tools
105clans_by_tag
Clan overview
clans_compare
Compare clans
clans_languages
Clan languages
clans_search
Search clans
clans_top
Top clans
clans_by_tag_activity
Clan activity
clans_by_tag_clan_wars
Clan wars stats
clans_by_tag_members
Clan members
clans_by_tag_previous_clans
Clan previous clans
clans_by_tag_stronghold
Clan stronghold stats
clans_by_tag_vehicles
Clan vehicles
clans_by_tag_videos
Clan videos
clans_search_ndjson
Search clans (streamed)
clans_stronghold_top
Stronghold clan leaderboard
glossary
Glossary
glossary_by_slug
Glossary term
glossary_anchors
Glossary anchors
glossary_search
Search the glossary
maps
Maps
maps_by_slug
Map detail
maps_changes
Map changes feed
maps_ratings
Map community ratings board
maps_search
Search maps
maps_by_slug_history
Map changes history
maps_by_slug_ratings
Map community rating
maps_by_slug_videos
Map videos
maps_ratings_mine
My map ratings
maps_search_ndjson
Search maps (streamed)
maps_by_slug_ratings_me
My rating of this map
og
Generic OG card
og_clans_by_tag
Clan OG card
og_clans_compare
Clans comparison OG card
og_maps_by_slug
Map OG card
og_players_by_nickname
Player OG card
og_players_compare
Players comparison OG card
og_tanks_by_slug
Tank OG card
og_tanks_compare
Tanks comparison OG card
og_tournaments_by_id
Tournament OG card
og_tournaments_by_id_team_by_teamId
Tournament team OG card
battles_by_id
Battle
players_by_nickname
Player detail
players_activity
Player activity by band
players_compare
Compare players
players_distribution
Player distribution
players_languages
Player languages
players_marks
Marks of Excellence leaderboard
players_onslaught
Onslaught leaderboard
players_search
Search players
players_steel_hunter
Steel Hunter leaderboard
players_top
Top players
players_winrate_by_tier
Win rate by tier and rating band
battles_by_id_loadouts
Battle loadouts
battles_by_id_replay
Battle replay
players_by_nickname_achievements
Player achievements
players_by_nickname_battles
Player battles
players_by_nickname_clan
Player current clan
players_by_nickname_onslaught
Player Onslaught record
players_by_nickname_sessions
Player sessions
players_by_nickname_tanks
Player tanks
players_onslaught_history
Onslaught season history
players_search_ndjson
Search players (streamed)
players_by_nickname_tanks_by_slug
Player vehicle record
players_by_nickname_tanks_by_slug_loadout
Player vehicle loadout
servers_compare
Compare regions
server_stats
Server population
streamers_live
Live streamers
twitch_by_login_badges
Twitch chat badges
health
Health check
rates
Exchange rates
coverage
Coverage
resolve
Resolve a roster
ratings_scales
Rating colour scales
support_funding
Funding progress
support_podium
Supporters board
search_resolve
Resolve saved search entries
tanks
Tanks performance
videos
Community videos
ratings_mine
My ratings
tanks_by_slug
Tank performance
tanks_changes
Tank changes feed
tanks_compare
Compare tanks
tanks_economics
Tanks economics
tanks_marks_of_excellence
Tanks Marks of Excellence
tanks_marks_of_mastery
Tanks Marks of Mastery
tanks_ratings
Community ratings board
tanks_search
Search tanks
tanks_specifications
Tanks specifications
videos_editable
A suggestion, as its form
videos_mine
My queued videos
tanks_by_slug_detail
Tank detail
tanks_by_slug_economics
Tank economics
tanks_by_slug_history
Tank changes history
tanks_by_slug_marks_of_excellence
Tank Marks of Excellence
tanks_by_slug_marks_of_mastery
Tank Marks of Mastery
tanks_by_slug_ratings
Tank community rating
tanks_by_slug_similar
Similar tanks
tanks_by_slug_specifications
Tank specifications
tanks_by_slug_videos
Tank videos
tanks_search_ndjson
Search tanks (streamed)
tanks_by_slug_ratings_me
My rating of this tank
tournaments
Tournaments
tournaments_by_id
Tournament
clans_by_tag_tournaments
Clan tournaments
players_by_nickname_tournaments
Player tournaments
tournaments_by_id_team_by_teamId
Tournament team
unicum.gg
Free, open-source World of Tanks stats tracker. Player profiles, clan pages, leaderboards. WN7, WN8, WNX. No ads.
Live at unicum.gg.
Stack
Next.js 16, React 19, TypeScript, PostgreSQL via Drizzle, Tailwind v4, shadcn/ui, Recharts.
Monorepo
pnpm workspace. Dependencies flow one way, no cycles:
@unicum.gg/wargaming ──▶ @unicum.gg/shared ──▶ @unicum.gg/core ──▶ apps/web (server) + apps/worker
│ HTTP API
@unicum.gg/sdk ◀───────┘
└──▶ web front + apps/bot
| Package / app | Role |
|---|---|
packages/wargaming | Neutral Wargaming API SDK (client, rate limiting, full response types) |
packages/shared | Client-safe foundations: env, constants, db schema, pure domain math and types |
packages/core | Server-only: db pool, redis, crons, repositories, WG fetchers, auth |
packages/sdk | Fluent client for our own public API, types generated from the OpenAPI spec |
apps/web | The Next.js site and public API |
apps/worker | Standalone cron runner |
apps/bot | Discord bot (/player, /clan) |
wargaming, shared and sdk are imported from their package barrel (import { Region } from "@unicum.gg/wargaming"). core is deliberately not a barrel: its modules have import-time side effects (db pool, auth secret assert), so server code imports the specific subpath it needs (@unicum.gg/core/db, ...). The front end and the Discord bot never import core; they consume the API through @unicum.gg/sdk and types through @unicum.gg/shared.
Run locally
pnpm install
pnpm env:init # generates .env.local from env.ts; fill in the values
pnpm dev
pnpm env:init reads env.ts and writes a .env.local with every required key. If a .env.local already exists it is backed up to .env.local.<timestamp>.bak first, so nothing is lost.
Get the three WG application IDs at developers.wargaming.net (one ID can be reused across regions).
Database
for f in apps/web/drizzle/0*.sql; do psql "$DATABASE_URL" -f "$f"; done
Contributing
Issues and PRs welcome. Read AGENTS.md first. It is the project's contributing guide and covers the non-obvious foot-guns (schema factory pattern, migration workflow, cron loop, WG fetch and rate limits).
License
AGPL v3. Copyright (C) 2026 Antoine Kingue.
Not affiliated with Wargaming.net.
From the server's repository — third-party content, read it before running anything it suggests.
More in Travel & maps
Lemma Park
com.lemmapark
Read-only: the open math problems Lemma Park's agents work on, every attempt, and how to join.
Socials Homes
homes.socials
Find a rental home in a new city: supported cities, plans, live listing counts and a signup link.
Parclick
com.parclick
Find parkings across Europe, get firm prices and ready-to-pay booking links.
Lviv Public Transport
io.github.vbhjckfd
Lviv public transport MCP: stops, timetables, routes, and live vehicle positions. No API key.
Uruguay: datos públicos
io.github.manusabbath-arch
Uruguayan public data from primary sources: BCU rates, CPI, fuel, weather, IDE.uy geocoding, RUT.
GrazieChef Kitchen Tools
com.graziechef
Restaurant math for AI assistants: food cost, menu price with VAT, recipe scaling, EU 14 allergens.
Listing from the official MCP Registry · repository facts from GitHub, 1h ago.