Custom Providers
Custom providers allow you to deploy your own MCP servers. Create providers from container images, remote URLs, or serverless functions.
Custom Providers object
Attributes
object
StringString representing the object's type
id
StringUnique custom provider identifier
status
EnumCurrent status of the custom provider
type
EnumType of the custom provider
name
StringDisplay name of the custom provider
description
StringNullableBrief description of the custom provider
metadata
ObjectNullableCustom key-value pairs for storing additional information
draft
Objectscm_repo
ObjectNullableprovider
ObjectNullablecreated_at
DateTimestamp when created
updated_at
DateTimestamp when last updated
{"object": "custom_provider","id": "cpr_1aBcDeFgHjKlMnPq","status": "active","type": "function","name": "My Custom Provider","description": "A custom provider for my application","metadata": {},"draft": {"object": "custom_provider.draft#function","container_image": {"object": "custom_provider.draft.container","container_registry": "https://index.docker.io/v1/","container_image_tag": "v1.0.0","container_image": "my-app-image"},"remote_mcp_server": {"object": "custom_provider.draft.remote","url": "https://mcp.example.com","transport": "sse"},"config": {"object": "custom_provider.draft.config","schema": {"type": "json_schema","schema": {}}}},"scm_repo": {"object": "scm.repository","provider": {"object": "scm.provider","type": "github"}},"provider": {"object": "provider","id": "pro_5gHjKlMnPqRsTuVw","access": "public","status": "active","publisher": {"object": "provider.publisher","id": "pub_9hJkLmNpQrStUvWx","name": "Acme Corp","description": "A leading provider of developer tools","image_url": "https://cdn.metorial.com/images/acme.png","created_at": "2025-09-15T10:30:00.000Z","updated_at": "2026-01-10T14:45:00.000Z"},"current_version": {"object": "provider.version","id": "prv_4dEfGhJkLmNpQrSt","version": "1.0.0","provider_id": "pro_5gHjKlMnPqRsTuVw","name": "Version 1.0.0","metadata": {},"specification_id": "psp_9gHjKlMnPqRsTuVw","created_at": "2025-09-15T10:30:00.000Z","updated_at": "2026-01-10T14:45:00.000Z"},"oauth": {"status": "enabled","auto_registration": {"status": "supported"}},"metadata": {},"created_at": "2025-09-15T10:30:00.000Z","updated_at": "2026-01-10T14:45:00.000Z"},"created_at": "2025-09-15T10:30:00.000Z","updated_at": "2026-01-10T14:45:00.000Z"}
List custom providers
Returns a paginated list of custom providers.
Query Parameters
limit
NumberOptionalafter
StringOptionalbefore
StringOptionalcursor
StringOptionalorder
EnumOptionalstatus
UnionOptionalFilter by status (active, archived)
type
UnionOptionalFilter by type (container, function, remote)
id
UnionOptionalFilter by custom provider IDs
provider_id
UnionOptionalFilter by provider IDs (matches providers connected to sessions)
search
StringOptionalSearch by name or description
created_at
ObjectOptionalFilter custom provider creation time by date range
updated_at
ObjectOptionalFilter custom provider last update time by date range
curl -X GET "https://api.metorial.com/custom-providers" \-H "Authorization: Bearer metorial_sk_..."
Get custom provider
Retrieves a specific custom provider by ID.
URL Parameters
custom_provider_id
StringThe unique identifier for the custom_provider
curl -X GET "https://api.metorial.com/custom-providers/cus_Rm4Mnheq2bfEPhBhP7SY" \-H "Authorization: Bearer metorial_sk_..."
Create custom provider
Creates a new custom provider.
Request Body
name
Stringdescription
StringOptionalmetadata
ObjectOptionalCustom key-value pairs for storing additional information
from
Objectconfig
ObjectOptionalcurl -X POST "https://api.metorial.com/custom-providers" \-H "Content-Type: application/json" \-H "Authorization: Bearer metorial_sk_..." \-d '{"name": "example_name","description": "example_description","metadata": {},"from": {"type": "example_type","image_ref": "example_image_ref","username": "example_username","password": "example_password"},"config": {"schema": {},"transformer": "example_transformer"}}'
Update custom provider
Updates a specific custom provider.
URL Parameters
custom_provider_id
StringThe unique identifier for the custom_provider
Request Body
name
StringOptionaldescription
StringOptionalmetadata
ObjectOptionalCustom key-value pairs for storing additional information
readme
StringOptionalREADME content in markdown format
curl -X PATCH "https://api.metorial.com/custom-providers/cus_Rm4Mnheq2bfEPhBhP7SY" \-H "Content-Type: application/json" \-H "Authorization: Bearer metorial_sk_..." \-d '{"name": "example_name","description": "example_description","metadata": {},"readme": "example_readme"}'