Tool reference
All 52 Layers MCP tools — 25 read, 27 write — grouped by domain, each mapped one-to-one to its Partner API endpoint reference page.
The server exposes 52 tools across the documented route groups. Each maps to exactly one /v1 endpoint — follow the Endpoint link for the authoritative request and response schema. The MCP server doesn't change those shapes; it calls them.
Type — R = read-only · W = mutating (hidden under --read-only) · async = returns a 202 job envelope you poll to completion.
Path params (:projectId, :containerId, …) match the API reference exactly.
For what each tool accepts and returns, read its linked endpoint page rather
than relying on the tool name.
Core (8)
| Tool | Type | Endpoint |
|---|---|---|
whoami | R | GET /v1/whoami |
list_projects | R | GET /v1/projects |
get_project | R | GET /v1/projects/:projectId |
get_credits | R | GET /v1/credits |
list_credit_events | R | GET /v1/credits/events |
create_project | W | POST /v1/projects |
update_project | W | PATCH /v1/projects/:projectId |
archive_project | W | DELETE /v1/projects/:projectId |
Creative (26)
Uploading finished media is a 3-step transport. create_content_upload
returns presigned PUT URLs; your client uploads the bytes directly to storage
out of band; then finalize_content_upload completes the item. For media that's
already hosted at a public URL, upload_content_from_url is the one-call path.
See Upload finished content.
Distribution (11)
| Tool | Type | Endpoint |
|---|---|---|
list_social_accounts | R | GET /v1/projects/:projectId/social-accounts |
get_scheduled_post | R | GET /v1/scheduled-posts/:scheduledPostId |
list_scheduled_posts | R | GET /v1/projects/:projectId/scheduled-posts |
list_tiktok_music | R | GET /v1/tiktok-music |
get_engagement_config | R | GET /v1/projects/:projectId/engagement |
publish_content | W | POST /v1/content/:containerId/publish |
schedule_content | W | POST /v1/content/:containerId/schedule |
reschedule_post | W | POST /v1/scheduled-posts/:scheduledPostId/reschedule |
cancel_scheduled_post | W | DELETE /v1/scheduled-posts/:scheduledPostId |
notify_device | W | POST /v1/content/:containerId/notify-device |
update_engagement_config | W | PATCH /v1/projects/:projectId/engagement |
Measurement (6)
| Tool | Type | Endpoint |
|---|---|---|
get_metrics | R | GET /v1/projects/:projectId/metrics |
get_top_performers | R | GET /v1/projects/:projectId/top-performers |
list_ads_content | R | GET /v1/projects/:projectId/ads-content |
list_recommendations | R | GET /v1/projects/:projectId/recommendations |
update_ads_content | W | PATCH /v1/projects/:projectId/ads-content/:adsContentId |
update_recommendation | W | PATCH /v1/projects/:projectId/recommendations/:recommendationId |
Framework (1)
| Tool | Type | Endpoint |
|---|---|---|
list_audit_log | R | GET /v1/audit-log |
How it works
Transport, server instructions, tool annotations, async jobs, pagination, idempotency, errors, and timestamps — the conventions every Layers MCP tool follows.
Organizations
Your org is the top-level account. Run customers as flat projects, or give each one an isolated sub-organization with the parent as the control plane.