> ## Documentation Index
> Fetch the complete documentation index at: https://api.onlysocial.io/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP server

> Let Claude, ChatGPT, Cursor and other AI assistants work in your OnlySocial workspace.

OnlySocial has a built-in **MCP (Model Context Protocol) server**. Connect an AI assistant to it and ask, in plain language, for the work you would otherwise do in the dashboard:

* "What's scheduled for next week?"
* "Draft a LinkedIn and X post announcing our webinar and schedule it for Tuesday at 10am."
* "Upload this image from a URL and add it to the queue for Instagram."
* "Find my failed posts and tell me what went wrong."
* "Which account grew most this month, and when should we post next?"
* "Which conversations in the inbox are still unread?"
* "Tag everyone who asked about pricing this week as `pricing-lead`."
* "Book Sam in for a demo on Thursday afternoon."

MCP is an open standard that Claude, ChatGPT, Cursor, VS Code, Claude Code and many other apps support. There is no integration code to write.

## The server URL

```
https://app.onlysocial.io/mcp
```

It uses streamable HTTP. [Connect your app](https://api.onlysocial.io/mcp/connect.md) by signing in with your OnlySocial login (OAuth), or by sending a personal access token.

> [!NOTE]
>
> The older address `https://app.onlysocial.io/os/mcp` still works with a personal access token. Use `/mcp` for anything new: it is the only address that supports signing in.

## What it can do

The assistant gets two sets of tools. See the [tools reference](https://api.onlysocial.io/mcp/tools.md) for the full list.

> [card] Publishing
>
> Workspaces, connected social accounts, posts, scheduling and the queue, tags, the media library and analytics.

> [card] Sales inbox
>
> Contacts, conversations, messages, automations, appointments and broadcasts, where your plan includes the sales inbox.

## Sign-in or token

| | Sign in (OAuth) | Personal access token |
| - | - | - |
| Set up | Paste the server URL, sign in, pick a workspace | Create a token, paste it into your app's config |
| Workspaces | The **one** workspace you pick when you connect | Every workspace you belong to |
| Best for | Claude, ChatGPT and other apps with connector screens | Claude Code, scripts, apps without OAuth |
| Lasts | Refreshes itself. Unused for 90 days, sign in again | Until you revoke it |

Either way, the assistant acts **as you**: it can never do more than your own role allows in that workspace.

## How it works

Almost every tool works on one workspace. The assistant is told this when it connects, so you can just ask; behind the scenes it:

1. calls `list-workspaces` to get the workspace `uuid` (with a sign-in connection, that is the one workspace you picked),
2. passes that `uuid` as `workspace` to every other tool,
3. for posting, calls `list-accounts` for the account IDs, then `create-post`.

## Roles and permissions

What the assistant may do follows your role in the workspace:

| Your role | Read | Create, edit, schedule, delete |
| - | :-: | :-: |
| Viewer | ✅ | ❌ |
| Member | ✅ | ✅ |
| Admin | ✅ | ✅ |

Sales inbox tools also follow your team role: a tool for an area you cannot open in the dashboard is not offered at all. If a workspace requires post approval, posts the assistant schedules or queues wait for approval like anyone else's.

A workspace you cannot access is reported as "not found", the same as one that does not exist.

## Safety rails

* **Messages to customers need a yes.** Tools that reach real people, such as `send-message`, `send-template-message` and `submit-broadcast`, refuse to run until the assistant passes `confirm: true`, which it should only do after checking with you.
* **Broadcasts are never sent by the assistant.** `submit-broadcast` creates the broadcast awaiting approval; a person approves it in the dashboard.
* **Automations are saved as drafts.** Nothing an assistant builds answers customers until someone presses Publish in the app.
* **A sending cap.** An assistant can send at most 60 messages an hour and reach 200 people a day per workspace. A send past the cap is refused with the reason.
* **Customer text is data.** Messages and notes written by your customers reach the assistant wrapped in `<untrusted_customer_content>` tags, with the instruction never to follow them.

## Timezones

Dates are stored in UTC. Most publishing tools take an optional `timezone` (an IANA name such as `Europe/London`) for reading your input and formatting the answer. Without one they use your account's timezone, then UTC, and every answer says which timezone it used. Analytics periods are UTC days; `get-best-posting-times` takes a `timezone` for its days, hours and next slots.


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