Hosted or local
- Hosted: Streamable HTTP at
https://looptake.com/mcp. SendAuthorization: Bearer <API key>. Nothing to install. - Local: stdio via
npx -y @looptake/mcp, key inLOOPTAKE_API_KEY. Needs Node 22.12 or later. The key stays on your machine.
Both expose the same tools as the REST API, with the same scopes and errors. A tool is listed only if the key has its scope. Included on every plan.
Hosted endpoint
POST https://looptake.com/mcp speaks Streamable HTTP with JSON responses. Send your API key as Authorization: Bearer lt_live_…. For Claude Code and Cursor, see the commands below. For a client that reads mcpServers JSON:
Hosted, Claude
{
"mcpServers": {
"looptake": {
"type": "http",
"url": "https://looptake.com/mcp",
"headers": { "Authorization": "Bearer lt_live_…" }
}
}
}Platform operators use https://looptake.com/mcp/admin with a key that has the admin scope. Locally, npx -y @looptake/mcp --admin serves the same admin tools over stdio.
Claude Code
Terminal
# Hosted
claude mcp add --transport http looptake https://looptake.com/mcp \
--header "Authorization: Bearer lt_live_…"
# Local
claude mcp add looptake --env LOOPTAKE_API_KEY=lt_live_… -- npx -y @looptake/mcpClaude Desktop
Add to claude_desktop_config.json, then restart Claude Desktop.
Local
{
"mcpServers": {
"looptake": {
"command": "npx",
"args": ["-y", "@looptake/mcp"],
"env": { "LOOPTAKE_API_KEY": "lt_live_…" }
}
}
}Hosted, through an npx bridge
{
"mcpServers": {
"looptake": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://looptake.com/mcp", "--header", "Authorization: Bearer ${LOOPTAKE_API_KEY}"],
"env": { "LOOPTAKE_API_KEY": "lt_live_…" }
}
}
}Cursor
Add to ~/.cursor/mcp.json or .cursor/mcp.json in a project.
Hosted
{
"mcpServers": {
"looptake": {
"url": "https://looptake.com/mcp",
"headers": { "Authorization": "Bearer lt_live_…" }
}
}
}Local
{
"mcpServers": {
"looptake": {
"command": "npx",
"args": ["-y", "@looptake/mcp"],
"env": { "LOOPTAKE_API_KEY": "lt_live_…" }
}
}
}Local options
Environment variables for the local server. If you use the CLI, looptake mcp starts the same server with the stored key.
Environment
LOOPTAKE_API_KEY=lt_live_… # required
LOOPTAKE_WORKSPACE=<id> # pin every call to one workspace
LOOPTAKE_READ_ONLY=1 # register read tools only
LOOPTAKE_TIMEOUT_MS=60000 # per-request timeoutTools
62 tools. Tools marked below need confirm: true in the call, so an agent cannot publish, spend or delete by accident.
| Tool | Scope | Does |
|---|---|---|
looptake_get_me | any | Team, plan, credit balance and the scopes this key carries. |
looptake_get_credits | credits:read | Balance and ledger, so an agent can check before it spends. |
looptake_list_workspaces | workspaces:read | Every brand this key can reach, and when each was last analysed. |
looptake_create_workspace | workspaces:write | Add a brand and queue the first crawl of its website. |
looptake_get_workspace | workspaces:read | One workspace with the brand context every generation is written from. |
looptake_archive_workspace | workspaces:write | Stop a brand. Its scheduled posts are withheld rather than cancelled, and restoring puts them back.Destructive |
looptake_restore_workspace | workspaces:write | Resume an archived brand, and everything that was withheld with it. |
looptake_set_default_workspace | workspaces:write | Choose which brand a call that omits workspaceId lands in, for every credential on the team.Destructive |
looptake_get_brand_kit | workspaces:read | The look every render in a workspace gets: captions, font, logo, outro, watermark and voice. |
looptake_update_brand_kit | workspaces:write | Change a workspace brand kit. Omitted fields keep their value; null clears. |
looptake_reset_brand_kit | workspaces:write | Remove a workspace brand kit so renders use the house look.Destructive |
looptake_list_accounts | accounts:read | Connected accounts and their ids, which every publish call needs. |
looptake_create_video | generations:write | Make a finished video from one sentence. No brand profile needed. Poll looptake_get_video. |
looptake_remix_video | generations:write | Remix a viral video link onto your topic: same structure, new video. Poll looptake_get_video. |
looptake_clip_video | generations:write | Cut a long video into scored 9:16 clips. Costs 1 credit per minute of source. Poll looptake_get_video.Spends credits |
looptake_bulk_videos | generations:write | Make up to 100 videos from CSV or rows, optionally scheduled. Poll looptake_get_bulk.Spends credits |
looptake_get_bulk | generations:read | Progress of a bulk batch. |
looptake_generate_suggestions | generations:write | Generate suggestions from the brand context, or from a prompt. Costs no credits. |
looptake_list_generations | generations:read | Read the pending suggestion queue. |
looptake_get_generation | generations:read | One suggestion in full, including its deck. |
looptake_accept_generation | generations:write | Turn a suggestion into a content piece. |
looptake_create_variants | generations:write | Write A/B hook variants of a suggestion. |
looptake_create_post | posts:write | Schedule or publish. The tool that needs a human in front of it.Publishes |
looptake_preview_post | posts:write | What each named account would actually receive, without creating anything: the exact text that account gets, its YouTube title written or derived, the declarations, and the refusals each platform would raise. |
looptake_import_posts | posts:write | Turn a CSV of captions, video URLs and times into a calendar in one call, all of it or none of it. Held as drafts unless you ask for schedule: "scheduled". Send validateOnly first: it answers the resolved UTC instant of every row, which is where a file read in the wrong timezone shows itself before a hundred posts exist.Publishes |
looptake_list_posts | posts:read | Posts by status, automation or date range. |
looptake_get_post | posts:read | One post with per-platform results and analytics. |
looptake_edit_post | posts:write | Fix the caption, the hashtags, one platform’s own words, or the five platform declarations on a post that has not gone out, keeping its id. declarations replaces the whole object, so send every answer you want to stand. Re-opens an approved post for review, because the reviewer agreed to the post as it was.Publishes |
looptake_cancel_post | posts:write | Cancel a post that has not published yet.Destructive |
looptake_reschedule_post | posts:write | Move a post that has not published yet to a different time. Re-opens an approved post for review, because the reviewer agreed to a slot.Publishes |
looptake_publish_post | posts:write | Release a draft so it goes out at the time it already carries. The only thing that sends a post saved with schedule: "draft"; it takes no body and chooses no time.Publishes |
looptake_get_calendar | posts:read | The schedule grouped by local day. |
looptake_create_automation | automations:write | Create a draft run with a cadence and a target set. |
looptake_list_automations | automations:read | Every run, with the status that says which call is legal next. |
looptake_get_automation | automations:read | One run with its settings, targets and counts. |
looptake_update_automation | automations:write | Edit a run while it is still a draft. |
looptake_generate_automation | automations:write | Fill every slot in a run. Publishes nothing. |
looptake_extend_automation | automations:write | Add days to a running automation, at the same rhythm.Publishes |
looptake_launch_automation | automations:write | Schedule a reviewed run. The second tool that needs a human.Publishes |
looptake_cancel_automation | automations:write | Cancel a run and every post it has not published yet.Destructive |
looptake_list_automation_posts | automations:read | The review queue of a run, and its history after launch. |
looptake_list_influencers | influencers:read | The AI presenters this workspace has created. |
looptake_create_influencer | influencers:write | Create a reusable AI presenter. Spends 10 credits.Spends credits |
looptake_get_influencer | influencers:read | One presenter, with the voice and accounts it publishes from. |
looptake_delete_influencer | influencers:write | Delete a presenter, its videos and its consent history, and give back the plan slot. Refunds nothing.Destructive |
looptake_create_influencer_video | influencers:write | Render a talking head. Spends 5 credits per second.Spends credits |
looptake_list_influencer_videos | influencers:read | Every video rendered for one presenter. |
looptake_get_video | influencers:read | Poll one video, prompt-first or influencer, until it is ready or failed. |
looptake_list_assets | assets:read | The workspace library of clips, images, audio and fonts. |
looptake_create_asset | assets:write | Add an asset to the library by URL. |
looptake_get_content | content:write | Poll a render and read the finished media. |
looptake_download_content | content:write | A short-lived signed URL for finished media. |
looptake_create_studio_render | content:write | Start any studio render. Spends 10 credits.Spends credits |
looptake_get_analytics | analytics:read | Performance for a window, per platform and in total. |
looptake_list_analytics_posts | analytics:read | Per-post performance, sortable, with attribution-link clicks. |
looptake_get_trends | generations:read | The daily trend library. |
looptake_list_webhooks | webhooks:write | The endpoints events are delivered to. |
looptake_create_webhook | webhooks:write | Subscribe a URL to post, content and credit events. |
looptake_delete_webhook | webhooks:write | Stop deliveries to an endpoint.Destructive |
looptake_analyze_brand | workspaces:write | Re-read the website and rebuild the brand context. |
looptake_clear_brand | workspaces:write | Throw away a workspace’s derived brand context.Destructive |
looptake_update_workspace | workspaces:write | Correct a workspace’s name, handle, site, logo or timezone. |
Limits for agents
- Start with an
lt_test_key. It runs every tool and never posts. - Scopes are the agent's permissions. A read-only key:
generations:read, posts:read, automations:read, influencers:read, assets:read, accounts:read, credits:read, workspaces:read, analytics:read. - Approving posts and attesting avatar consent are not available as tools. A person does those.
- Use an automation for volume: it publishes nothing until launch.