Skip to main content
Glama
akiojin

PlayFab MCP Server

by akiojin

PlayFab MCP 서버

대장간 배지

이게 뭐예요? 🤔

이 서버는 Claude 및 VS Code와 같은 대규모 언어 모델이 PlayFab 서비스와 직접 상호 작용할 수 있도록 하는 미들웨어입니다. 안전하고 효율적인 번역기 역할을 하는 이 서버는 AI 비서를 아이템 검색, 세그먼트 조회, 플레이어 프로필 조회, 인벤토리 관리, PlayFab ID 변환 등 다양한 PlayFab 기능과 연결합니다.

간단한 예

지엑스피1

Related MCP server: Azure Cosmos DB MCP Server

어떻게 작동하나요? 🛠️

이 서버는 모델 컨텍스트 프로토콜(MCP)을 활용하여 AI 모델과 PlayFab 서비스 간의 범용 인터페이스를 구축합니다. MCP는 모든 AI 모델을 지원하도록 설계되었지만, 현재 개발자 프리뷰로 제공됩니다.

시작하려면 다음 단계를 따르세요.

  1. 프로젝트를 설정합니다.

  2. LLM 클라이언트 구성에 프로젝트 세부 정보를 추가합니다.

  3. PlayFab 데이터와 자연스럽게 상호작용을 시작하세요!

무엇을 할 수 있나요? 📊

  • PlayFab의 search_items API를 사용하여 아이템을 검색하세요.

  • 포괄적인 세그먼트 정보를 검색합니다.

  • 지정된 세그먼트 내에서 플레이어 프로필을 쿼리합니다.

  • get_inventory_items API를 사용하여 현재 재고 항목을 검색합니다.

  • get_inventory_collection_ids API를 사용하여 인벤토리 컬렉션 ID를 가져옵니다.

  • get_title_player_account_id_from_playfab_id API를 통해 PlayFab ID를 타이틀 플레이어 계정 ID로 변환합니다.

빠른 시작 🚀

Smithery를 통해 설치

Smithery를 통해 Claude Desktop에 PlayFab MCP 서버를 자동으로 설치하려면:

npx -y @smithery/cli install @akiojin/playfab-mcp-server --client claude

필수 조건

  • Node.js 18 이상.

  • 유효한 PlayFab 계정(PlayFab 게임 관리자를 통해 타이틀 ID와 개발자 비밀 키를 받으세요).

  • Claude Desktop과 같은 지원되는 LLM 클라이언트.

프로젝트 설정

PlayFab 게임 관리자에서 PlayFab 타이틀 ID와 개발자 비밀 키를 얻은 다음, 다음 내용이 포함된 .env 파일을 프로젝트 루트에 만듭니다(자리 표시자를 실제 자격 증명으로 바꾸세요).

PLAYFAB_TITLE_ID=
PLAYFAB_DEV_SECRET_KEY=

시작하기

  1. 프로젝트 루트에서 다음 명령을 실행하여 필요한 모든 종속성을 설치 합니다 .

    npm install
  2. 프로젝트 빌드 다음을 실행하여 프로젝트를 컴파일합니다.

    npm run build
  3. 서버 시작 다음을 실행하여 서버를 시작합니다.

    npm start
  4. 확인 메시지 시작하면 다음 메시지가 표시됩니다.

    PlayFab Server running on stdio

커서로 실행

Cursor와 함께 PlayFab MCP 서버를 사용하려면 다음 단계를 따르세요.

  1. 아직 Cursor Desktop을 설치하지 않았다면 설치하세요.

  2. 빈 폴더에서 Cursor의 새 인스턴스를 엽니다.

  3. 이 저장소에서 mcp.json 파일을 귀하의 폴더로 복사하고 귀하의 환경에 맞게 값을 업데이트합니다.

  4. 커서를 실행하면 PlayFab MCP 서버가 도구 목록에 나타납니다.

  5. 예를 들어, "최근 10개 항목 표시"와 같은 프롬프트를 사용해 서버가 쿼리를 올바르게 처리하는지 확인하세요.

Claude Desktop의 구성 파일에 프로젝트 세부 정보 추가

Claude Desktop을 열고 파일 → 설정 → 개발자 → 구성 편집으로 이동합니다. 그런 다음 claude_desktop_config 파일 내용을 다음 코드로 변경합니다.

{
  "mcpServers": {
    "playfab": {
      "command": "npx",
      "args": [
        "-y",
        "@akiojin/playfab-mcp-server"
      ],
      "env": {
        "PLAYFAB_TITLE_ID": "Your PlayFab Title ID",
        "PLAYFAB_DEV_SECRET_KEY": "Your PlayFab Developer Secret Key"
      }
    }
  }
}

이러한 단계를 거치면 LLM 클라이언트와 함께 사용할 PlayFab MCP 서버를 성공적으로 구성하여 PlayFab 서비스와 원활하게 상호 작용할 수 있습니다.

Available Tools

3 tools
get_all_playersC

PlayFab get all players

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only states the action without disclosing behavioral traits such as pagination, rate limits, authentication needs, or what 'all players' entails (e.g., active only, includes metadata). This leaves significant gaps for safe and effective use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single phrase 'PlayFab get all players', which is concise but under-specified. It front-loads the core action but lacks necessary context to be fully helpful. While not verbose, it misses opportunities to add value in a compact form.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a simple but vague description, this is incomplete for a tool that likely returns a list of players. The description doesn't explain return values, error handling, or operational constraints, leaving the agent with insufficient information for reliable use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. Baseline is 4 for zero parameters, as the schema fully covers the absence of inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'PlayFab get all players' states the action ('get') and resource ('players'), but lacks specificity about scope or format. It distinguishes from siblings like 'get_all_segments' by resource type, but doesn't clarify if this retrieves all players globally or within a context. The purpose is understandable but vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'search_items'. The description doesn't mention prerequisites, limitations, or typical use cases. Without annotations or context, the agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_all_segmentsC

PlayFab get all segments

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states the action ('get all segments') without any details on what this entails—e.g., whether it's a read-only operation, if it requires authentication, how it handles pagination or rate limits, or what the output looks like. This is inadequate for a tool with no annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise ('PlayFab get all segments'), which could be efficient, but it under-specifies the tool's purpose and context. While it avoids unnecessary words, it fails to provide essential information that would help an agent use the tool correctly, making this brevity more of a deficiency than a strength.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations, no output schema, and a simple input schema with no parameters, the description is incomplete. It does not explain what 'segments' are, how the tool behaves, or what to expect in return, leaving significant gaps for an agent to understand and invoke the tool effectively in the context of sibling tools like 'get_all_players'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, meaning there are no parameters to document. The description does not add parameter details, which is appropriate here. A baseline of 4 is applied since no parameters exist, and the description does not mislead about inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'PlayFab get all segments' restates the tool name with minimal elaboration. It specifies the action ('get all') and resource ('segments'), but lacks specificity about what 'segments' are in the PlayFab context or how this differs from sibling tools like 'get_all_players' or 'search_items'. This is borderline tautological, as it essentially repeats the name with the platform prefix added.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools like 'get_all_players' or 'search_items', nor does it specify contexts, prerequisites, or exclusions for usage. This leaves the agent with no information to make an informed choice among available tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_itemsD

PlayFab search items

ParametersJSON Schema
NameRequiredDescriptionDefault
continuationTokenNoAn opaque token used to retrieve the next page of items, if any are available.
countYesNumber of items to retrieve. This value is optional. Maximum page size is 50. Default value is 10.
filterNoAn OData filter used to refine the search query (For example: "type eq 'ugc'"). More info about Filter Complexity limits can be found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/search#limits
orderByNoAn OData orderBy used to order the results of the search query. For example: "rating/average asc"
searchNoThe text to search for.

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It reveals nothing about whether this is a read/write operation, authentication requirements, rate limits, pagination behavior (beyond what's implied by continuationToken in schema), error conditions, or response format. For a search tool with 5 parameters and no output schema, this is critically inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While technically concise (two words), this is under-specification rather than effective brevity. The description fails to front-load essential information and doesn't earn its place - it provides almost no value beyond the tool name itself. A truly concise description would still convey core purpose and context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, no output schema, no annotations), the description is completely inadequate. It doesn't explain what 'items' are, what search capabilities exist, how results are returned, or any behavioral characteristics. For a search operation that likely returns structured data, the absence of output schema means the description should at minimum indicate the nature of returned results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all 5 parameters. The description adds no parameter information beyond what's already in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'PlayFab search items' is a tautology that merely restates the tool name with a platform prefix. It doesn't specify what 'items' refers to (catalog items, inventory items, etc.), what action 'search' performs (filtering, text search, or both), or what resource domain this operates in. While it distinguishes from the sibling tools (which target players/segments rather than items), the purpose remains vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, appropriate contexts, or comparison with other search methods. The sibling tools (get_all_players, get_all_segments) target different resources, but the description doesn't help an agent decide between searching items versus retrieving players/segments.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

C2.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose targeting different PlayFab resources: players, segments, and items. There is no overlap in functionality, making it easy for an agent to select the correct tool without confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (get_all_players, get_all_segments, search_items), using snake_case throughout. This predictability enhances readability and usability.

Tool Count2/5

With only 3 tools, the server feels under-scoped for a platform like PlayFab, which typically involves more operations such as creating/updating players, managing items, or handling segments. This limited set may hinder agent workflows.

Completeness2/5

The toolset is severely incomplete for PlayFab's domain, covering only retrieval operations (get_all and search) without any create, update, or delete capabilities. This leaves significant gaps that will likely cause agent failures in broader tasks.

Maintenance

ActivityActive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    This is a server that lets your LLMs (like Claude) talk directly to your BigQuery data! Think of it as a friendly translator that sits between your AI assistant and your database, making sure they can chat securely and efficiently.
    1,449
    147
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A server that enables LLMs like Claude to interact with Azure Cosmos DB databases through natural language queries, acting as a translator between AI assistants and database systems.
    4
    3
    MIT
  • A
    license
    B
    quality
    F
    maintenance
    This server enables natural language interaction between a user and their Kuzu databases using clients like Claude Desktop or Cursor, allowing LLMs to retrieve the database schema, execute Cypher queries, create nodes, and establish relationships in the graph database.
    2
    42
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/akiojin/playfab-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server