MCP server
Expose CuteDyno to AI agents as MCP tools — same API, same permissions, same errors as REST.
CuteDyno MCP exposes the same API as tools. Agents can list accounts, upload media through a hosted browser page, create posts, read analytics, and check status without custom integration code. Tools come from the same registry as REST, so permissions and errors match /v1.
Hosted MCP endpoint
Recommended for Cursor, Claude, and cloud agents
https://api.cutedyno.com/mcpAuthenticate with the same Bearer API key as REST. Create one under Developers → API.
Drop into Cursor or Claude MCP settings
{
"mcpServers": {
"cutedyno": {
"url": "https://api.cutedyno.com/mcp",
"headers": { "Authorization": "Bearer cdyn_live_..." }
}
}
}Hosted HTTP
Point any MCP client at the URL above. Best for cloud agents and Cursor.
Stdio (local)
Spawn a local process when your runtime cannot call HTTP MCP.
npx -y cutedyno mcpTools
Tool detail pages are linked from this index (they are not listed in the sidebar).
Profiles
list_profilesread onlyLists every profile this API key can act on. Start here when the key serves multiple customers, then pass profileId to the other tools.create_profileCreates a profile for a new customer. Requires an account-wide API key.get_profileread onlyReturns the profile this request resolves to, including its name and description.update_profileRenames a profile or changes its description.
Accounts
list_accountsread onlyReturns the Facebook and Instagram accounts connected to a profile. Use `accountId` when filtering comments.start_connectStarts a hosted OAuth flow and returns authUrl plus a session id. Send the user to authUrl; the account appears in list_accounts once they finish.create_connect_sessionStarts an OAuth flow for one profile and returns the URL to redirect your customer to. Equivalent to start_connect for most agents.get_connect_sessionread onlyChecks whether a connect flow finished. Prefer the connection.completed webhook over polling this.
Comments
Webhooks
list_webhooksread onlyReturns the webhook endpoints registered for a profile.create_webhookRegisters an endpoint to receive events. Set scope to account to receive events from every profile through one endpoint.test_webhookDelivers a synthetic event so the receiver can be verified before real activity happens.list_webhook_deliveriesread onlyReturns the delivery log for one subscription, with response codes, attempt counts, and the next scheduled retry.delete_webhookRemoves a webhook endpoint. In-flight retries stop.
Read-only tools are safe to auto-approve. Writes can publish to live accounts.
Resources and prompts
| URI | Contents |
|---|---|
cutedyno://docs/workflow | How to connect accounts and read comments |
cutedyno://docs/comments | How to list and subscribe to comments |
cutedyno://docs/errors | What each error code means and whether to retry |
| Prompt | What it does | Arguments |
|---|---|---|
review-comments | Summarise new Facebook and Instagram comments and flag ones that need a reply | platform?, profileId? |
Guardrails
- Prefer a dedicated key per agent or environment so you can revoke one without taking everything down.
- Limit with
profileIds,allowedAccountIds, andmaxPostsPerDaywhen the caller is an LLM. - Require human approval through profile policy — call
get_policyor setrequireApprovalwithPUT /v1/policy.
Troubleshooting
| Symptom | Fix |
|---|---|
| No tools | Config JSON invalid, or servers vs mcpServers mismatch. Run npx -y cutedyno mcp --tools with your API key set. |
invalid_api_key | Key missing, revoked, or has stray whitespace. |
insufficient_permission | Key lacks access for that action. |
| Unexpected drafts | Profile requires approval. Call get_policy. |
| Local API failures | Set CUTEDYNO_API_URL (e.g. http://localhost:3000). |