> ## Documentation Index
> Fetch the complete documentation index at: https://www.ayrshare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Tool Catalog

> Lists each Ayrshare MCP Server tool by domain, from posts and analytics to webhooks and ads, and notes if it takes a profileKey or runs at account scope.

The Ayrshare [MCP Server](https://www.ayrshare.com/docs/additional/mcp-action-server.md) exposes **33 tools**, grouped below by domain. Each tool is dispatched in-process through the real Ayrshare API chain.

## Scope

Every tool is either **Profile** or **Account** scope:

<ul>
  <li>**Profile** — the tool accepts a `profileKey` argument to target a sub-profile.</li>
  <li>**Account** — the tool takes **no** `profileKey`; it operates at the account level.</li>
</ul>

The six tools that take **no** `profileKey` argument are: `create_profile`, `list_profiles`, `explain_error`, `validate_media`, `generate_post`, and `recommend_hashtags`. All other tools accept a `profileKey`; `generate_jwt_social_linking_url` **requires** one. Note: `recommend_hashtags` takes no `profileKey` argument but still reads the connection's `Profile-Key` header to pick whose linked TikTok account it draws on, so its results are profile-specific.

When both a per-call `profileKey` argument and a `Profile-Key` header are present, the argument wins. See [Connect & Setup](https://www.ayrshare.com/docs/additional/mcp-action-connect.md#precedence-argument-wins-over-header) for the precedence rules.

## Posts

| Tool | Scope | Purpose |
| - | - | - |
| `create_post` | Profile | Publish to one or more linked platforms. |
| `validate_post` | Profile | Dry-run validation, same input as `create_post`. |
| `get_post` | Profile | Fetch a post by Ayrshare Post ID. |
| `update_post` | Profile | Update a scheduled or awaiting-approval post. |
| `retry_post` | Profile | Re-submit a failed post. |

## History

| Tool | Scope | Purpose |
| - | - | - |
| `get_post_history` | Profile | Posts sent via Ayrshare. |
| `get_platform_history` | Profile | Posts and analytics direct from the network, including non-Ayrshare posts. For an X/Twitter `userId`/`userName` lookup, use the account API key only; a `profileKey` argument or `Profile-Key` header there returns Error 400. |

## Analytics

| Tool | Scope | Purpose |
| - | - | - |
| `get_post_analytics` | Profile | Per-post metrics by Ayrshare Post ID. |
| `get_post_analytics_by_social_id` | Profile | Per-post metrics by native Social Post ID. |
| `get_social_network_analytics` | Profile | Account-wide analytics and demographics for a connected social account. For an X/Twitter `userId`/`userName` lookup, use the account API key only; a `profileKey` argument or `Profile-Key` header there returns Error 400. |

## Comments

| Tool | Scope | Purpose |
| - | - | - |
| `get_comments` | Profile | Read comments on a post. |
| `add_comment` | Profile | Top-level comment. |
| `reply_comment` | Profile | Reply to a comment. |

## Messages / DMs

| Tool | Scope | Purpose |
| - | - | - |
| `get_messages` | Profile | Fetch DMs for a platform. |
| `send_message` | Profile | Send a DM. |
| `get_auto_response` | Profile | Read DM auto-response settings. |
| `set_auto_response` | Profile | Configure DM auto-response. |

## Profiles

| Tool | Scope | Purpose |
| - | - | - |
| `list_profiles` | Account | List sub-profiles. |
| `create_profile` | Account | Create a sub-profile. |
| `generate_jwt_social_linking_url` | Profile | Mint a JWT social-linking URL (requires `profileKey`). |

## Media

| Tool | Scope | Purpose |
| - | - | - |
| `validate_media` | Account | HEAD-check a media URL is reachable; returns `contentType`. |

## Generate

| Tool | Scope | Purpose |
| - | - | - |
| `generate_post` | Account | AI-draft post copy. |
| `recommend_hashtags` | Account | Hashtag suggestions from TikTok view-count data. Uses the linked TikTok account on the profile set by the `Profile-Key` header; takes no per-call `profileKey`. |

## Webhooks

| Tool | Scope | Purpose |
| - | - | - |
| `register_webhook` | Profile | Register a webhook. |
| `unregister_webhook` | Profile | Unregister a webhook. |
| `list_webhooks` | Profile | List registered webhooks. |

## Ads

Ads tools need the Ads add-on. Without it they return `Error 403: Ads is not enabled. Please subscribe to Ads in the Account page. (code 399)`. Each tool takes a `platform` argument: `facebook` or `instagram`.

| Tool | Scope | Purpose |
| - | - | - |
| `list_ad_accounts` | Profile | List the ad accounts the linked account can spend from. |
| `search_ad_targeting` | Profile | Search targeting options: `interests`, `regions` or `cities`. |
| `list_ads` | Profile | List boosted ads by campaign, account, ad or post. |
| `update_ad` | Profile | Pause, resume or retire an ad. The status is also set on its ad set and campaign, so other ads in them change too, except a campaign or ad set the boost was attached to with `attachTo`; the ad runs only while both are active. `status` takes `ACTIVE`, `PAUSED`, `DELETED` or `ARCHIVED`, all upper case or all lower case (`paused` works, `Paused` does not). Changes real ad spend. |
| `get_ad_history` | Profile | Spend and performance history for boosted ads. |
| `boost_post` | Profile | Boost a published post as an ad. Takes `postId` or `socialPostId`, `accountId` from `list_ad_accounts`, a `goal` and a `budget` (leave out `budget` and `targeting` with `attachTo.adSetId`). Settings only one platform has go under `platformOptions`; on Facebook and Instagram, `platformOptions.<platform>.adName` and `.bidAmount` are required, except `.bidAmount` with `attachTo.adSetId`. Spends real money. Unless set otherwise, the ad is active, starts now and has no end date. Send an `idempotencyKey` and reuse it, with the same arguments, on a retry. The retry then returns the first result instead of creating a second ad. |

## Errors

| Tool | Scope | Purpose |
| - | - | - |
| `explain_error` | Account | Decode an Ayrshare error code into cause, classification, and fix. |

> [!NOTE]
>
> This catalog is verified against the live server's `tools/list`. More tools are planned (e.g. Links tools). If in doubt, query `tools/list` for the authoritative set. The catalog is maintained by the MCP server team.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.