> Source: https://www.trackmedia.app/mcp · Last updated: 2026-10-13

# TrackMedia for Claude, ChatGPT and MCP

Draft, schedule and publish social posts, and see how they performed, from a conversation with your AI assistant.

Last updated: 13 October 2026

TrackMedia's MCP server connects Claude, ChatGPT and any other [Model Context Protocol](https://modelcontextprotocol.io) client to the social accounts in your TrackMedia workspace. Ask it to write a post, check it against each network's rules, save it as a draft or schedule it across several accounts at once, find what failed and retry it, and pull the numbers for any post or account.

The server URL, for every client:

`https://mcp.trackmedia.app/mcp`

## Before you start

- A TrackMedia account. [Sign up](https://go.trackmedia.app/signup); every plan includes the MCP server.
- At least one social account connected in TrackMedia under **Accounts**. The assistant can only post where TrackMedia can.

## Connect in Claude

Works on claude.ai, the Claude desktop app and the mobile apps, on every plan. The Free plan allows one custom connector.

1. Open **Customize → Connectors**, choose **Add**, then **Add custom connector**.
2. Name it `TrackMedia` and paste `https://mcp.trackmedia.app/mcp` as the server URL. Leave the authentication settings Claude detects as they are.
3. Click **Connect**. TrackMedia's sign-in page opens: log in, pick a workspace and how much Claude may do without you, then click **Allow**.
4. In a chat, open the **+** menu → **Connectors** and make sure TrackMedia is on.

On a Team or Enterprise plan, an Owner adds the connector once under **Organization settings → Connectors**, and each member then clicks **Connect** and signs in with their own TrackMedia account.

## Connect in ChatGPT

Available on ChatGPT plans that offer developer mode.

1. Turn on developer mode under **Settings → Apps → Advanced settings**.
2. Choose **Create app**, name it `TrackMedia`, paste `https://mcp.trackmedia.app/mcp` and set authentication to **OAuth**.
3. Sign in to TrackMedia when ChatGPT opens it, pick a workspace, and click **Allow**.

## Connect in Claude Code

```
claude mcp add --transport http trackmedia https://mcp.trackmedia.app/mcp
```

Then run `/mcp` inside Claude Code, choose TrackMedia, and sign in in the browser.

### Other clients, scripts and CI

Any client that supports MCP's OAuth sign-in only needs the URL. Where nobody is there to click **Allow**, create an API key under **Settings → API keys** in TrackMedia and send it as a header:

```
Authorization: Bearer tmk_…
```

The server is also published as `@trackmedia/mcp-server` on npm, to run locally with `npx -y @trackmedia/mcp-server` and `TRACKMEDIA_API_KEY` set.

## What it may do, and how to stop it

When you click **Allow** you choose one of three permissions. The permission is enforced by TrackMedia, not by the assistant's instructions, so no prompt can widen it.

| Permission | What the assistant can do on its own |
| --- | --- |
| **Drafts only** (default) | Read your workspace and write drafts. Nothing is published until a person schedules it in TrackMedia. |
| **Create, but a human approves** | Prepare posts ready to go; each waits for someone to approve it. |
| **Publish without asking** | Schedule and publish straight to your connected accounts. Use it only once you trust the setup. |

- The connection can never connect or remove social accounts, manage your team, or touch billing.
- Every tool that publishes, schedules, retries or deletes is marked as such, so Claude asks for your approval before each call. You can change this per tool in Claude's connector settings.
- The connection appears under **Settings → API keys** as a key named after the app and you (for example “Claude — Alex”). **Revoke** it there to disconnect immediately. Connecting again replaces it.

## Tools

| Tool | What it does | Type |
| --- | --- | --- |
| `list_accounts` | List connected accounts, with their ids and health | Read |
| `list_platforms` | List supported platforms and what each accepts | Read |
| `validate_post` | Check a post against every target platform's rules without creating it | Read |
| `create_post` | Create a draft, scheduled or published post | Write · asks first |
| `list_posts` | List posts with filters: status, account, platform, dates, text | Read |
| `get_post` | Get one post and the status of every destination | Read |
| `reschedule_post` | Move a scheduled post to a new time | Write · asks first |
| `cancel_post` | Cancel a scheduled post or delete a draft | Write · asks first |
| `retry_failed_target` | Retry one failed destination of a post | Write · asks first |
| `list_queues` | List posting queues and their time slots | Read |
| `enqueue_post` | Put a post into a queue's next free slot | Write · asks first |
| `upload_media_from_url` | Upload an image or video from a URL for use in a post | Write |
| `get_post_analytics` | Metrics for one post, per destination | Read |
| `get_account_analytics` | Metrics for one account over time | Read |
| `shorten_link` | Make a tracked short link | Write |
| `list_links` | List tracked links and their clicks | Read |
| `get_link_stats` | Click analytics for a link | Read |
| `list_bio_pages` | List link-in-bio pages | Read |
| `get_bio_page` | Get one link-in-bio page with its buttons | Read |
| `get_bio_page_stats` | Clicks, visitors and conversions for a link-in-bio page and each button | Read |
| `create_bio_page` | Create a link-in-bio page | Write |
| `update_bio_page` | Update a link-in-bio page | Write · asks first |

## Things to ask

- “Write a LinkedIn post and an X post announcing our launch, and check both fit.”
- “Save it as a draft for our Instagram and Facebook pages.”
- “What is scheduled this week, and did anything fail? Retry what can be retried.”
- “Which of last month's posts got the most views, and on which network?”
- “Make a tracked link to our pricing page and add it to the bio page.”

## Networks

Instagram, Facebook, Threads, TikTok, YouTube, LinkedIn, X, Bluesky, Mastodon, Pinterest, Reddit, Google Business, Tumblr, Telegram, Discord, Slack and more: the assistant can post wherever you have connected an account in TrackMedia. `list_platforms` returns the current list.

## Troubleshooting

### Claude or ChatGPT says it cannot connect

Check that the URL is exactly `https://mcp.trackmedia.app/mcp`, then remove the connector and add it again. If the TrackMedia sign-in page says the link does not work, start again from the app rather than reloading the page.

### It was working, and now asks me to sign in again

The connection's key was revoked under **Settings → API keys**, or the person who connected it left the workspace. Click **Connect** again.

### “Your plan allows N API keys”

Each connected app uses one key. Revoke a key you no longer use under **Settings → API keys**, or upgrade your plan.

### A post was created but did not go out

With **Drafts only** that is the point: open it in TrackMedia under **Publishing → Posts** and schedule it. To let the assistant schedule on its own, disconnect and connect again with a wider permission.

## Privacy and support

The server passes your requests to TrackMedia's API and returns the result to your assistant. It stores nothing about the conversation. What TrackMedia holds about you and your connected accounts, and how to delete it, is in our [Privacy Policy](https://www.trackmedia.app/privacy) and [Data Deletion](https://www.trackmedia.app/data-deletion) page.

Questions or problems: [maruf@trackmedia.app](mailto:maruf@trackmedia.app). A person will reply.
