Skip to main content
Glama

Google Play Game Services Configuration MCP Server

models.py8.71 kB
# generated by fastapi-codegen: # filename: openapi.yaml # timestamp: 2025-06-29T02:10:59+00:00 from __future__ import annotations from enum import Enum from typing import List, Optional from pydantic import BaseModel, Field class AchievementType(Enum): ACHIEVEMENT_TYPE_UNSPECIFIED = 'ACHIEVEMENT_TYPE_UNSPECIFIED' STANDARD = 'STANDARD' INCREMENTAL = 'INCREMENTAL' class InitialState(Enum): INITIAL_STATE_UNSPECIFIED = 'INITIAL_STATE_UNSPECIFIED' HIDDEN = 'HIDDEN' REVEALED = 'REVEALED' class NumberFormatType(Enum): NUMBER_FORMAT_TYPE_UNSPECIFIED = 'NUMBER_FORMAT_TYPE_UNSPECIFIED' NUMERIC = 'NUMERIC' TIME_DURATION = 'TIME_DURATION' CURRENCY = 'CURRENCY' class ScoreOrder(Enum): SCORE_ORDER_UNSPECIFIED = 'SCORE_ORDER_UNSPECIFIED' LARGER_IS_BETTER = 'LARGER_IS_BETTER' SMALLER_IS_BETTER = 'SMALLER_IS_BETTER' class LocalizedString(BaseModel): kind: Optional[str] = Field( None, description='Uniquely identifies the type of this resource. Value is always the fixed string `gamesConfiguration#localizedString`.', ) locale: Optional[str] = Field(None, description='The locale string.') value: Optional[str] = Field(None, description='The string value.') class LocalizedStringBundle(BaseModel): kind: Optional[str] = Field( None, description='Uniquely identifies the type of this resource. Value is always the fixed string `gamesConfiguration#localizedStringBundle`.', ) translations: Optional[List[LocalizedString]] = Field( None, description='The locale strings.' ) class FieldXgafv(Enum): field_1 = '1' field_2 = '2' class Alt(Enum): json = 'json' media = 'media' proto = 'proto' class AchievementConfigurationDetail(BaseModel): description: Optional[LocalizedStringBundle] = Field( None, description='Localized strings for the achievement description.' ) iconUrl: Optional[str] = Field( None, description='The icon url of this achievement. Writes to this field are ignored.', ) kind: Optional[str] = Field( None, description='Uniquely identifies the type of this resource. Value is always the fixed string `gamesConfiguration#achievementConfigurationDetail`.', ) name: Optional[LocalizedStringBundle] = Field( None, description='Localized strings for the achievement name.' ) pointValue: Optional[int] = Field( None, description='Point value for the achievement.' ) sortRank: Optional[int] = Field( None, description='The sort rank of this achievement. Writes to this field are ignored.', ) class GamesNumberAffixConfiguration(BaseModel): few: Optional[LocalizedStringBundle] = Field( None, description='When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).', ) many: Optional[LocalizedStringBundle] = Field( None, description='When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).', ) one: Optional[LocalizedStringBundle] = Field( None, description='When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).', ) other: Optional[LocalizedStringBundle] = Field( None, description='When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).', ) two: Optional[LocalizedStringBundle] = Field( None, description='When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).', ) zero: Optional[LocalizedStringBundle] = Field( None, description='When the language requires special treatment of the number 0 (as in Arabic).', ) class GamesNumberFormatConfiguration(BaseModel): currencyCode: Optional[str] = Field( None, description='The curreny code string. Only used for CURRENCY format type.' ) numDecimalPlaces: Optional[int] = Field( None, description='The number of decimal places for number. Only used for NUMERIC format type.', ) numberFormatType: Optional[NumberFormatType] = Field( None, description='The formatting for the number.' ) suffix: Optional[GamesNumberAffixConfiguration] = Field( None, description='An optional suffix for the NUMERIC format type. These strings follow the same plural rules as all Android string resources.', ) class LeaderboardConfigurationDetail(BaseModel): iconUrl: Optional[str] = Field( None, description='The icon url of this leaderboard. Writes to this field are ignored.', ) kind: Optional[str] = Field( None, description='Uniquely identifies the type of this resource. Value is always the fixed string `gamesConfiguration#leaderboardConfigurationDetail`.', ) name: Optional[LocalizedStringBundle] = Field( None, description='Localized strings for the leaderboard name.' ) scoreFormat: Optional[GamesNumberFormatConfiguration] = Field( None, description='The score formatting for the leaderboard.' ) sortRank: Optional[int] = Field( None, description='The sort rank of this leaderboard. Writes to this field are ignored.', ) class AchievementConfiguration(BaseModel): achievementType: Optional[AchievementType] = Field( None, description='The type of the achievement.' ) draft: Optional[AchievementConfigurationDetail] = Field( None, description='The draft data of the achievement.' ) id: Optional[str] = Field(None, description='The ID of the achievement.') initialState: Optional[InitialState] = Field( None, description='The initial state of the achievement.' ) kind: Optional[str] = Field( None, description='Uniquely identifies the type of this resource. Value is always the fixed string `gamesConfiguration#achievementConfiguration`.', ) published: Optional[AchievementConfigurationDetail] = Field( None, description='The read-only published data of the achievement.' ) stepsToUnlock: Optional[int] = Field( None, description='Steps to unlock. Only applicable to incremental achievements.', ) token: Optional[str] = Field(None, description='The token for this resource.') class AchievementConfigurationListResponse(BaseModel): items: Optional[List[AchievementConfiguration]] = Field( None, description='The achievement configurations.' ) kind: Optional[str] = Field( None, description='Uniquely identifies the type of this resource. Value is always the fixed string `gamesConfiguration#achievementConfigurationListResponse`.', ) nextPageToken: Optional[str] = Field( None, description='The pagination token for the next page of results.' ) class LeaderboardConfiguration(BaseModel): draft: Optional[LeaderboardConfigurationDetail] = Field( None, description='The draft data of the leaderboard.' ) id: Optional[str] = Field(None, description='The ID of the leaderboard.') kind: Optional[str] = Field( None, description='Uniquely identifies the type of this resource. Value is always the fixed string `gamesConfiguration#leaderboardConfiguration`.', ) published: Optional[LeaderboardConfigurationDetail] = Field( None, description='The read-only published data of the leaderboard.' ) scoreMax: Optional[str] = Field( None, description='Maximum score that can be posted to this leaderboard.' ) scoreMin: Optional[str] = Field( None, description='Minimum score that can be posted to this leaderboard.' ) scoreOrder: Optional[ScoreOrder] = None token: Optional[str] = Field(None, description='The token for this resource.') class LeaderboardConfigurationListResponse(BaseModel): items: Optional[List[LeaderboardConfiguration]] = Field( None, description='The leaderboard configurations.' ) kind: Optional[str] = Field( None, description='Uniquely identifies the type of this resource. Value is always the fixed string `gamesConfiguration#leaderboardConfigurationListResponse`.', ) nextPageToken: Optional[str] = Field( None, description='The pagination token for the next page of results.' )

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/ag2-mcp-servers/google-play-game-services-publishing-api'

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