Skip to main content
The Embeddables MCP server exposes hosting reads and writes at https://mcp.embeddables.com/mcp. Every hosting tool checks project membership and uses the same services as /hosting/v1. Reads require project.read; writes require project.write.

Reads

string
required
Project UUID.
object
{ slug, enrolled, app_count }.
Fails when the project is missing or the caller lacks project.read.
string
required
Project UUID.
HostingApp[]
Registered apps.
Fails when the caller lacks project.read.
string
required
Project UUID.
HostingDeployKey[]
Id, prefix, creation, revocation, and last-used timestamps; never the secret or hash.
Fails when the caller lacks project.read.
string
required
Project UUID.
string
required
Hosting app UUID.
HostingDomain[]
Domains and their status.
Fails when an id is invalid or the caller lacks project.read.
string
required
Project UUID.
string
required
Hosting app UUID.
object
{ production_label, script_name, updated_at }.
Fails when production does not exist or the caller lacks project.read.
string
required
Project UUID.
string
required
Hosting app UUID.
number
1–100.
HostingPromotion[]
Promotions, newest first.
Fails for invalid input or missing project.read.
string
required
Project UUID.
string
required
Hosting app UUID.
number
1–100; defaults to 20.
HostingDeploy[]
Commit builds, newest first.
HostingPreview & { script_name: string } | null
What production serves now.
Fails for invalid input or missing project.read.
string
required
Project UUID.
string
required
Git branch name.
HostingPreview[]
Preview URLs across the project’s apps.
Fails for an empty branch or missing project.read.

Writes

string
required
Project UUID.
string
required
A 3–16 character hosting slug.
object
{ slug, enrolled, app_count }.
Fails for an invalid, locked, or already-taken slug, a missing project, or missing project.write.
string
required
Project UUID.
string
required
A unique 3–12 character app slug.
string | null
Optional repository path.
string
Defaults to main.
HostingApp
Created app.
Fails for invalid input, an unenrolled project, a duplicate slug, or missing project.write.
string
required
Project UUID.
string
required
Hosting app UUID.
string | null
New repository path.
string
New production branch.
true
Required only when production_branch differs from its current value.
HostingApp
Updated app.
Fails for invalid input, a missing app, an unconfirmed branch change, or missing project.write.
string
required
Project UUID.
string
required
Hosting app UUID.
true
required
Confirms the deletion.
true
Confirms deletion.
Fails without confirmation, when the app is missing, or when the caller lacks project.write.
string
required
Project UUID.
string
required
Hosting app UUID.
string
required
Full hostname, without a scheme or path.
HostingDomain
Created domain in pending status.
Fails for an invalid or duplicate hostname, a missing app, or missing project.write.
string
required
Project UUID.
string
required
Hosting app UUID.
string
required
Hosting-domain UUID.
true
required
Confirms removal.
true
Confirms removal.
Fails without confirmation, when the domain is missing, or when the caller lacks project.write.
string
required
Project UUID.
string
required
Hosting app UUID.
string
required
Branch or immutable commit preview label.
true
required
Confirms the production change.
object
{ production_label, script_name }.
Fails without confirmation, when the app or preview is missing, or without project.write.
string
required
Project UUID.
object
{ id, prefix, secret, created_at }.
Fails when the caller lacks project.write.
string
required
Project UUID.
string
required
Deploy-key UUID.
true
required
Confirms revocation.
true
Confirms revocation.
Fails without confirmation, when the key is missing, or when the caller lacks project.write.
hosting_create_deploy_key returns the plaintext edk_… secret once. Move it directly into the CI secret store and do not repeat it in chat. Listing deploy keys never returns a secret or hash.

Domain activation

After you add a domain, follow the dashboard’s DNS instructions. Embeddables activates it after verification.

Promotion behavior

hosting_promote_preview accepts a preview label, including an older immutable commit label for rollback. Promotion changes the production embd.co hostname and every active custom domain for the app, so it always requires confirm: true. Deploys from an app’s configured production branch promote automatically and do not use MCP.