> For the complete documentation index, see [llms.txt](https://help.contouron.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.contouron.com/api/mcp-server/faqs.md).

# FAQs

> For the complete documentation index, see [llms.txt](https://help.contouron.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.contouron.com/api/mcp/faqs.md).

## FAQs

### Can I post from Claude Code, Cursor, or Antigravity using prompts? Will Contouron create images and videos for me?

Yes. Setup is at [Settings > API](https://my.contouron.com/settings/api).

Step-by-step tutorial for Claude Cowork & Desktop: <https://youtu.be/mh4Z9U-oaps>

Step-by-step tutorial for Claude Code: <https://youtu.be/3HVH2Iuplqo>

Once connected, you can ask Claude/Cursor/Antigravity to write your post, generate images or videos, and publish to your social accounts in a single prompt. Contouron handles content extraction, AI visuals, scheduling, and publishing.

***

### Do I need to install anything?

No. The Contouron MCP Server runs remotely. Connect via OAuth or add the server URL and API key to your AI tool's configuration and you're ready to go.

***

### Which AI tools are supported?

The MCP Server works with any MCP-compatible AI host, including:

* Claude.ai Web
* Claude Desktop
* Claude Cowork
* Claude Code
* Cursor
* Antigravity
* Replit Agent

Any tool supporting the MCP protocol with remote HTTP servers works with Contouron. Claude.ai, Claude Desktop, and Claude Cowork connect via OAuth. All other tools use your API key.

Generate your API key: [Settings > API](https://my.contouron.com/settings/api)

Step-by-step tutorials:

* Claude Cowork and Desktop: <https://youtu.be/mh4Z9U-oaps>
* Claude Code: <https://youtu.be/3HVH2Iuplqo>

***

### Do I need a paid Contouron subscription?

Yes. API access (including MCP) requires a paid subscription. This keeps the platform in good standing with social media platforms by reducing spam.

***

### Contouron shows as Connected in Claude Settings but Claude.ai returns an OAuth error

This means your account is not on a paid plan. Contouron API and MCP require a paid subscription.

To fix it:

1. Go to [Settings > API](https://my.contouron.com/settings/api)
2. Click **Generate API Key**

Once your subscription is active, the OAuth connection works without any other changes.

***

### Is this different from the REST API?

The MCP Server wraps the same Contouron API into 14 AI-friendly tools. Your AI host calls these tools automatically based on your prompts. You get the same functionality as the REST API without writing code.

***

### How does authentication work?

Two methods depending on your AI tool:

* **OAuth (Claude.ai, Claude Desktop, Claude Cowork):** Add Contouron as a custom connector via **Customize > Connectors > + > Add custom connector**. You approve access through your Contouron account in the browser. No API key needed.
* **API key (Claude Code, Cursor, Antigravity, Replit Agent, etc.):** Use the `contouron-api-key` header. Get your key from [Settings > API](https://my.contouron.com/settings/api).

***

### On a Claude Team or Enterprise plan and don't see "Add custom connector"?

Only a workspace admin can add custom connectors on Claude Team and Enterprise plans. This is a Claude platform restriction, not a Contouron limitation. Ask your Claude workspace admin to add the Contouron connector for your team. Individual members cannot add it themselves, and relaunching Claude Desktop does not change this.

***

### Do I need to know which tools to call?

No. Your AI tool reads the tool descriptions and picks the right ones based on your prompt. Say what you want in natural language and the AI figures out the right sequence of calls.

***

### What happens if a tool call fails?

The AI tool receives an error message and decides how to proceed. Common errors include:

* Invalid API key - check your config
* Rate limit exceeded - wait and retry
* Account not found - connect your account in [Settings](https://my.contouron.com/settings)

***

### Can I see my published or failed posts via MCP?

Yes. Use `contouron_list_posts` to retrieve published, failed, and scheduled posts. For example:

* "What did I publish on Instagram last week?" → `contouron_list_posts` with `status=published` and `platform=instagram`
* "Which posts failed this month?" → `contouron_list_posts` with `status=failed`
* "Show me everything I posted recently" → `contouron_list_posts` with no filters

Each result includes the post text, platform, media URLs, post time, and — for published posts — the live URL. Failed posts include an error message explaining why they failed.

Note: `contouron_list_schedules` only returns **future scheduled posts**. To see published or failed post history, use `contouron_list_posts`.

***

### Can I read or post comments via MCP?

Yes, for Instagram. Use `contouron_list_comments` to read the comments on your published Instagram posts, `contouron_get_comment` to check a single comment, and `contouron_post_comment` to post a top-level comment on one of your published posts. For example:

* "Show me recent comments on my Instagram posts" → `contouron_list_comments`
* "Comment 'Thanks everyone!' on my latest Instagram post" → `contouron_list_posts` → `contouron_post_comment`
* "Did my comment post yet?" → `contouron_get_comment`

Posting is async: the comment returns with status `queued`, then reaches `posted` or `failed`. Poll `contouron_get_comment` with the returned ID to check. See Tools Reference and Comments API.

***

### Can I get analytics via MCP?

Yes. Use `contouron_list_top_posts` for your best posts over a time range, `contouron_list_posts` to find a specific published post, and `contouron_get_post_analytics` for one post's full history. For example:

* "What are my top posts this week?" → `contouron_list_top_posts`
* "How is my latest post doing?" → `contouron_list_posts` → `contouron_get_post_analytics`

Analytics covers 5 platforms (Twitter/X, Instagram, Facebook, Threads, and Bluesky), and metrics collect on a schedule after each post publishes. If a post shows no metrics yet or "not available," see the Analytics API reference.

***

### Can I read or send direct messages via MCP?

Yes, for Instagram. Use `contouron_list_conversations` and `contouron_list_messages` to list your DMs, `contouron_get_conversation` and `contouron_get_message` to open one, and `contouron_send_message` to reply. For example:

* "Show me my recent Instagram conversations" → `contouron_list_conversations`
* "Reply 'Thanks!' to my latest message from @jamie" → `contouron_list_messages` → `contouron_send_message`

You reply to people who already have a conversation with you. Set `recipientId` to the other party's id (an incoming message's `senderId`). Sending is async: the message returns with status `queued`, then reaches `sent` or `failed`. See Tools Reference and Messages API.

***

### How do I create and publish visuals (videos, carousels, images)?

Tell your AI tool what you want to create. For example: "Make a carousel about productivity tips and post it to Instagram." The AI tool:

1. Picks a template from your available templates
2. Generates the visual using your prompt
3. Waits for the visual to finish rendering
4. Posts it to the platform you specified

***

### Where do I get my account IDs?

You do not need account IDs when using the MCP Server. The AI tool calls `contouron_list_accounts` to find the right account based on your prompt. For example, if you say "post to my Twitter," the tool looks up your Twitter account automatically.

***

### How do I post to a specific Facebook or LinkedIn page?

Tell your AI tool which page you want to post to by name. For example:

* "Post this to my Business Page on Facebook"
* "Schedule this to my company's LinkedIn page"

The AI tool calls `contouron_list_accounts` behind the scenes, finds all your connected pages, and picks the one matching your description. You do not need to look up or pass any page IDs.

If you have multiple pages with similar names, be specific: "Post to my Facebook page called Sunrise Bakery."

***

### How do I upload a local file (image or video) from my computer?

**Using Claude Cowork or Desktop?** You do not upload the MP4 or image manually anywhere. Tell Claude to post it, and it uses the Contouron presigned-URL endpoint to upload your file to Contouron hosting, then posts the hosted URL automatically behind the scenes. If the upload is blocked by a sandbox or network error, allow `database.contouron.io` (see [the network-egress FAQ below](#claude-cant-upload-my-photos-or-files-to-contouron--sandbox-error--network-egress-blocked-in-claude-cowork-claude-desktop-or-claude-code)).

Use the `contouron_create_presigned_upload_url` tool. Tell your AI tool something like "upload this image from my desktop and post it to Instagram" and it handles the rest.

**Copy-paste prompt for Claude:** `use contouron presigned media url endpoint to upload my local files`

Behind the scenes:

1. The AI calls `contouron_create_presigned_upload_url` with the filename (e.g., "photo.jpg")
2. Contouron returns a presigned upload URL and a public URL
3. The AI uploads the file to the presigned URL
4. The AI uses the public URL in `contouron_create_post`

No Google Drive, S3, or other intermediate storage required. Upload size depends on your plan (see Plan Limits).

### My file is too large to upload via MCP (for example HeyGen avatar videos hitting a 10MB cap)

Sending a local file through the MCP hits a size cap around 10MB. Larger videos, like finished HeyGen avatar exports, fail with a "file too large" error. The size cap only applies when your AI tool sends the local file through the MCP. Once the file lives on a URL, size is a non-issue. Two paths:

**Option 1 (fastest) — skip the upload entirely:**

1. If your video is already hosted (HeyGen gives every finished video a public URL), copy that URL
2. Hand the URL to Claude/Cowork as the media URL in the publish step
3. Contouron references the hosted file directly. No upload, no size cap on your side

**Option 2 — upload to Contouron first, then let your AI tool post:**

1. Go to [Videos](https://my.contouron.com/videos) and upload each video via the web UI. The web upload has a much higher size cap than the MCP local-file path
2. Each uploaded video gets a Contouron-hosted `publicUrl`
3. Tell Claude/Cowork "use the videos in my Contouron library" and it pulls them via MCP, or paste the URLs directly into your prompt

### Claude can't upload my photos or files to Contouron / "Sandbox error" / network egress blocked in Claude Cowork, Claude Desktop, or Claude Code

If you set up Contouron MCP in Claude Cowork or Claude Desktop and scheduling, publishing, or uploading a file fails with a sandbox, network, proxy, or egress error, you need to allow Contouron's storage domain in Cowork's network settings.

Common symptoms (literal error strings and plain-English descriptions):

* "Sandbox error" when scheduling or publishing a video from Claude Cowork
* "Access to this website is blocked by your network egress settings. You can adjust this in Settings."
* Claude tells you `database.contouron.io` is outside its sandbox's allowed network / not in the allowed domains, so it can't PUT or upload the files
* Claude says it can't upload your images or videos to Contouron from the sandbox and asks you to upload them yourself and pass URLs instead
* "The upload is blocked by a network proxy in this sandbox environment -- external PUT requests to storage endpoints aren't allowed from here."
* "Stream closed" error during the presigned upload step
* The sandbox proxy is blocking all outbound HTTPS calls
* The sandbox cannot execute the PUT step / binary file uploads via PUT are blocked
* The host SOCKS proxy, SOCKS5 tunnel, or alternate HTTP port is refused or blocked
* Raw external HTTPS connections from the sandbox shell (curl, Python) are blocked
* `contouron_create_presigned_upload_url` returns a URL but the PUT upload to that URL fails
* Video upload silently fails before the post is created
* Scheduling or publishing fails right after MCP setup with a network/sandbox message

Fix:

1. Go to Claude Cowork/Desktop > Settings > Capabilities > Allow network egress
2. Under Additional allowed domains, add `database.contouron.io`
3. Click the "Add" button
4. Restart Claude Cowork/Desktop

### Using Claude Code (not Claude Cowork/Desktop)?

Claude Code's sandbox egress is not user-configurable, so the steps above do not apply. Instead, skip the local file upload entirely:

1. Host your image or video at a public URL first (any public web URL works, e.g., Dropbox direct link, Google Drive with public share, S3 public bucket, your own web server)
2. Pass the hosted URL directly into the `mediaUrls` parameter of `contouron_create_post`

This avoids the presigned PUT step, which is the step Claude Code cannot perform.

### How do I edit a scheduled post via MCP (caption, media, or time)?

Call **only** `contouron_update_schedule`. It updates an existing schedule in place — it never creates a new post.

To change the caption or media: pass the **whole `post` object**, not just the field you're editing. The tool requires `accountId`, `platform`, `text`, plus the platform-specific fields (e.g., `pageId` for Facebook). If you pass a partial `post` (e.g., only `text`), the draft change is silently dropped and only `scheduledTime` is applied.

Recommended flow:

1. `contouron_list_schedules` — find the schedule ID
2. `contouron_get_schedule` — fetch the current full post object
3. `contouron_update_schedule` — pass the schedule ID, the full post object with your edit applied, and `scheduledTime` if changing the time

To change only the time: pass `id` + `scheduledTime`. No `post` needed.

If you ever see two posts published for what should have been an edit, your AI tool likely also called `contouron_create_post`. Tell it explicitly: "use only `contouron_update_schedule`, do not create a new post."

***

**Didn't find your answer?**

* General FAQs
* [API FAQs](https://github.com/Contouron-Inc/help.contouron.com/tree/main/api/faqs.md)
* n8n FAQs
* Make.com FAQs


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.contouron.com/api/mcp-server/faqs.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
