> ## Documentation Index
> Fetch the complete documentation index at: https://grow-hub.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Tools overview

> Every tool the Studio MCP server exposes, and the shape of its results.

The server registers 16 tools. All of them act on the studio resolved from your
session — no studio or organization id is ever passed in.

| Tool                    | Input                                     | Page                                                  |
| ----------------------- | ----------------------------------------- | ----------------------------------------------------- |
| `list_posts`            | `status?`                                 | [Posts](/tools/posts#list_posts)                      |
| `get_post`              | `id`                                      | [Posts](/tools/posts#get_post)                        |
| `create_draft`          | `content`, `targetPlatforms?`             | [Posts](/tools/posts#create_draft)                    |
| `update_draft`          | `id`, `content?`, `targetPlatforms?`      | [Posts](/tools/posts#update_draft)                    |
| `delete_draft`          | `id`                                      | [Posts](/tools/posts#delete_draft)                    |
| `publish_post`          | `id`, `platform?`                         | [Publishing](/tools/publishing#publish_post)          |
| `schedule_post`         | `id`, `scheduledAt`, `platform?`          | [Publishing](/tools/publishing#schedule_post)         |
| `unschedule_post`       | `id`                                      | [Publishing](/tools/publishing#unschedule_post)       |
| `create_upload_session` | `postId`                                  | [Assets](/tools/assets#create_upload_session)         |
| `request_asset_upload`  | `kind`, `mimeType`, `filename?`           | [Assets](/tools/assets#request_asset_upload)          |
| `upload_asset_inline`   | `kind`, `mimeType`, `base64`, `filename?` | [Assets](/tools/assets#upload_asset_inline)           |
| `attach_asset`          | `postId`, `assetId`                       | [Assets](/tools/assets#attach_asset)                  |
| `detach_asset`          | `postId`, `assetId`                       | [Assets](/tools/assets#detach_asset)                  |
| `list_connections`      | —                                         | [Connections](/tools/connections#list_connections)    |
| `connect_platform`      | `platform`                                | [Connections](/tools/connections#connect_platform)    |
| `disconnect_platform`   | `platform`                                | [Connections](/tools/connections#disconnect_platform) |

## Result shape

Every tool returns a single text content block holding pretty-printed JSON:

```json theme={null}
{
  "id": "6f0c…",
  "content": "Shipping the scheduler this week.",
  "status": "draft",
  "targetPlatforms": ["linkedin"],
  "url": "https://studio.growhub.ai/posts/6f0c…",
  "assets": []
}
```

Failures come back as MCP tool errors (`isError: true`) with a short message
rather than an exception — see [Error reference](/reference/errors).

## Shared values

<ParamField path="platform" type="enum">
  `linkedin` or `x`.
</ParamField>

<ParamField path="status" type="enum">
  `draft`, `scheduled`, `queued`, `posted`, or `failed`.
</ParamField>

<ParamField path="kind" type="enum">
  `image`, `video`, or `document`.
</ParamField>
