Labsco
akiojin logo

PlayFab MCP Server

โ˜… 4

from akiojin

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

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedAccount requiredAdvanced setup

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? ๐Ÿ“Š

  • 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.

Spec-Driven Development with Spec Kit

This repository follows the Spec Kit SDD/TDD workflow used in akiojin/gwt.

  • Requirements: Python 3.11+ and uv
  • Install CLI: uv tool install specify-cli --from git+https://github.com/akiojin/spec-kit.git
  • Assets: templates under .specify/templates, scripts under .specify/scripts/bash, specs live in specs/
  • Create a new spec/plan: ./.specify/scripts/bash/create-new-feature.sh "feature summary" (add --branch if you also want a branch)
  • Generated files include spec.md, plan.md, tasks.md; keep them reviewed/committed alongside code
  • Claude/Codex slash commands (if available): /speckit.constitution, /speckit.specify, /speckit.plan, /speckit.tasks, /speckit.implement

Security

We take security seriously. If you discover a security vulnerability within this project, please follow these steps:

Reporting Security Vulnerabilities

  1. DO NOT create a public GitHub issue for security vulnerabilities
  2. Instead, please report security issues via GitHub's private vulnerability reporting:
    • Go to the Security tab of this repository
    • Click on Report a vulnerability
    • Provide detailed information about the vulnerability

What We Need From You

  • A description of the vulnerability
  • Steps to reproduce the issue
  • Potential impact
  • Any suggested fixes (optional)

Our Commitment

  • We will acknowledge receipt of your report within 48 hours
  • We will provide regular updates on our progress
  • We will credit you for the discovery (unless you prefer to remain anonymous)

Security Best Practices

When using this server:

  1. Never commit credentials: Always use environment variables for sensitive data
  2. Keep dependencies updated: Regularly run npm audit and update packages
  3. Use least privilege: Only grant the minimum required permissions
  4. Rotate keys regularly: Change your PlayFab Developer Secret Keys periodically

Support

Getting Help

If you encounter any issues or have questions about using the PlayFab MCP Server, here are the best ways to get support:

  1. GitHub Issues: For bug reports and feature requests, please create an issue
  2. Discussions: For general questions and community support, use GitHub Discussions
  3. Documentation: Check the README and code comments for usage examples

Before Creating an Issue

Please check if your issue has already been reported by searching existing issues. If you find a similar issue, you can add additional information as a comment.

What We Support

  • Installation and setup questions
  • Bug reports with reproducible steps
  • Feature requests and suggestions
  • Documentation improvements

What We Don't Support

  • General PlayFab API questions (please refer to PlayFab Documentation)
  • Issues with third-party tools or services
  • Custom implementation requests