PlayFab MCP Server

by akiojin

4 stars
220 downloads
Not rated
GitHub

About

A middleware server that allows large language models to interact directly with PlayFab services.

Details

Author
akiojin
GitHub stars
4
Downloads
220
Categories
Cloud Service, Other, Infrastructure, API, Developer Tools

- Search items via PlayFab's search_items API
- Manage Economy v2 catalog (create, update, delete, publish draft items)
- Retrieve segment info and player profiles
- Convert PlayFab IDs to Title Player Account IDs
- Add, remove, subtract, and update inventory items
- Ban and unban players by ID, IP, or MAC address
- Set and get player custom data and title data

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name PlayFab MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install Node.js 18+, obtain PlayFab Title ID and Developer Secret Key from PlayFab Game Manager, create a .env file with those credentials, run npm install and npm run build, then start with npm start. Configure your LLM client (e.g., Claude Desktop) with a JSON config pointing to the @akiojin/playfab-mcp-server npx command and your credentials.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "playfab mcp server": {
            "playfab-mcp-server": {
                "command": "docker",
                "args": [
                    "compose",
                    "build"
                ]
            }
        }
    }
}

McpServers

{
    "playfab-mcp-server": {
        "command": "docker",
        "args": [
            "compose",
            "build"
        ]
    }
}

PlayFab MCP Server

What Is This? πŸ€”

This server is a middleware that enables large language models (like Claude and VS Code) to interact directly with PlayFab services. Acting as a secure and efficient translator, it connects your AI assistant with various PlayFab functionalities, such as item search, segment inquiries, player profile lookups, inventory management, and PlayFab ID conversion.

Quick Example

You: "Show me the latest 10 items."
Claude: calls the PlayFab search_items API and returns the results in plain text

How Does It Work? πŸ› οΈ

This server leverages the Model Context Protocol (MCP) to establish a universal interface between AI models and PlayFab services. Although MCP is designed to support any AI model, it is currently available as a developer preview.

Follow these steps to get started:

1. Set up your project.
2. Add your project details to your LLM client's configuration.
3. Start interacting with PlayFab data naturally!

What Can It Do? πŸ“Š

Catalog & Search

- Search for items using PlayFab's search_items API.
- Catalog Management (Economy v2):
- Create new draft items with the create_draft_item API.
- Update existing draft items with the update_draft_item API.
- Delete items from catalog with the delete_item API.
- Publish draft items to make them available with the publish_draft_item API.
- Get detailed item information with the get_item API.

Player Management

- Retrieve comprehensive segment information.
- Query player profiles within specified segments.
- Convert a PlayFab ID to a Title Player Account ID via the get_title_player_account_id_from_playfab_id API.
- Get detailed user account information with the get_user_account_info API.

Inventory Management

- Get Operations:
- Retrieve current inventory items with the get_inventory_items API.
- Fetch inventory collection IDs using the get_inventory_collection_ids API.
- Add/Remove Operations:
- Add items to inventory with the add_inventory_items API.
- Delete items from inventory with the delete_inventory_items API.
- Subtract specific amounts with the subtract_inventory_items API.
- Modify Operations:
- Update item properties with the update_inventory_items API.

Economy v2 Administration

- Execute batch inventory operations with the execute_inventory_operations API.
- Note: In Economy v2, virtual currencies are managed as inventory items.

User Account Administration

- Ban players by ID, IP, or MAC address with the ban_users API.
- Unban players completely with the revoke_all_bans_for_user API.

Player Data Management

- Retrieve player custom data with the get_user_data API.
- Update player custom data with the update_user_data API.

Title Configuration Management

- Set global title data with the set_title_data API.
- Retrieve title data with the get_title_data API.
- Set server-only internal data with the set_title_internal_data API.
- Retrieve internal data with the get_title_internal_data API.

Quick Start πŸš€

Prerequisites

- Node.js 18 or higher.
- A valid PlayFab account (obtain your Title ID and Developer Secret Key via PlayFab Game Manager).
- A supported LLM client such as Claude Desktop.

Set Up Your Project

Obtain your PlayFab Title ID and Developer Secret Key from the PlayFab Game Manager, then create a .env file in the project root with the following content (replace the placeholders with your actual credentials):

PLAYFAB_TITLE_ID=
PLAYFAB_DEV_SECRET_KEY=

Installation and Setup

1. Install Dependencies

In the project root, run the following command to install all necessary dependencies:

   npm install
   

2. Build the Project

Compile the project by executing:

   npm run build
   

3. Start the Server

Start the server by executing:

   npm start
   

4. Confirmation Message

Upon startup, you should see this message:

   PlayFab Server running on stdio
   

Development Setup

Code Quality Tools

- ESLint: Configured for TypeScript with recommended rules for code consistency
- Prettier: Automatic code formatting with project-specific settings
- TypeScript: Strict mode enabled for enhanced type safety
- Jest: Testing framework configured for TypeScript

Available Scripts

```bash

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.