Portamora
Ce que fait ce MCP
Allows users to discover published atmospheric 3D worlds, inspect world metadata and guides, and obtain starter materials for building environments.
Outils
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', 'required': ['handle'], 'properties': {'handle': {'type': 'string', 'pattern': '^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])$', 'maxLength': 30, 'minLength': 3, 'description': 'An existing creator handle; lookup ignores case.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'data'], 'properties': {'data': {'type': 'object', 'required': ['id', 'handle', 'displayName', 'bio', 'avatarKey', 'links'], 'properties': {'id': {'type': 'string', 'pattern': '^user_[6789BCDFGHJKLMNPQRTWbcdfghjkmnpqrtwz]{10}$', 'maxLength': 15, 'minLength': 15, 'description': 'Case-sensitive user identifier with 10 safe-alphabet characters after the prefix.'}, 'bio': {'type': 'string'}, 'links': {'type': 'object', 'required': ['self', 'profile', 'avatar'], 'properties': {'self': {'type': 'string', 'format': 'uri'}, 'avatar': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'profile': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'handle': {'type': 'string', 'pattern': '^[a-z0-9](?:[a-z0-9-]*[a-z0-9])$', 'maxLength': 30, 'minLength': 3}, 'avatarKey': {'type': ['string', 'null']}, 'displayName': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', 'required': ['versionId'], 'properties': {'versionId': {'type': 'string', 'pattern': '^version_[6789BCDFGHJKLMNPQRTWbcdfghjkmnpqrtwz]{10}$', 'maxLength': 18, 'minLength': 18, 'description': 'Case-sensitive version identifier with 10 safe-alphabet characters after the prefix.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'data'], 'properties': {'data': {'type': 'object', 'required': ['id', 'worldId', 'versionNumber', 'sdkVersion', 'bytesUnpacked', 'notes', 'createdAt', 'packagePath', 'controls', 'links'], 'properties': {'id': {'type': 'string', 'pattern': '^version_[6789BCDFGHJKLMNPQRTWbcdfghjkmnpqrtwz]{10}$', 'maxLength': 18, 'minLength': 18, 'description': 'Case-sensitive version identifier with 10 safe-alphabet characters after the prefix.'}, 'links': {'type': 'object', 'required': ['self', 'world', 'play', 'entry'], 'properties': {'play': {'type': 'string', 'format': 'uri'}, 'self': {'type': 'string', 'format': 'uri'}, 'entry': {'type': 'string', 'format': 'uri'}, 'world': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'notes': {'type': ['string', 'null']}, 'worldId': {'type': 'string', 'pattern': '^world_[6789BCDFGHJKLMNPQRTWbcdfghjkmnpqrtwz]{10}$', 'maxLength': 16, 'minLength': 16, 'description': 'Case-sensitive world identifier with 10 safe-alphabet characters after the prefix.'}, 'controls': {'anyOf': [{'type': 'object', 'propertyNames': {'type': 'string', 'pattern': '^(Key[A-Z]|Digit[0-9]|ArrowUp|ArrowDown|ArrowLeft|ArrowRight|Space|ShiftLeft|ShiftRight|Mouse)$'}, 'additionalProperties': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, {'type': 'null'}], 'default': None}, 'createdAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$'}, 'sdkVersion': {'type': 'number', 'const': 1}, 'packagePath': {'type': 'string'}, 'bytesUnpacked': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'versionNumber': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'status': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', 'required': ['worldId'], 'properties': {'worldId': {'type': 'string', 'pattern': '^world_[6789BCDFGHJKLMNPQRTWbcdfghjkmnpqrtwz]{10}$', 'maxLength': 16, 'minLength': 16, 'description': 'Case-sensitive world identifier with 10 safe-alphabet characters after the prefix.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'data'], 'properties': {'data': {'type': 'object', 'required': ['id', 'title', 'tagline', 'description', 'thumbnailKey', 'status', 'currentVersionId', 'publishedAt', 'playsTotal', 'likesTotal', 'dislikesTotal', 'bytesUnpacked', 'tags', 'creator', 'links'], 'properties': {'id': {'type': 'string', 'pattern': '^world_[6789BCDFGHJKLMNPQRTWbcdfghjkmnpqrtwz]{10}$', 'maxLength': 16, 'minLength': 16, 'description': 'Case-sensitive world identifier with 10 safe-alphabet characters after the prefix.'}, 'tags': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$', 'maxLength': 32, 'minLength': 1}}, 'links': {'type': 'object', 'required': ['self', 'details', 'play', 'thumbnail'], 'properties': {'play': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'self': {'type': 'string', 'format': 'uri'}, 'details': {'type': 'string', 'format': 'uri'}, 'thumbnail': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'title': {'type': 'string'}, 'status': {'enum': ['published', 'offline', 'removed'], 'type': 'string'}, 'creator': {'type': 'object', 'required': ['id', 'handle', 'displayName', 'bio', 'avatarKey', 'links'], 'properties': {'id': {'type': 'string', 'pattern': '^user_[6789BCDFGHJKLMNPQRTWbcdfghjkmnpqrtwz]{10}$', 'maxLength': 15, 'minLength': 15, 'description': 'Case-sensitive user identifier with 10 safe-alphabet characters after the prefix.'}, 'bio': {'type': 'string'}, 'links': {'type': 'object', 'required': ['self', 'profile', 'avatar'], 'properties': {'self': {'type': 'string', 'format': 'uri'}, 'avatar': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'profile': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'handle': {'type': 'string', 'pattern': '^[a-z0-9](?:[a-z0-9-]*[a-z0-9])$', 'maxLength': 30, 'minLength': 3}, 'avatarKey': {'type': ['string', 'null']}, 'displayName': {'type': 'string'}}, 'additionalProperties': False}, 'tagline': {'type': 'string'}, 'likesTotal': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'playsTotal': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'visibility': {'enum': ['public', 'unlisted'], 'type': 'string'}, 'description': {'type': 'string'}, 'publishedAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$'}, {'type': 'null'}]}, 'thumbnailKey': {'type': ['string', 'null']}, 'bytesUnpacked': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}]}, 'dislikesTotal': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'currentVersionId': {'anyOf': [{'type': 'string', 'pattern': '^version_[6789BCDFGHJKLMNPQRTWbcdfghjkmnpqrtwz]{10}$', 'maxLength': 18, 'minLength': 18, 'description': 'Case-sensitive version identifier with 10 safe-alphabet characters after the prefix.'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'status': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', 'required': ['worldId'], 'properties': {'limit': {'type': 'integer', 'default': 24, 'maximum': 60, 'minimum': 1}, 'cursor': {'type': 'string', 'maxLength': 1024}, 'worldId': {'type': 'string', 'pattern': '^world_[6789BCDFGHJKLMNPQRTWbcdfghjkmnpqrtwz]{10}$', 'maxLength': 16, 'minLength': 16, 'description': 'Case-sensitive world identifier with 10 safe-alphabet characters after the prefix.'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', 'required': ['guide'], 'properties': {'guide': {'enum': ['agents', 'worlds', 'api', 'workflows', 'mcp', 'terms', 'privacy', 'discovery', 'openapi'], 'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'q': {'type': 'string', 'default': '', 'maxLength': 200}, 'tag': {'type': 'string', 'pattern': '^\\s*#?[A-Za-z0-9][A-Za-z0-9_-]{0,31}\\s*$', 'description': 'One to 32 tag characters; optional leading #, surrounding whitespace, and uppercase letters are normalized.'}, 'days': {'enum': [1, 7, 30, 'all'], 'type': ['integer', 'string'], 'default': 7}, 'sort': {'enum': ['newest', 'liked', 'trending'], 'type': 'string', 'default': 'newest'}, 'limit': {'type': 'integer', 'default': 24, 'maximum': 60, 'minimum': 1}, 'cursor': {'type': 'string', 'maxLength': 1024}, 'creator': {'type': 'string', 'pattern': '^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])$', 'maxLength': 30, 'minLength': 3, 'description': 'An existing creator handle; lookup ignores case.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'data'], 'properties': {'data': {'type': 'object', 'required': ['items', 'nextCursor'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'tagline', 'description', 'tags', 'currentVersionId', 'publishedAt', 'playsTotal', 'likesTotal', 'dislikesTotal', 'links', 'creator'], 'properties': {'id': {'type': 'string', 'pattern': '^world_[6789BCDFGHJKLMNPQRTWbcdfghjkmnpqrtwz]{10}$', 'maxLength': 16, 'minLength': 16, 'description': 'Case-sensitive world identifier with 10 safe-alphabet characters after the prefix.'}, 'tags': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$', 'maxLength': 32, 'minLength': 1}}, 'links': {'type': 'object', 'required': ['self', 'details', 'play', 'thumbnail'], 'properties': {'play': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'self': {'type': 'string', 'format': 'uri'}, 'details': {'type': 'string', 'format': 'uri'}, 'thumbnail': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'title': {'type': 'string'}, 'creator': {'type': 'object', 'required': ['handle', 'displayName', 'links'], 'properties': {'links': {'type': 'object', 'required': ['profile'], 'properties': {'profile': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'handle': {'type': 'string', 'pattern': '^[a-z0-9](?:[a-z0-9-]*[a-z0-9])$', 'maxLength': 30, 'minLength': 3}, 'displayName': {'type': 'string'}}, 'additionalProperties': False}, 'tagline': {'type': 'string'}, 'likesTotal': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'playsTotal': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'description': {'type': 'string'}, 'publishedAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$'}, {'type': 'null'}]}, 'dislikesTotal': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'currentVersionId': {'anyOf': [{'type': 'string', 'pattern': '^version_[6789BCDFGHJKLMNPQRTWbcdfghjkmnpqrtwz]{10}$', 'maxLength': 18, 'minLength': 18, 'description': 'Case-sensitive version identifier with 10 safe-alphabet characters after the prefix.'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'nextCursor': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'status': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}
Modifications récentes des outils
Serveurs MCP similaires
GripForge
Generates, rigs, animates, analyzes, and packages game characters, weapons, armor, effects, environments, and engine-ready assets.
spriteship
Generates and manages 2D game characters, assets, animations, tilesets, UI packs, maps, and engine-ready exports for multiple gam…
Ludo AI Game Assets
Generates game assets including sprites, 3D models, animations, sound effects, music, and voice content.
Retro Diffusion Pixel Art
Generates pixel-art sprites, animations, and tilesets.
3DAssets.dev
Searches and delivers free CC0 GLB models and game asset packs, with licensing details, CDN links, scene layouts, and loader usag…
AXIS Avatar Foundry
Generates, repairs, rigs, validates, retargets, compares, and exports production-ready 3D avatars and meshes for game platforms.
Polyfork low-poly 3D assets
Searches, previews and composes low-poly 3D assets and kits for three.js and game engines, including terrain, variants, scene pre…
Spritesheet Forge
Converts, trims, splits, assembles, and animates PNG, GIF, and spritesheet assets for game development.