Portal

Use Portals to create custom branded MCP server marketplaces for your organization.

Portal object

Attributes

object

String

id

String

status

Enum

name

String

slug

String

description

StringNullable

allow_consumer_skill_authoring

Boolean

allow_consumer_skill_publishing

Boolean

skill_configuration

Object

auth

Object

urls

Object

created_at

Date

updated_at

Date
{
"object": "portal",
"status": "active",
"skill_configuration": {
"object": "portal.skill_configuration"
},
"auth": {
"object": "portal.auth",
"allowed_redirect_url_filters": [
{},
{}
]
},
"urls": [
{
"type": "default"
},
{
"type": "default"
}
]
}

List portals

Returns a paginated list of portals.

Query Parameters

limit

NumberOptional

after

StringOptional

before

StringOptional

cursor

StringOptional

order

EnumOptional

search

StringOptional

Search by name or description

GEThttp://api.metorial.com/portals
curl -X GET "https://api.metorial.com/portals" \
-H "Authorization: Bearer metorial_sk_..."

Get portal

Retrieves details for a specific portal.

URL Parameters

portal_id

String

The unique identifier for the portal

GEThttp://api.metorial.com/portals/:portal_id
curl -X GET "https://api.metorial.com/portals/por_Rm4Mnheq2bfEPhBhP7SY" \
-H "Authorization: Bearer metorial_sk_..."

Create portal

Creates a new portal for the instance.

Request Body

name

String

description

StringOptional

allowed_redirect_url_filters

ObjectOptional

session_expiry_time_in_seconds

NumberOptional

allow_consumer_skill_authoring

BooleanOptional

allow_consumer_skill_publishing

BooleanOptional
POSThttp://api.metorial.com/portals
curl -X POST "https://api.metorial.com/portals" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer metorial_sk_..." \
-d '{
"name": "example_name",
"description": "example_description",
"allowed_redirect_url_filters": {
"url": "example_url"
},
"session_expiry_time_in_seconds": 0,
"allow_consumer_skill_authoring": false,
"allow_consumer_skill_publishing": false
}'

Update portal

Updates an existing portal for the instance.

URL Parameters

portal_id

String

The unique identifier for the portal

Request Body

name

StringOptional

description

StringOptional

allowed_redirect_url_filters

ObjectOptional

session_expiry_time_in_seconds

NumberOptional

allow_consumer_skill_authoring

BooleanOptional

allow_consumer_skill_publishing

BooleanOptional

skill_configuration

ObjectOptional
PATCHhttp://api.metorial.com/portals/:portal_id
curl -X PATCH "https://api.metorial.com/portals/por_Rm4Mnheq2bfEPhBhP7SY" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer metorial_sk_..." \
-d '{
"name": "example_name",
"description": "example_description",
"allowed_redirect_url_filters": {
"url": "example_url"
},
"session_expiry_time_in_seconds": 0,
"allow_consumer_skill_authoring": false,
"allow_consumer_skill_publishing": false,
"skill_configuration": {
"allow_scripts": false,
"allowed_file_extensions": [
"example_item"
],
"allow_non_standard_directories": false
}
}'

Delete portal

Archives a portal.

URL Parameters

portal_id

String

The unique identifier for the portal

DELETEhttp://api.metorial.com/portals/:portal_id
curl -X DELETE "https://api.metorial.com/portals/por_Rm4Mnheq2bfEPhBhP7SY" \
-H "Authorization: Bearer metorial_sk_..."