# Tool reference (/docs/api/mcp-server/tool-reference)



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`](/docs/api/mcp-server/authentication#read-only-mode)) · **async** = returns a `202` [job envelope](/docs/api/mcp-server/how-it-works#async-jobs) you poll to completion.

<Callout type="info">
  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.
</Callout>

## Core (8) [#core-8]

| Tool                 | Type | Endpoint                                                                       |
| -------------------- | ---- | ------------------------------------------------------------------------------ |
| `whoami`             | R    | [GET /v1/whoami](/docs/api/reference/organizations/whoami)                     |
| `list_projects`      | R    | [GET /v1/projects](/docs/api/reference/projects/list-projects)                 |
| `get_project`        | R    | [GET /v1/projects/:projectId](/docs/api/reference/projects/get-project)        |
| `get_credits`        | R    | [GET /v1/credits](/docs/api/reference/credits/get-credits)                     |
| `list_credit_events` | R    | [GET /v1/credits/events](/docs/api/reference/credits/list-events)              |
| `create_project`     | W    | [POST /v1/projects](/docs/api/reference/projects/create-project)               |
| `update_project`     | W    | [PATCH /v1/projects/:projectId](/docs/api/reference/projects/patch-project)    |
| `archive_project`    | W    | [DELETE /v1/projects/:projectId](/docs/api/reference/projects/archive-project) |

## Creative (26) [#creative-26]

| Tool                           | Type      | Endpoint                                                                                                         |
| ------------------------------ | --------- | ---------------------------------------------------------------------------------------------------------------- |
| `list_influencers`             | R         | [GET /v1/projects/:projectId/influencers](/docs/api/reference/influencers/list-influencers)                      |
| `get_influencer`               | R         | [GET /v1/influencers/:influencerId](/docs/api/reference/influencers/get-influencer)                              |
| `get_keywords`                 | R         | [GET /v1/projects/:projectId/keywords](/docs/api/reference/keywords/list-keywords)                               |
| `list_content`                 | R         | [GET /v1/projects/:projectId/content](/docs/api/reference/content/list-containers)                               |
| `get_content`                  | R         | [GET /v1/content/:containerId](/docs/api/reference/content/get-container)                                        |
| `get_content_progress`         | R         | [GET /v1/content/:containerId/progress](/docs/api/reference/content/get-progress)                                |
| `get_content_asset`            | R         | [GET /v1/content/:containerId/assets/:assetId](/docs/api/reference/content/get-asset)                            |
| `get_hooks`                    | R         | [GET /v1/projects/:projectId/content/hooks](/docs/api/reference/content/list-hooks)                              |
| `get_source_recommendations`   | R         | [GET /v1/projects/:projectId/content/source-recommendations](/docs/api/reference/content/source-recommendations) |
| `get_content_review_policy`    | R         | [GET /v1/projects/:projectId/content-review-policy](/docs/api/reference/approval/policy)                         |
| `create_influencer`            | W · async | [POST /v1/projects/:projectId/influencers](/docs/api/reference/influencers/create-influencer)                    |
| `clone_influencer`             | W · async | [POST /v1/influencers/:influencerId/clone](/docs/api/reference/influencers/clone-influencer)                     |
| `update_influencer`            | W         | [PATCH /v1/influencers/:influencerId](/docs/api/reference/influencers/patch-influencer)                          |
| `delete_influencer`            | W         | [DELETE /v1/influencers/:influencerId](/docs/api/reference/influencers/delete-influencer)                        |
| `refresh_keywords`             | W · async | [POST /v1/projects/:projectId/keywords/refresh](/docs/api/reference/keywords/refresh-keywords)                   |
| `generate_slideshow`           | W · async | [POST /v1/projects/:projectId/content/slideshow-builder](/docs/api/reference/content/slideshow-builder)          |
| `generate_ugc_remix`           | W · async | [POST /v1/projects/:projectId/content/ugc-remix](/docs/api/reference/content/ugc-remix)                          |
| `generate_video_remix`         | W · async | [POST /v1/projects/:projectId/content/video-remix](/docs/api/reference/content/video-remix)                      |
| `generate_slideshow_remix`     | W · async | [POST /v1/projects/:projectId/content/slideshow-remix](/docs/api/reference/content/slideshow-remix)              |
| `create_content_upload`        | W         | [POST /v1/projects/:projectId/content/uploads](/docs/api/reference/content/create-upload-session)                |
| `upload_content_from_url`      | W         | [POST /v1/projects/:projectId/content/upload](/docs/api/reference/content/upload-content)                        |
| `finalize_content_upload`      | W         | [POST /v1/content/:containerId/finalize-upload](/docs/api/reference/content/finalize-upload)                     |
| `update_content_caption`       | W         | [PATCH /v1/content/:containerId](/docs/api/reference/content/patch-container)                                    |
| `approve_content`              | W         | [POST /v1/content/:containerId/approve](/docs/api/reference/approval/approve-content)                            |
| `reject_content`               | W         | [POST /v1/content/:containerId/reject](/docs/api/reference/approval/reject-content)                              |
| `update_content_review_policy` | W         | [PATCH /v1/projects/:projectId/content-review-policy](/docs/api/reference/approval/policy)                       |

<Callout type="info">
  **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](/docs/api/guides/upload-finished-content).
</Callout>

## Distribution (11) [#distribution-11]

| Tool                       | Type | Endpoint                                                                                                |
| -------------------------- | ---- | ------------------------------------------------------------------------------------------------------- |
| `list_social_accounts`     | R    | [GET /v1/projects/:projectId/social-accounts](/docs/api/reference/social-accounts/list-social-accounts) |
| `get_scheduled_post`       | R    | [GET /v1/scheduled-posts/:scheduledPostId](/docs/api/reference/publishing/get-post)                     |
| `list_scheduled_posts`     | R    | [GET /v1/projects/:projectId/scheduled-posts](/docs/api/reference/publishing/list-posts)                |
| `list_tiktok_music`        | R    | [GET /v1/tiktok-music](/docs/api/reference/publishing/list-tiktok-music)                                |
| `get_engagement_config`    | R    | [GET /v1/projects/:projectId/engagement](/docs/api/reference/engagement/get-engagement)                 |
| `publish_content`          | W    | [POST /v1/content/:containerId/publish](/docs/api/reference/publishing/publish-content)                 |
| `schedule_content`         | W    | [POST /v1/content/:containerId/schedule](/docs/api/reference/publishing/schedule-content)               |
| `reschedule_post`          | W    | [POST /v1/scheduled-posts/:scheduledPostId/reschedule](/docs/api/reference/publishing/reschedule-post)  |
| `cancel_scheduled_post`    | W    | [DELETE /v1/scheduled-posts/:scheduledPostId](/docs/api/reference/publishing/cancel-post)               |
| `notify_device`            | W    | [POST /v1/content/:containerId/notify-device](/docs/api/reference/publishing/notify-device)             |
| `update_engagement_config` | W    | [PATCH /v1/projects/:projectId/engagement](/docs/api/reference/engagement/patch-engagement)             |

## Measurement (6) [#measurement-6]

| Tool                    | Type | Endpoint                                                                                                                     |
| ----------------------- | ---- | ---------------------------------------------------------------------------------------------------------------------------- |
| `get_metrics`           | R    | [GET /v1/projects/:projectId/metrics](/docs/api/reference/metrics/unified-metrics)                                           |
| `get_top_performers`    | R    | [GET /v1/projects/:projectId/top-performers](/docs/api/reference/metrics/top-performers)                                     |
| `list_ads_content`      | R    | [GET /v1/projects/:projectId/ads-content](/docs/api/reference/metrics/ads-content)                                           |
| `list_recommendations`  | R    | [GET /v1/projects/:projectId/recommendations](/docs/api/reference/recommendations/list-recommendations)                      |
| `update_ads_content`    | W    | [PATCH /v1/projects/:projectId/ads-content/:adsContentId](/docs/api/reference/metrics/patch-ads-content)                     |
| `update_recommendation` | W    | [PATCH /v1/projects/:projectId/recommendations/:recommendationId](/docs/api/reference/recommendations/update-recommendation) |

## Framework (1) [#framework-1]

| Tool             | Type | Endpoint                                                |
| ---------------- | ---- | ------------------------------------------------------- |
| `list_audit_log` | R    | [GET /v1/audit-log](/docs/api/reference/audit-log/list) |
