# SayPage MCP tools reference

> Every tool the SayPage MCP server exposes to Claude, ChatGPT and other assistants, what each one does, and which ones change something.

Source: https://saypage.ai/docs/tools · Updated October 5, 2026

SayPage is a remote MCP server. These are the tools it gives your assistant, grouped by what they do. You never call them yourself: your assistant picks them from what you ask. This page is for developers, and for anyone who wants to know exactly what an assistant can do with SayPage.

## The server

| Property | Value |
|---|---|
| URL | `https://api.saypage.ai/mcp` |
| Transport | Streamable HTTP |
| Sign-in | OAuth, with a SayPage account |
| Tools | 45, all with a title and explicit annotations |
| Instructions | A short server description telling the assistant to start with `get_account` (or `onboarding` the first time), to read `get_page_guide` before writing a page, and to get the user's go-ahead before anything public |

Every tool carries MCP annotations, summarized in the **Effect** column:

| Effect | Meaning | Annotations |
|---|---|---|
| Read only | Reads, changes nothing | `readOnlyHint: true` |
| Saves | Saves something private: a draft, an upload, a prepared post | `readOnlyHint: false`, `destructiveHint: false`, `openWorldHint: false` |
| Changes | May change or delete your SayPage data | `destructiveHint: true`, `openWorldHint: false` |
| Public | Visible on Instagram or the web | `destructiveHint: false`, `openWorldHint: true` |
| Public, may be final | Visible on Instagram or the web, and may replace or delete something | `destructiveHint: true`, `openWorldHint: true` |

## Account and Instagram connection

| Tool | What it does | Effect |
|---|---|---|
| `get_account` | The account: site address, connected Instagram accounts (and whether publishing and insights are allowed), plan limits and contacts this month | Read only |
| `onboarding` | How to welcome a new user, and the link to connect Instagram while none is connected | Read only |
| `connect_instagram` | A link to connect (or reconnect) an Instagram professional account on Instagram's own consent screen | Read only |
| `get_instagram_publishing_link` | A link where the user can allow publishing, on Instagram itself; turns nothing on | Read only |
| `disable_instagram_publishing` | Turns publishing off at once | Changes |

## Pages

| Tool | What it does | Effect |
|---|---|---|
| `get_page_guide` | The page guide: questions to ask, the design bar, every format rule | Read only |
| `list_libraries` | The open source libraries a page may load, with their exact URLs | Read only |
| `list_pages` | The pages, with their status (draft, published, taken down) and review state | Read only |
| `get_page` | A page with its current draft HTML | Read only |
| `create_page` | Saves a new page as a draft, and reports any issue to fix | Saves |
| `update_page` | Replaces a page's draft; the live page doesn't change | Changes |
| `preview_page` | A private preview link to the draft, valid about an hour, for the signed-in user only | Saves |
| `publish_page` | Publishes the draft once SayPage's checks accept it | Public, may be final |
| `unpublish_page` | Takes a page offline and keeps its draft | Public, may be final |
| `delete_page` | Deletes a page and its draft | Public, may be final |
| `claim_site` | Chooses the site's address, or moves it (the old address redirects for a year) | Public, may be final |
| `get_page_stats` | Visits per page over up to 90 days: views, daily views, sources, referring sites, countries | Read only |

## Images

| Tool | What it does | Effect |
|---|---|---|
| `request_upload_link` | A link where the user uploads photos, or a video, from a browser | Saves |
| `start_image_upload` | For assistants with a shell: a signed address to upload a local image to | Saves |
| `confirm_image_upload` | Finishes an upload and returns the image's reference for pages | Saves |
| `list_images` | The uploaded images, with the pages using each one | Read only |
| `delete_image` | Deletes an image no page uses | Changes |

## Comment-to-DM automations

| Tool | What it does | Effect |
|---|---|---|
| `list_automations` | The automations, with their post, status and links sent | Read only |
| `get_automation_activity` | Who an automation DMed and how far each person got, with totals | Read only |
| `create_automation` | Creates an automation: a keyword on a post, and the DMs that send a page or a web address | Public, may be final |
| `update_automation` | Changes the keyword, messages or buttons; live automations stay live | Public, may be final |
| `activate_automation` | Turns an automation on (or arms it for the next post) | Public, may be final |
| `pause_automation` | Stops it answering new comments | Saves |
| `delete_automation` | Deletes an automation | Changes |

## Instagram posts and comments

| Tool | What it does | Effect |
|---|---|---|
| `list_instagram_posts` | Recent posts, Reels and live stories, with like and comment counts | Read only |
| `get_instagram_post` | One post in full: caption, counts, image URL | Read only |
| `list_instagram_comments` | A post's comments with their replies, and which ones the account answered | Read only |
| `reply_to_instagram_comment` | Replies publicly under a comment, as the account | Public, may be final |
| `hide_instagram_comment` | Hides a comment from everyone but its author, or shows it again | Public |
| `delete_instagram_comment` | Deletes a comment under one of the account's posts | Public, may be final |

## Insights

| Tool | What it does | Effect |
|---|---|---|
| `get_instagram_insights` | Account insights over up to 30 days, and follower demographics on request | Read only |
| `get_instagram_post_insights` | One post's numbers | Read only |

## Publishing (optional)

| Tool | What it does | Effect |
|---|---|---|
| `prepare_instagram_post` | Builds a photo post, carousel or story from uploaded images, without publishing it | Saves |
| `preview_instagram_post` | Shows each image exactly as Instagram will get it, crop or padding included | Read only |
| `publish_instagram_post` | Publishes a prepared post | Public, may be final |
| `start_video_upload` | For assistants with a shell: a signed address to upload a local video to | Saves |
| `confirm_video_upload` | Finishes a video upload | Saves |
| `list_videos` | The uploaded videos and where each stands (uploaded, publishing, published, failed, expired) | Read only |
| `publish_instagram_video` | Publishes a video as a Reel or a story; it then goes out by itself | Public, may be final |
| `delete_video` | Deletes an uploaded video before it expires | Changes |

## What no tool does

There is no tool to read or send DMs outside automations, to message followers in bulk, to delete a published Instagram post, to act on another account, or to buy or change a plan.
