For your AI
Agents × jobs

Use TokPortal from CrewAI

Connect CrewAI to the TokPortal MCP server and run 12 social-media jobs: create TikTok/Instagram accounts, post at scale, warm accounts, ban webhooks, a…

Markdown

CrewAI is an agent framework (code): Python multi-agent framework; MCPServerAdapter from crewai-tools turns any MCP server into agent tools. Connected to the TokPortal MCP server (or the REST API), it can create geo-targeted TikTok and Instagram accounts, schedule videos, warm accounts, read analytics and follow the ban lifecycle — 91 tokportal_* tools generated from the public OpenAPI schema.

Connect TokPortal to CrewAI

pip install "crewai-tools[mcp]"
from crewai import Agent, Task, Crew, Process
from crewai_tools import MCPServerAdapter

server_params = {
    "url": "https://app.tokportal.com/api/ext/mcp",
    "transport": "streamable-http",
    "headers": {"X-API-Key": "sk_..."},
}

with MCPServerAdapter(server_params) as tools:
    ops = Agent(
        role="Social ops",
        goal="Operate TikTok accounts through TokPortal tools.",
        backstory="Runs bundles, videos and analytics via the TokPortal MCP server.",
        tools=tools,
        verbose=True,
    )
    task = Task(
        description="Check the credit balance and list published bundles.",
        expected_output="A short report with balance and bundle ids.",
        agent=ops,
    )
    Crew(agents=[ops], tasks=[task], process=Process.sequential).kickoff()

Filter tools with tools["tokportal_get_credit_balance", "tokportal_list_bundles"] for read-only crews. (headers is passed through to the underlying MCP client; the CrewAI docs sample only shows url + transport.)

Snippet status: verified against CrewAI's documentation (source).

Try it

Evaluate this workflow in the TokPortal sandbox only.
Use the remote MCP endpoint https://app.tokportal.com/api/ext/mcp or local tokportal-mcp 1.15.1 or later for write tools.
Verify the installed local version before using its write tools. Version 1.15.0 is unsafe for simulations.
If the local version is older or unknown, use the remote endpoint or authenticated REST
requests with X-TokPortal-Dry-Run: true instead.
For every non-GET MCP tool call, set dry_run: true as a top-level boolean beside body.
For every REST write in a workflow, send the X-TokPortal-Dry-Run: true header.
Use normal read tools for existing real objects. Do not GET or poll synthetic IDs,
and do not upload files to simulated upload URLs. Simulated objects have no cross-call memory.
Show credits_would_charge and verify credits_charged is 0 for each simulated write.
Do not execute any live write. Ask for my explicit GO before the first real write,
including bundle creation, which charges immediately. After GO, repeat creation
without dry_run and use the new real IDs; never reuse synthetic IDs in live requests.

Task description: "Create a TikTok bundle in the US with 6 videos,
configure the account as @{{brand}}_us, then stop and return the
bundle id and the publish-readiness result. Do not publish."

Try the workflow without spending

For this trial, use the remote MCP endpoint https://app.tokportal.com/api/ext/mcp, local tokportal-mcp 1.15.1 or later, or the REST API. Upgrade and restart an older local server first. Version 1.15.0 does not forward the dry-run header; do not use its write tools for a simulation. If you cannot verify the installed local version, use the remote endpoint or REST.

Use the sandbox for the first attempt. MCP write tools accept dry_run: true as a top-level argument, beside body; REST writes accept the X-TokPortal-Dry-Run: true header. Keep your usual authentication and scopes. Each simulated write validates the request and returns credits_would_charge with credits_charged: 0. Nothing is created or published.

Simulated IDs start with 00000000-0000-4000-8000-. Use them only in later dry-run writes. GET requests read real data, so skip publish-readiness checks and polling for synthetic IDs. Simulations have no cross-call memory and upload URLs are placeholders: do not upload files to them.

To run for real, review the returned price and confirm before the first live write. Bundle creation charges credits immediately; publishing hands the order to a manager. Repeat creation without dry-run mode and use the new real IDs for configuration and publishing. A synthetic ID cannot be reused in a live request.

Try a free account-creation request

Evaluate this workflow in the TokPortal sandbox only.
Use the remote MCP endpoint https://app.tokportal.com/api/ext/mcp or local tokportal-mcp 1.15.1 or later for write tools.
Verify the installed local version before using its write tools. Version 1.15.0 is unsafe for simulations.
If the local version is older or unknown, use the remote endpoint or authenticated REST
requests with X-TokPortal-Dry-Run: true instead.
For every non-GET MCP tool call, set dry_run: true as a top-level boolean beside body.
For every REST write in a workflow, send the X-TokPortal-Dry-Run: true header.
Use normal read tools for existing real objects. Do not GET or poll synthetic IDs,
and do not upload files to simulated upload URLs. Simulated objects have no cross-call memory.
Show credits_would_charge and verify credits_charged is 0 for each simulated write.
Do not execute any live write. Ask for my explicit GO before the first real write,
including bundle creation, which charges immediately. After GO, repeat creation
without dry_run and use the new real IDs; never reuse synthetic IDs in live requests.

Use the TokPortal MCP tools. Call tokportal_list_countries, then simulate tokportal_create_bundle with bundle_type account_only, platform tiktok and a country returned as available for new accounts. Show the returned credits_would_charge. If your connector is read-only, explain which scope is missing instead of making a live request.

Jobs you can run from CrewAI

  • Create TikTok accounts — Create geo-targeted TikTok accounts from CrewAI with the TokPortal MCP tools: create_bundle → configure_bundle_account → publish_bundle → list_accounts.
  • Post 100 TikTok videos a day — Post 100+ TikTok videos a day from CrewAI: spread slots across ≥34 TokPortal bundles (3 videos/day/bundle cap), batch-configure, publish, track finalization.
  • Run US TikTok accounts from abroad — Operate US TikTok accounts from anywhere with CrewAI: TokPortal creates and posts on accounts held by US-based managers — no VPN, no US SIM, no per-account OAuth.
  • Warm TikTok & Instagram accounts — Warm accounts on niche search terms from CrewAI: generate_warming_terms → configure_bundle_warming_terms / rewarm_account, verified sessions, warming.* webhooks.
  • Run a faceless TikTok channel — Run a faceless TikTok channel from CrewAI: AI-generated clips → upload_video → 3 dated posts a day via batch_configure_bundle_videos, AI label on, human-operated account.
  • Seed UGC across many accounts — Seed UGC from CrewAI: the same creative on N geo-targeted TikTok/Instagram accounts via create_bundles_bulk, disclose_as_ads, per-account analytics.
  • Seed a music sound on TikTok — Seed a TikTok sound from CrewAI: many geo-targeted accounts posting with tiktok_sound_url on the same track, staggered dates, per-video analytics for the label.
  • Launch an app with persona accounts — Launch an app with persona accounts from CrewAI: several TikTok/Instagram characters, each a managed account with bio link, warming and a 30-day content plan.
  • Run multi-client agency operations — Run an agency's TikTok/Instagram operations from CrewAI: per-client external_ref, bulk account fleets, videos_only reposting, ban webhooks and per-client analytics exports.
  • Get ban alerts via webhooks — Get TikTok/Instagram ban alerts from CrewAI: create_webhook_endpoint for account.banned, ban_appeal.submitted, ban_resolution.decided; list_account_bans as source of truth.
  • Pull analytics across all accounts — Pull TikTok/Instagram analytics across every managed account from CrewAI: get_analytics_dashboard, get_analytics_series, list_account_video_analytics, CSV/HTML exports.
  • Create Instagram accounts — Create geo-targeted Instagram accounts from CrewAI with TokPortal: create_bundle platform=instagram → configure_bundle_account → publish_bundle; Reels, posts, carousels.

Other agents

Claude · Claude Code · ChatGPT · OpenAI Codex · Cursor · Windsurf · Cline · OpenClaw · Hermes Agent · Gemini CLI · Goose · Perplexity · Microsoft Copilot Studio · Factory Droid · n8n · Make · Zapier · Pipedream · Dify · Flowise · Langflow · LangChain · Vercel AI SDK · Mastra

See also: MCP server · Getting started · Credits & Pricing.