Portamora
REMOTE · PORTAMORA.APP · SCANNED OCT 2
Discover atmospheric 3D worlds, read controls, and build and publish authorized environments.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security97
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability0
- Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http. See how to fix → View diagnostics → Unverified
Schema Quality & AI Usability0
- Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Tool Safety0
- Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
- Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified
Unverified: 6 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm. Claim this server and supply a read-only token to verify it and lift the score.
How do I install the Portamora MCP server?
Portamora is a hosted endpoint at https://portamora.app/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · portamora.app
claude mcp add --transport http app-portamora-mcp 'https://portamora.app/mcp'
{
"mcpServers": {
"app-portamora-mcp": {
"url": "https://portamora.app/mcp"
}
}
} {
"servers": {
"app-portamora-mcp": {
"type": "http",
"url": "https://portamora.app/mcp"
}
}
} [mcp_servers.app-portamora-mcp] url = "https://portamora.app/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"app-portamora-mcp": {
"type": "remote",
"url": "https://portamora.app/mcp",
"enabled": true
}
}
} openclaw mcp add app-portamora-mcp --url 'https://portamora.app/mcp' --transport streamable-http
mcp_servers:
app-portamora-mcp:
url: "https://portamora.app/mcp" {
"McpServers": {
"app-portamora-mcp": {
"Transport": "http",
"Url": "https://portamora.app/mcp"
}
}
} assistant mcp add app-portamora-mcp -t streamable-http -u 'https://portamora.app/mcp'
{
"mcpServers": {
"app-portamora-mcp": {
"type": "http",
"url": "https://portamora.app/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Sept 26 −29
- Endpoint reachability: reachable → behind authorisation ▼ security
- Stability: fail → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Transport: pass → unverified ▼ security
- Authorization: unverified → pass ▲ security
- First check of Authorization: partial security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 24 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- 15 Sept 26 −2
- Authorization: fail → unverified ▼ security
- Tool “create_comment” was removed ▼ security
- Tool “create_image_upload” was removed ▼ security
- Tool “create_report” was removed ▼ security
- Tool “create_upload” was removed ▼ security
- Tool “delete_comment” was removed ▼ security
- Tool “delete_feature_flag” was removed ▼ security
- Tool “delete_world” was removed ▼ security
- Tool “dislike_world” was removed ▼ security
- Tool “edit_comment” was removed ▼ security
- Tool “favorite_world” was removed ▼ security
- Tool “find_admin_users” was removed ▼ security
- Tool “follow_creator” was removed ▼ security
- Tool “get_moderation_evidence” was removed ▼ security
- Tool “get_moderation_report” was removed ▼ security
- Tool “get_my_profile” was removed ▼ security
- Tool “get_my_version” was removed ▼ security
- Tool “get_my_world” was removed ▼ security
- Tool “get_upload” was removed ▼ security
- Tool “identify_agent” was removed ▼ security
- Tool “like_world” was removed ▼ security
- Tool “list_admin_audit” was removed ▼ security
- Tool “list_favorites” was removed ▼ security
- Tool “list_feature_flags” was removed ▼ security
- Tool “list_followed_creators” was removed ▼ security
- Tool “list_following_worlds” was removed ▼ security
- Tool “list_moderation_reports” was removed ▼ security
- Tool “list_my_versions” was removed ▼ security
- Tool “list_my_worlds” was removed ▼ security
- Tool “list_notices” was removed ▼ security
- Tool “mark_notice_read” was removed ▼ security
- Tool “moderate_report” was removed ▼ security
- Tool “preview_version” was removed ▼ security
- Tool “publish_world” was removed ▼ security
- Tool “refresh_upload” was removed ▼ security
- Tool “remove_dislike” was removed ▼ security
- Tool “remove_favorite” was removed ▼ security
- Tool “remove_like” was removed ▼ security
- Tool “save_feature_flag” was removed ▼ security
- Tool “take_world_offline” was removed ▼ security
- Tool “unfollow_creator” was removed ▼ security
- Tool “update_world” was removed ▼ security
- Tool “search_worlds” rewrote its description, which is the text the model reads security
- Schema quality: 3110 → 837 ▲ functional
- Tool “get_creator” now declares an output schema ▲ functional
- Tool “get_version” now declares an output schema ▲ functional
- Tool “get_world” now declares an output schema ▲ functional
- Tool “search_worlds” now declares an output schema ▲ functional
- First check of Tool coverage: 50 functional
- Destructive annotations: 100 → pass functional
- New resource “agents” functional
- Server version: 0.1.0 → 0.2.0 functional
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 9 to 12.
- 12 Sept 26 +1
- Stability: 0.03 → fail ▼ security
- A breaking change shipped without a version bump: still 0.1.0 ▼ security
- Tool “create_comment” rewrote its description, which is the text the model reads security
- Tool “create_image_upload” rewrote its description, which is the text the model reads security
- Tool “create_report” rewrote its description, which is the text the model reads security
- Tool “create_upload” rewrote its description, which is the text the model reads security
- Tool “delete_comment” rewrote its description, which is the text the model reads security
- Tool “dislike_world” rewrote its description, which is the text the model reads security
- Tool “edit_comment” rewrote its description, which is the text the model reads security
- Tool “favorite_world” rewrote its description, which is the text the model reads security
- Tool “follow_creator” rewrote its description, which is the text the model reads security
- Tool “get_community” rewrote its description, which is the text the model reads security
- Tool “like_world” rewrote its description, which is the text the model reads security
- Tool “list_comments” rewrote its description, which is the text the model reads security
- Tool “list_favorites” rewrote its description, which is the text the model reads security
- Tool “list_followed_creators” rewrote its description, which is the text the model reads security
- Tool “list_following_worlds” rewrote its description, which is the text the model reads security
- Tool “moderate_report” rewrote its description, which is the text the model reads security
- Tool “remove_dislike” rewrote its description, which is the text the model reads security
- Tool “remove_favorite” rewrote its description, which is the text the model reads security
- Tool “remove_like” rewrote its description, which is the text the model reads security
- Tool “search_worlds” rewrote its description, which is the text the model reads security
- Tool “unfollow_creator” rewrote its description, which is the text the model reads security
- Tool “create_comment” no longer declares itself destructive security
- Tool “create_image_upload” no longer declares itself destructive security
- Tool “create_upload” no longer declares itself destructive security
- Tool “favorite_world” no longer declares itself destructive security
- Tool “follow_creator” no longer declares itself destructive security
- “search_worlds” changed the type of “days”: number → integer|string ▼ functional
- “get_creator” reworded the description of “handle” cosmetic
- “search_worlds” reworded the description of “creator” cosmetic
- “search_worlds” reworded the description of “tag” cosmetic
- Tool “create_comment” changed its title: Create comment cosmetic
- Tool “create_image_upload” changed its title: Create image upload cosmetic
- Tool “create_report” changed its title: Create report cosmetic
- Tool “create_upload” changed its title: Create upload cosmetic
- Tool “delete_comment” changed its title: Delete comment cosmetic
- Tool “delete_feature_flag” changed its title: Delete feature flag cosmetic
- Tool “delete_world” changed its title: Delete world cosmetic
- Tool “dislike_world” changed its title: Dislike world cosmetic
- Tool “edit_comment” changed its title: Edit comment cosmetic
- Tool “favorite_world” changed its title: Favorite world cosmetic
- Tool “find_admin_users” changed its title: Find admin users cosmetic
- Tool “follow_creator” changed its title: Follow creator cosmetic
- Tool “get_community” changed its title: Get community cosmetic
- Tool “get_creator” changed its title: Get creator cosmetic
- Tool “get_moderation_evidence” changed its title: Get moderation evidence cosmetic
- Tool “get_moderation_report” changed its title: Get moderation report cosmetic
- Tool “get_my_profile” changed its title: Get my profile cosmetic
- Tool “get_my_version” changed its title: Get my version cosmetic
- Tool “get_my_world” changed its title: Get my world cosmetic
- Tool “get_upload” changed its title: Get upload cosmetic
- Tool “get_version” changed its title: Get version cosmetic
- Tool “get_world” changed its title: Get world cosmetic
- Tool “identify_agent” changed its title: Identify agent cosmetic
- Tool “like_world” changed its title: Like world cosmetic
- Tool “list_admin_audit” changed its title: List admin audit cosmetic
- Tool “list_comments” changed its title: List comments cosmetic
- Tool “list_favorites” changed its title: List favorites cosmetic
- Tool “list_feature_flags” changed its title: List feature flags cosmetic
- Tool “list_followed_creators” changed its title: List followed creators cosmetic
- Tool “list_following_worlds” changed its title: List following worlds cosmetic
- Tool “list_moderation_reports” changed its title: List moderation reports cosmetic
- Tool “list_my_versions” changed its title: List my versions cosmetic
- Tool “list_my_worlds” changed its title: List my worlds cosmetic
- Tool “list_notices” changed its title: List notices cosmetic
- Tool “mark_notice_read” changed its title: Mark notice read cosmetic
- Tool “moderate_report” changed its title: Moderate report cosmetic
- Tool “preview_version” changed its title: Preview version cosmetic
- Tool “publish_world” changed its title: Publish world cosmetic
- Tool “refresh_upload” changed its title: Refresh upload cosmetic
- Tool “remove_dislike” changed its title: Remove dislike cosmetic
- Tool “remove_favorite” changed its title: Remove favorite cosmetic
- Tool “remove_like” changed its title: Remove like cosmetic
- Tool “save_feature_flag” changed its title: Save feature flag cosmetic
- Tool “search_worlds” changed its title: Search worlds cosmetic
- Tool “take_world_offline” changed its title: Take world offline cosmetic
- Tool “unfollow_creator” changed its title: Unfollow creator cosmetic
- Tool “update_world” changed its title: Update world cosmetic
- 11 Sept 26 0
- Stability: unverified → 0.03 ▲ functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 2 Oct 2026 · Probed https://portamora.app/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=portamora.app | CN=Amazon RSA 2048 M01,O=Amazon,C=US | 9 Sept 2026 | 25 Mar 2027 | RSA 2048 | SHA256-RSA | ea7db7630ab3d3a53800836937c84c7 |
| SANs: portamora.app | ||||||
| CN=Amazon RSA 2048 M01,O=Amazon,C=US (CA) | CN=Amazon Root CA 1,O=Amazon,C=US | 23 Aug 2022 | 23 Aug 2030 | RSA 2048 | SHA256-RSA | 77312380b9d6688a33b1ed9bf9ccda68e0e0f |
| CN=Amazon Root CA 1,O=Amazon,C=US (CA) | CN=Starfield Services Root Certificate Authority - G2,O=Starfield Technologies\, Inc.,L=Scottsdale,ST=Arizona,C=US | 25 May 2015 | 31 Dec 2037 | RSA 2048 | SHA256-RSA | 67f944a2a27cdf3fac2ae2b01f908eeb9c4c6 |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of portamora.app. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| app. | present | 23684 | 8 | Verified |
| portamora.app. | present | 2371 | 13 | Verified |
| portamora.app. | Verified address RRset verified with the apex keys |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On connection |
| HTTP status | 401 |
WWW-Authenticate challenge Bearer resource_metadata="https://portamora.app/.well-known/oauth-protected-resource/mcp"
Bearer resource_metadata="https://portamora.app/.well-known/oauth-protected-resource/mcp" | Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| x-content-type-options | nosniff |
| referrer-policy | no-referrer |
| permissions-policy | camera=(), microphone=(), geolocation=(), payment=(), usb=(), accelerometer=(), gyroscope=(), magnetometer=(), display-capture=() |
| www-authenticate | Bearer resource_metadata="https://portamora.app/.well-known/oauth-protected-resource/mcp" |
Protected resource metadata
| Document | https://portamora.app/.well-known/oauth-protected-resource/mcp |
|---|---|
| Retrieved | Yes |
| Resource | https://portamora.app/mcp |
| Authorisation server | https://portamora.app |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://portamora.app/mcp | Auth required | 401 | |
| http (plaintext) | http://portamora.app/mcp | HTTPS enforced | 301 | https://portamora.app/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
get_community Get community ~34
Read server-evaluated community and play-counting flags. Personal state is returned by me.get. Lists use cursor pagination.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_creator Get creator ~40
Read an active creator profile. Email addresses, roles and account state are never exposed.
| Name | Type | Req | Description |
|---|---|---|---|
| handle | string | yes | An existing creator handle; lookup ignores case. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | – |
| status | integer | yes | – |
No examples provided.
get_starter ~37
Get the editable starter ZIP and the build guide. Download and build it in your own workspace; the MCP server does not execute world code.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_version Get version ~47
Read the current ready version of a published world. Unpublished versions are not exposed.
| Name | Type | Req | Description |
|---|---|---|---|
| versionId | string | yes | Case-sensitive version identifier with 10 safe-alphabet characters after the prefix. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | – |
| status | integer | yes | – |
No examples provided.
get_world Get world ~49
Read a public world page. Offline and removed worlds retain a notice; drafts are not exposed.
| Name | Type | Req | Description |
|---|---|---|---|
| worldId | string | yes | Case-sensitive world identifier with 10 safe-alphabet characters after the prefix. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | – |
| status | integer | yes | – |
No examples provided.
list_comments List comments ~69
Read plain-text comments, newest first, with deletion placeholders. Viewer controls are private; no-store. Lists use cursor pagination.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | – |
| limit | integer | – | – |
| worldId | string | yes | Case-sensitive world identifier with 10 safe-alphabet characters after the prefix. |
No output schema declared.
No examples provided.
read_guide ~45
Read an official Portamora guide, policy, agent discovery file, or OpenAPI specification. Start with worlds before building and workflows before uploading.
| Name | Type | Req | Description |
|---|---|---|---|
| guide | string | yes | – |
No output schema declared.
No examples provided.
search_worlds Search worlds ~253
Browse and search published worlds. Sort by newest, liked, or trending. The days filter accepts 1, 7 (API default), or 30 UTC calendar days including today, or all for any sort. Newest filters publication date unless days=all or creator is specified. Liked ranks period likes, or lifetime likes when days=all. Trending ranks period activity, or lifetime plays and likes when days=all, with publication-age decay in both cases. Older worlds may appear in activity rankings. The Explore website defaults to liked/all; API defaults remain newest/7. Search text can include exact #tags; custom tags are supported without a fixed vocabulary. Liked and trending require the community flag. Follow nextCursor with unchanged filters until null. Drafts and offline worlds are excluded. Public; no authentication is required.
| Name | Type | Req | Description |
|---|---|---|---|
| creator | string | – | An existing creator handle; lookup ignores case. |
| cursor | string | – | – |
| days | integer|string | – | – |
| limit | integer | – | – |
| q | string | – | – |
| sort | string | – | – |
| tag | string | – | One to 32 tag characters; optional leading #, surrounding whitespace, and uppercase letters are normalized. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | – |
| status | integer | yes | – |
No examples provided.
What is the Portamora MCP server?
Portamora is an MCP server listed in the public MCP registry as app.portamora/mcp. Discover atmospheric 3D worlds, read controls, and build and publish authorized environments. This page covers its hosted endpoint (https://portamora.app/mcp).
Is the Portamora MCP server safe to use?
Portamora scores 39 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Portamora MCP server expose?
Portamora exposes 8 tools: search_worlds, get_world, get_version, get_creator, get_community, and 3 more. Their descriptions and schemas cost roughly 574 tokens of context every time the server is loaded.
Does the Portamora MCP server require authentication?
Yes. Portamora asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the Portamora MCP server still maintained?
Portamora is still listed as active in the MCP registry. We last reached this channel on 2 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.