# Pointagram MCP

> Pointagram connects your AI agent to a gamification platform for sales and HR teams. It lets you programmatically manage player profiles, post real-time scores, and track team performance using natural language commands. Turn complex KPIs into engaging daily challenges without manual dashboard updates.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** gamification, employee-engagement, leaderboards, kpi-tracking, performance-management, rewards

## Description

Pointagram hooks up your AI agent right into a full-scale gamification platform for sales or HR teams. You can programmatically handle everything from creating user profiles to posting real-time points and checking deep performance metrics using natural language commands. It lets you turn complex company KPIs into daily challenges without ever having to manually update a dashboard.

If you wanna see who's playing, just call `list_players`. This tool spits out a roster of every active participant currently tracked in the system. If somebody new joins the crew and needs tracking, you use `create_player` to generate their profile first. You can then manage all your organizational structure by calling `list_teams`, which shows every organized team group that's running through Pointagram.

To understand how points actually accumulate across the company, check out `list_score_series`. This function lists every defined point series and details exactly how those scores calculate for the whole organization. When you need to award or take away points from a user, you run `post_event`. That instantly adds points to a player's score in a specific category and immediately updates their leaderboard. If you want deep numbers on one individual—like checking out top rankings or granular performance metrics—you use `get_player_stats` for that single user. The system also lets you check the entire team setup by calling `list_teams`, which verifies all active team groups.

You're always working with structured data here. You can initiate a workflow to build out a whole cohort of users: first, use `create_player` to onboard them; then, if they join an existing group, you know that group is listed via `list_teams`; and before any scoring happens, you might want to verify the rules using `list_score_series`. The entire process of updating standings relies on `post_event`, which takes a player's ID, a point value, and a score category to make sure the leaderboard updates instantly. You can run `get_player_stats` whenever you need an immediate performance snapshot for any specific user.

Need to manage the entire roster? Call `list_players`. It gives you that complete overview of everyone in the system. If you're onboarding a whole department, you use `create_player` repeatedly for each person to set up their profile before they start scoring. To make sure your point tracking is legit, always reference `list_score_series`; this shows exactly how points are calculated across all score categories.

To keep track of who belongs where, run `list_teams`. It lists every organized team group currently active in Pointagram. When a player earns points, you use `post_event` to make that point contribution visible and immediately update the standing on the leaderboard for that specific event category. If you're reviewing a star performer, `get_player_stats` pulls all the necessary metrics and rankings for that one user into your agent’s view.

You can use `list_players` to get the total count of active participants. You can follow up by calling `create_player` if you find someone missing from the roster. If you want to check team structure, `list_teams` is what you call. To audit how points are weighted across your company, run `list_score_series`. When a scoring event happens, use `post_event` to update the total score and the leaderboard for that player right away. You can't analyze performance without running `get_player_stats` on the specific user you care about.

## Tools

### create_player
Creates a new user profile within the Pointagram system for tracking.

### get_player_stats
Retrieves detailed performance metrics and rankings for one specific player.

### list_players
Lists every active participant currently tracked by Pointagram.

### list_score_series
Shows all defined point series and how they calculate scores for the organization.

### list_teams
Lists every organized team group currently active in Pointagram.

### post_event
Adds points to a player's score in a specific category and updates the leaderboard.

## Prompt Examples

**Prompt:** 
```
List all active players in Pointagram.
```

**Response:** 
```
I've retrieved your player list. You have 50 active participants, including 'John Doe' (Level 12) and 'Maria Garcia' (Level 15). Would you like to see the stats for any of them?
```

**Prompt:** 
```
Post 100 points for player '123' in the 'Sales Bonus' series.
```

**Response:** 
```
Points posted successfully! I've added 100 points to player '123' in the 'Sales Bonus' series. The leaderboard will be updated shortly.
```

**Prompt:** 
```
Show me the top 5 score series.
```

**Response:** 
```
I've retrieved your score series. Your top active series include 'Monthly Sales Target', 'Customer Support Excellence', and 'Bug Squashing Challenge'. Which one would you like to explore?
```

## Capabilities

### List all participants
You get an overview of every active player in the Pointagram system using `list_players`.

### Create a new player profile
Add a brand-new user to the gamification system with `create_player`.

### Update points in real time
Award or deduct points from a specific player using `post_event`, updating their leaderboard instantly.

### Get detailed performance stats
Pull granular metrics and rankings for any single user with `get_player_stats`.

### Check team structure
View all organized teams within the system using `list_teams`.

### Review scoring rules
List every score series defined, showing exactly how points are accumulated across your organization with `list_score_series`.

## Use Cases

### A salesperson needs a performance summary for their boss.
The manager asks the agent: 'Show me the top three players this week.' The agent runs `list_players` and then calls `get_player_stats` for each of those three, giving the manager a clean report immediately. No more waiting on BI reports.

### A new project kicks off and needs dedicated tracking.
The L&D specialist asks the agent to set up tracking: 'Create a team called Alpha Squad and list all players who belong.' The agent runs `list_teams` and `create_player`, setting up the structure instantly.

### A major client deal is closed unexpectedly fast.
The sales lead sends a message: 'Just closed the Acme account. Post 500 points for Sarah in the Big Wins series.' The agent uses `post_event` to update the score, and the leaderboard reflects it instantly.

### Need to audit how points are awarded across departments.
The Ops Director asks: 'What point structures do we have?' The agent runs `list_score_series`, providing a comprehensive list of all scoring rules, which is essential for auditing.

## Benefits

- Get an instant snapshot of the entire user base using `list_players`, eliminating manual report generation and CSV exports for team status checks.
- Award points immediately when a sale closes. Instead of manually updating dashboards, just ask your agent to run `post_event` with the score details.
- Understand exactly how scores are calculated by running `list_score_series`. You see all the rules at once, without digging through settings menus.
- Build new user profiles on demand using `create_player`, simplifying the onboarding process for any recognition program or new hire.
- Instantly check an individual's standing. Use `get_player_stats` to pull detailed metrics and rankings in one prompt, saving you multiple dashboard clicks.

## How It Works

The bottom line is that your AI client handles all the API calls. You just tell it what you want to change or check, and it runs the right tool for you.

1. Subscribe to the Pointagram MCP Server and input your API Key and user credentials into your dashboard settings.
2. Connect your preferred AI client (like Claude or Cursor) to this server via the Vinkius Marketplace.
3. Use natural language prompts—for example, 'Post 50 points for John Doe in the Sales series'—and your agent executes the necessary tools.

## Frequently Asked Questions

**How do I use `post_event` with Pointagram?**
You prompt your agent by specifying three things: the player's identifier, the score amount, and the name of the point series. For example: 'Use `post_event` for John Doe, 150 points, in the Quarterly Bonus series.'

**Can I use `list_players` to see who is currently on my team?**
Yes. Running `list_players` gives you a complete roster of every user tracked by Pointagram. You can then cross-reference that list with your own CRM data.

**`get_player_stats` is read-only, right?**
That's correct. `get_player_stats` pulls metrics; it never changes any data. It's strictly for reading player performance and rankings.

**What does `list_score_series` tell me?**
It lists every scoring mechanism available in the system. This lets you understand exactly how points accumulate and what criteria are tied to each score category.

**What credentials do I need before running any tool, like `list_players`?**
You must provide your Pointagram API Key and User email for authentication. Your AI client sends these credentials to Vinkius first, securing access before the function call runs.

**If I use `post_event` and it fails, what details will I get back?**
The server returns a structured error code detailing why the post failed. Always check the response payload for invalid player IDs or incorrect score series names.

**When calling `create_player`, what data structure must I use?**
You pass data as a JSON string containing required profile details. This typically includes unique identifiers, initial levels, and nicknames for proper player tracking.

**If I use `list_players` with thousands of records, are there limits?**
The server handles large datasets using pagination protocols. Your AI client can request the full data set in manageable chunks to maintain performance and avoid hitting rate limits.

**How do I get my Pointagram API credentials?**
Log in to your Pointagram account, navigate to the **Settings** or **API** section, and you will find your Api-Key. Your Api-User is your login email.

**Can I update points programmatically?**
Yes, the `post_event` tool allows you to send new scoring activities for any player, which will automatically update their score in the corresponding series.

**Does it support team stats?**
Absolutely. You can use the `list_teams` tool to view all teams and their members, and use individual player tools to build aggregate team views.