Portamora
Qué hace este MCP
Allows users to discover published atmospheric 3D worlds, inspect world metadata and guides, and obtain starter materials for building environments.
Herramientas
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'type': 'object', 'required': ['guide'], 'properties': {'guide': {'enum': ['agents', 'worlds', 'api', 'workflows', 'mcp', 'terms', 'privacy', 'discovery', 'openapi'], 'type': 'string'}}, 'additionalProperties': False}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Cambios recientes en herramientas
Servidores MCP similares
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.