akiojin/playfab-mcp-server
If you are the rightful owner of playfab-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
PlayFab MCP Server is a middleware that enables large language models to interact directly with PlayFab services.
Tools
Functions exposed to the LLM to take actions
search_items
Searches for items in the PlayFab catalog (Economy v2). Use this when you need to find items by name, type, or other properties. Common uses: Finding all weapons, searching for items containing 'sword', filtering by price range. Returns item details including ID, name, description, and prices. Supports pagination for large result sets. Use the returned items' IDs with inventory management tools.
get_all_segments
Retrieves an array of player segment definitions. Results from this can be used in subsequent API calls such as GetPlayersInSegment which requires a Segment ID. While segment names can change the ID for that segment will not change.
get_players_in_segments
Retrieves a paginated list of player profiles in a specific segment.Use SegmentId to specify the segment. Use ContinuationToken for pagination.
add_inventory_items
Grants items or virtual currency to a player's inventory. Use this when you need to: 1) Give rewards to players, 2) Add purchased items, 3) Grant virtual currency (use currency item ID). For bulk operations across multiple players, use grant_items_to_users instead. Note: In Economy v2, virtual currencies are items - use their item IDs, not currency codes.
delete_inventory_items
Deletes items from a player's inventory. You must specify the Item (InventoryItemReference object) and TitlePlayerAccountId. Warning: This permanently removes items from the player's inventory.
subtract_inventory_items
Subtracts a specific amount of items from a player's inventory. Use this to reduce item quantities without completely removing them.
update_inventory_items
Updates properties of existing inventory items. Use this to modify item metadata, display properties, or custom data.
get_inventory_items
Retrieves the current inventory items for a specific player.You must provide the TitlePlayerAccountId.You can optionally specify a collection (CollectionId), a page size (Count), and a ContinuationToken for pagination.
get_inventory_collection_ids
Retrieves all inventory collection IDs for a specific player.Use this to list all collections before fetching items from them.
get_title_player_account_id_from_playfab_id
Converts a PlayFabId to TitlePlayerAccountId. IMPORTANT: Use this before any inventory operations! PlayFabId (from login/user info) ≠ TitlePlayerAccountId (needed for inventory). Example flow: Get PlayFabId from user data → Convert with this tool → Use result for inventory APIs.
execute_inventory_operations
Execute multiple inventory operations in a single batch request. Supports up to 50 operations per request. Operations are atomic - all succeed or all fail.
ban_users
Bans players from accessing the game. Use when: 1) Player violates terms, 2) Suspicious activity detected, 3) Temporary suspension needed. Can ban by: PlayFabId (specific player), IPAddress (block IP), MACAddress (block device). Set DurationInHours for temp bans, omit for permanent. Always include clear Reason for records.
revoke_all_bans_for_user
Removes all active bans for a specific player. This unbans the player completely.
get_user_account_info
Retrieves detailed account information for a player. Includes profile data, statistics, and linked accounts.
get_user_data
Retrieves custom data stored for a player. Can retrieve specific keys or all data.
update_user_data
Updates custom data for a player. Can set multiple key-value pairs at once.
set_title_data
Sets global game configuration visible to ALL players. Use for: 1) Game version info, 2) Event schedules, 3) Feature flags, 4) Global settings. Format: Key-value pairs. Value can be JSON string for complex data. WARNING: This is PUBLIC data - use set_title_internal_data for sensitive configs!
get_title_data
Retrieves global configuration data for the title. Can retrieve specific keys or all title data.
set_title_internal_data
Sets server-only title data that is not accessible by clients. Use this for sensitive configuration like API keys, server settings, etc.
get_title_internal_data
Retrieves server-only title data. This data is not accessible by game clients.
create_draft_item
Creates a new draft item in the catalog. Draft items must be published before they can be used. Use this to: 1) Add new items to your game, 2) Create virtual currency items, 3) Define bundles. After creation, use publish_draft_item to make it available to players.
update_draft_item
Updates an existing draft item in the catalog. Changes only affect the draft version until published.
delete_item
Permanently deletes an item from the catalog. WARNING: This cannot be undone! The item will be removed from all player inventories.
publish_draft_item
Publishes a draft item, making it available to players. Once published, the item can be purchased and used in the game.
get_item
Retrieves detailed information about a specific catalog item. Returns both draft and published versions if available.
Prompts
Interactive templates invoked by user choice
No prompts
Resources
Contextual data attached and managed by the client