# BattleMetrics MCP

> BattleMetrics MCP gives your agent real-time insight into the global gaming server ecosystem. It lets you check live player counts across thousands of game servers, audit player bans by reason or scope, and track deep session history for specific users. If you need to analyze population trends or look up detailed player profiles, this is what you use.

## Overview
- **Category:** data-analytics
- **Price:** Free
- **Tags:** game-servers, player-analytics, ban-auditing, server-tracking, real-time-monitoring

## Description

This MCP turns complex data queries about gaming into natural conversation. Instead of jumping through multiple vendor dashboards—checking server status here, then running a separate report on player activity there—your agent handles it all in one chat session. You can instantly search across thousands of tracked game servers to find live metrics like IP address and current rank; you don't need to build custom web scrapers or connect disparate APIs just to get basic stats.

For example, if a community manager needs to verify player activity for moderation, your agent pulls the full session history from multiple connected servers. You can also use it to analyze population trends over weeks, seeing exactly when a server peaked or declined. This kind of deep data visibility—from finding specific players via `list_players` to reviewing organizational ban records with `list_bans`—is what makes connecting this MCP through the Vinkius catalog so powerful. It means your AI agent acts as a central intelligence layer over all your gaming metrics.

## Tools

### get_ban
Retrieves the full details of a specific ban, including who issued it and when it expires.

### get_game
Gets general overview stats and metadata for any tracked game title.

### get_player
Returns a detailed profile for a specific user, including their total play time and linked servers.

### get_server
Provides deep info on one specific game server, like its IP address or current rank.

### get_server_leaderboard
Gets the list of most active players based on their total playtime duration for a given server.

### list_bans
Lists all bans in your organization, allowing you to filter by server or check expiry dates.

### list_games
Returns a list of every game title tracked by the system.

### list_players
Searches and lists players across all supported games using just their name.

### list_servers
Lists all tracked game servers, allowing filtering by country or game type for basic status checks.

### get_player_sessions
Shows the full record of which server a player was on, and exactly when they joined and left.

### search_servers
Searches game servers using advanced criteria like rank range and minimum player count for precise results.

### get_server_player_count_history
Pulls historical data showing how many players were online at a specific server over time.

## Prompt Examples

**Prompt:** 
```
Show me the most popular Rust servers in the US right now.
```

**Response:** 
```
I've retrieved the top Rust servers in the US. Here are the most populated ones with their player counts, ranks, and connection details.
```

**Prompt:** 
```
Look up the player 'shroud' and show me their recent session history.
```

**Response:** 
```
I found the player 'shroud'. Their recent sessions show activity on 3 different servers in the past week, with a total of 42 hours played. Here are the full session details.
```

**Prompt:** 
```
Show me the player count trend for server ID 12345 over the last 7 days.
```

**Response:** 
```
I've pulled the player count history for server 12345. The data shows peak activity at 18:00-22:00 UTC with an average of 87 players, dropping to around 15 during off-peak hours.
```

## Capabilities

### Search and filter live game servers
You can find specific servers by name, country, or minimum player count using advanced search parameters.

### Retrieve detailed player profiles
Get a user's full profile—identifiers like Steam and EOS, total playtime, and linked servers—from their ID.

### Analyze historical server population trends
Pull time-series data to see how many players a specific server had on any given day or week.

### Review organizational ban records
List and inspect every ban recorded, including the reason, scope (server vs. organization), and expiry date.

### Track player session history
View a player's entire activity log, showing which servers they joined and when they left.

## Use Cases

### Investigating a suspected cheating ring.
The community manager notices suspicious activity. They ask the agent to first run `search_servers` for all high-traffic servers, then use `list_players` on potential suspects. Finally, they call `get_player_sessions` to track which specific game servers the individuals were logged into during the suspect time window.

### Planning marketing around a peak gaming period.
The analyst needs data for next quarter's budget. They run `list_games` to see what titles are popular, then use `get_server_player_count_history` on the top title to identify precise times when player counts spike, telling them exactly when to push ad campaigns.

### Handling a major player complaint about unfair bans.
The administrator uses their agent to call `list_bans`, narrowing it down by the problematic server ID. They then use `get_ban` to confirm the exact reason and scope, ensuring they communicate accurate information to the user.

### Evaluating a game's long-term health.
A developer needs to know if their title is losing traction. They run `get_game` for metadata, then use `list_servers` and `search_servers` to see the distribution of active servers across different countries and compare that against historical player data.

## Benefits

- You can audit bans instantly. Instead of manually cross-referencing multiple ban logs, calling `list_bans` and then `get_ban` gives you the full scope, reason, and expiry date in one flow.
- Player tracking gets precise. If a user needs to confirm if someone was on Server X during an incident, `get_player_sessions` provides a minute-by-minute log, far better than looking at general playtime stats from `get_player`.
- Population analysis is straightforward. Forget exporting data and loading it into Excel; you ask for the player count trend using `get_server_player_count_history`, and the answer comes back formatted for immediate use.
- Server discovery gets granular. Don't just list servers; use `search_servers` to filter by rank or minimum players, finding exactly what you need without wading through hundreds of results from `list_servers`.
- Efficiency improves across the board. Because this MCP is available via Vinkius, you connect once and your agent can run complex queries involving player lookups (`list_players`), server checks (`get_server`), and ban audits seamlessly.

## How It Works

The bottom line is: you talk to your agent, and it handles the API logic required to get the answer from BattleMetrics.

1. First, you subscribe to the MCP in your preferred client (Cursor or Claude) and enter your BattleMetrics Personal Access Token.
2. Then, you prompt your agent with a natural language request, like 'Show me all US servers running Rust that have fewer than 10 players.'
3. Finally, your agent executes the necessary tool calls—like `search_servers`—and returns a synthesized report containing the filtered data.

## Frequently Asked Questions

**How do I use get_server_player_count_history to see trend data?**
You provide the server ID and a date range (start/stop timestamps). The MCP returns historical player counts, helping you identify peak hours or long-term decline in activity.

**What is the difference between list_servers and search_servers?**
Use `list_servers` for a basic rundown of all tracked servers. Use `search_servers` when you need precise filtering, like finding only servers in 'France' with a rank greater than 50.

**I want to find out if a player was banned; which tool do I use? (list_bans)**
Start by calling `list_bans` to get an overview of all bans in your organization. Once you have the ban ID, use `get_ban` to retrieve specific details like the reason and scope.

**Can I look up a player's activity on multiple servers? (get_player_sessions)**
Yes. If you provide the player identifier, the MCP uses `get_player_sessions` to generate a complete timeline of every server they joined and left, helping with moderation audits.

**What if I only know a game's name? How do I get stats? (get_game)**
First, use `list_games` to ensure the game title is recognized. Then, use `get_game` with that specific ID to pull overall ecosystem metadata and trackable server counts for that title.

**How do I use get_server to retrieve detailed metadata for a specific game server?**
It returns everything you need: name, IP address, port, player count, rank, map details, and comprehensive metadata. This function gives deep information about one server ID, which is more granular than just listing servers.

**When I use get_player, what kind of associated identifiers do I retrieve for a player?**
You get the player's name along with linked identifiers like Steam or EOS. This allows you to build a comprehensive profile using unique IDs and total playtime statistics.

**If I need to identify the most dedicated players, should I use get_server_leaderboard?**
Yes, `get_server_leaderboard` retrieves player names and their accumulated playtime duration. It is the direct tool for finding out who has been the most active on a specific game server.

**How do I find a specific game server?**
Use the `list_servers` tool with the search parameter. You can filter by server name, game type (e.g. rust, ark), or country code (e.g. US, DE). The results include server name, IP, player count, and rank. For more advanced filtering (min/max players), use the `search_servers` tool.

**Can I track a player's activity across different servers?**
Yes. Use `list_players` to find the player by name, then `get_player` to view their full profile, and `get_player_sessions` to see their complete session history including which servers they joined, when they connected and disconnected, and for how long.

**What games does BattleMetrics support?**
BattleMetrics tracks hundreds of multiplayer games including Rust, ARK, Minecraft, CS2, Valheim, DayZ, and many more. Use the `list_games` tool to get the complete, up-to-date catalog of all supported games with their identifiers.

**How do I get details about a specific ban?**
First use `list_bans` to find the ban and get its numeric ban ID. Then use `get_ban` with that ID to retrieve the complete ban record including the reason, player identifier, expiry date, scope, and issuing administrator.