# Post to Social Media from Claude

OmniSocials integrates with every flavor of Claude: claude.ai (web), Claude Desktop, and Claude Code. All three use the same underlying MCP server. The only difference is how you point Claude at it.

## claude.ai, Claude Desktop and the phone app (connector)

Easiest option. Claude talks to the hosted OmniSocials endpoint and signs in with OAuth, so there is no key to copy and nothing to install. Claude, Claude Desktop and the Claude phone apps share one connector list; adding a connector works in a browser.

1. Open [Add OmniSocials to Claude](https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=OmniSocials&connectorUrl=https%3A%2F%2Fmcp.omnisocials.com). The connector form opens with the name and address filled in. If it is empty, go to **Customize**, then **Connectors**, click **Add custom connector** and paste this address:

```text
https://mcp.omnisocials.com
```

2. Click **Add**, then **Connect**. Claude sends you to OmniSocials to sign in and pick which workspaces Claude can see. Click **Allow**.

In any new Claude chat, OmniSocials tools are now available. Ask Claude to list your connected accounts to verify.

On a Team or Enterprise plan an Owner adds the connector under Organization settings, then Connectors; members then click Connect on it.

## Claude Code (remote connector)

One command, then a sign-in from the session:

```bash
claude mcp add --transport http --scope user omnisocials https://mcp.omnisocials.com
```

Start Claude Code, type `/mcp`, pick **omnisocials** and finish the sign-in in your browser. `--scope user` makes the connector available in every project.

## API key instead of OAuth

If you prefer an API key (for example on a shared machine, or in a client that has no OAuth flow), create one in OmniSocials under **Settings, then Organisation, then Integrations** and use the address with the key in it:

```text
https://mcp.omnisocials.com?API_KEY=omsk_live_<YOUR_KEY>
```

## Claude Desktop (local npm package, API key)

Runs the MCP server locally as a subprocess. Use this if you prefer to keep your API key on-device rather than sending it with every request.

Open `claude_desktop_config.json` and add:

```json
{
  "mcpServers": {
    "omnisocials": {
      "command": "npx",
      "args": ["-y", "@omnisocials/mcp-server"],
      "env": {
        "OMNISOCIALS_API_KEY": "omsk_live_<YOUR_KEY>"
      }
    }
  }
}
```

The config file lives at:
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

Restart Claude Desktop to pick up the new config.

## Claude Code (local npm package, API key)

If you want the server to run locally instead of the remote connector:

```bash
claude mcp add omnisocials -- npx -y @omnisocials/mcp-server
```

Then export your API key so the MCP subprocess can read it:

```bash
export OMNISOCIALS_API_KEY=omsk_live_<YOUR_KEY>
```

Put the `export` line in your `~/.zshrc` or `~/.bashrc` so it persists across shell sessions.

## Verifying the connection

In any Claude interface, ask:

> Show my connected social accounts on OmniSocials

Claude should call `list_accounts` and return the accounts in your workspace. If it responds with an authentication or connection error, double-check the API key and restart the client.

## Capabilities

With OmniSocials connected, you can ask Claude to:

- List connected accounts, media library items, or scheduled posts
- Create drafts or scheduled posts with per-platform content
- Upload media from a URL and attach to a post
- Query analytics for a post, account, or time period
- Work through the Social Inbox: `get_next_unanswered` hands Claude the next DM or comment that needs an answer, with the thread and the post it is on, and `reply_to_inbox` with `include_next: true` chains to the following one until nothing is waiting
- Moderate comments with `hide_inbox_comment` (Instagram, Facebook, TikTok, YouTube, Threads) and `delete_inbox_comment` (Instagram, Facebook, TikTok; Claude confirms before deleting)
- Manage webhooks

The full set of tools matches the public API. Your API key's scopes determine what Claude can actually do. A read-only key lets Claude list things but not post.
