TokPortal logo

TokPortal

Managed TikTok/Instagram/YouTube accounts + video posting at scale, operated by human managers.

Install TokPortal

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "tokportal": {
      "command": "npx",
      "args": [
        "-y",
        "tokportal-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 108 tools correctly (1d ago).

Overview

Tools108

What TokPortal lets your agent do. Expand a tool for its parameters.

Verified live~43.8k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

12/12 checks healthy over the last 60d

What it can do

From the 108 tools this server returned when we ran it; 108 declare their own safety hints.

Runs commands · 2Can delete or modify data · 26Handles credentials · 14Makes network requests · 48Read-only tools · 82
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceNot published
Package age257 days
Maintainers1

Observed 2026-10-27 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 8d ago via OSV.dev · tokportal-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
npm downloads684Package downloads in the last 30 days.
Last commit12d agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed108Callable tools this server registers over MCP.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

From the project README

tokportal-mcp

npm license

TokPortal is the managed social infrastructure API: real TikTok and Instagram brand accounts created, warmed and operated by human account managers in 16+ countries, exposed as a REST API and an MCP server. Run geo-sharding across markets without connecting every social account through OAuth. YouTube bundle creation is not available through this API.

Upgrade before using the sandbox: local tokportal-mcp requires 1.15.1 or newer for dry_run. Version 1.15.0 advertised the argument but did not send the sandbox header, so a preview could execute a real operation. Update your local server or use the remote connector.

Docs https://developers.tokportal.com · API base https://app.tokportal.com/api/ext · OpenAPI https://developers.tokportal.com/openapi.json · MCP remote https://app.tokportal.com/api/ext/mcp · Get an API key https://app.tokportal.com/developer/api-keys?utm_source=npm&utm_medium=readme&utm_campaign=tokportal-mcp · llms.txt https://developers.tokportal.com/llms.txt


tokportal-mcp is the official Model Context Protocol server for the TokPortal API. Its core tools remain available to Claude, Cursor, VS Code, Windsurf, Codex, Gemini CLI and other MCP clients. When AI is enabled for your workspace, seven additional curated tools cover model discovery, quoted generation, media management and the separate AI USD wallet. Model-specific schemas are fetched on demand, not exposed as hundreds of tools.

Two ways to use it:

ModeTransportWhen to use
Local (npx tokportal-mcp)stdioDesktop clients, local agents, file uploads from disk
Remote (https://app.tokportal.com/api/ext/mcp)Streamable HTTPHosted agents, no install; same tool catalogue

Requires Node.js 20 or newer. The local server runs on it directly. Get an API key at https://app.tokportal.com/developer/api-keys?utm_source=npm&utm_medium=readme&utm_campaign=tokportal-mcp (format sk_ + 64 hex chars).

30-second quickstart

Terminal
npm install -g tokportal-mcp@1.22.0
TOKPORTAL_API_KEY=sk_your_key_here tokportal-mcp

The server speaks MCP over stdio. Point any MCP client at it and ask, for example:

"Read the available countries, credit prices and my balance. Preview a TikTok account-only bundle in the USA with dry_run: true. Show me the immediate and recurring costs, and wait for my GO before any live purchase."

The preview calls tokportal_create_bundle with { "dry_run": true, "body": { "bundle_type": "account_only", "platform": "tiktok", "country": "USA" } }. It validates the request and returns credits_would_charge with credits_charged: 0, without creating work. Creation in live mode is charged immediately. Preview IDs are synthetic and must never be reused in live requests. After GO, create the real resources and use their live IDs. See the sandbox contract.

Programmatic smoke test with the MCP SDK:

server.ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";

const client = new Client({ name: "demo", version: "1.0.0" });
await client.connect(
  new StdioClientTransport({
    command: "npx",
    args: ["-y", "tokportal-mcp"],
    env: { ...process.env, TOKPORTAL_API_KEY: process.env.TOKPORTAL_API_KEY },
  }),
);

const { tools } = await client.listTools(); // Core tools, plus 7 when AI is enabled
const me = await client.callTool({ name: "tokportal_get_current_user", arguments: {} });
console.log(tools.length, me.content[0].text);

AI generation (staged availability)

AI discovery calls authenticated GET /ai/status. If unavailable, only the existing catalogue is shown; no provider fallback or automatic payment is attempted. Local AI support requires 1.16.0 or newer and server-side availability. Installing this package does not enable generation, grant spending permissions or activate billing. Version 1.15.1 retains the existing account-management tools without AI discovery. Remote availability is controlled server-side.

Generation requires body: { quote_id, max_cost_usd } and idempotency_key. Reuse the same key after an uncertain response. Quotes expire within 15 minutes; use the returned expiry. The AI dollar wallet is independent of account-management credits. AI tools do not accept the legacy dry_run contract; use the quote operation, which does not start paid provider work. Cancellation is best effort, not a refund guarantee. Creation does not publish: review the returned assets, then use existing TokPortal scheduling tools.

Client configuration

Replace sk_your_key_here with your key. Every snippet below is the local stdio server; the remote URL variant is listed at the end.

Cursor

~/.cursor/mcp.json (or .cursor/mcp.json in a project):

config.json
{
  "mcpServers": {
    "tokportal": {
      "command": "npx",
      "args": ["-y", "tokportal-mcp"],
      "env": { "TOKPORTAL_API_KEY": "sk_your_key_here" }
    }
  }
}

Claude Desktop

claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):

config.json
{
  "mcpServers": {
    "tokportal": {
      "command": "npx",
      "args": ["-y", "tokportal-mcp"],
      "env": { "TOKPORTAL_API_KEY": "sk_your_key_here" }
    }
  }
}

Claude Code

Terminal
claude mcp add tokportal -e TOKPORTAL_API_KEY=sk_your_key_here -- npx -y tokportal-mcp
# or the remote server:
claude mcp add --transport http tokportal https://app.tokportal.com/api/ext/mcp --header "X-API-Key: sk_your_key_here"

VS Code (GitHub Copilot agent mode)

.vscode/mcp.json:

config.json
{
  "servers": {
    "tokportal": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "tokportal-mcp"],
      "env": { "TOKPORTAL_API_KEY": "sk_your_key_here" }
    }
  }
}

Windsurf

~/.codeium/windsurf/mcp_config.json:

config.json
{
  "mcpServers": {
    "tokportal": {
      "command": "npx",
      "args": ["-y", "tokportal-mcp"],
      "env": { "TOKPORTAL_API_KEY": "sk_your_key_here" }
    }
  }
}

OpenAI Codex CLI

~/.codex/config.toml:

toml
[mcp_servers.tokportal]
command = "npx"
args = ["-y", "tokportal-mcp"]
env = { TOKPORTAL_API_KEY = "sk_your_key_here" }

Gemini CLI

~/.gemini/settings.json:

config.json
{
  "mcpServers": {
    "tokportal": {
      "command": "npx",
      "args": ["-y", "tokportal-mcp"],
      "env": { "TOKPORTAL_API_KEY": "sk_your_key_here" }
    }
  }
}

Remote server (Streamable HTTP)

Any client that supports remote MCP servers can connect to https://app.tokportal.com/api/ext/mcp with either an X-API-Key: sk_... header or Authorization: Bearer sk_.... Example for clients using the url form:

config.json
{
  "mcpServers": {
    "tokportal": {
      "url": "https://app.tokportal.com/api/ext/mcp",
      "headers": { "X-API-Key": "sk_your_key_here" }
    }
  }
}

Environment variables

VariableRequiredDescription
TOKPORTAL_API_KEYyesAPI key (sk_ + 64 hex). Only a SHA-256 hash is stored server-side.
TOKPORTAL_BASE_URLnoDefaults to https://app.tokportal.com/api/ext.

How the tools work

The server exposes TokPortal API actions as MCP tools over stdio. It is generated from the public API schema and uses the same X-API-Key authentication as the HTTP API.

  • Tool names are tokportal_<operation_id_snake_case> (tokportal_create_bundle, tokportal_list_accounts, ...). Path and query parameters are top-level inputs; JSON bodies go in body.
  • Every tool carries title, readOnlyHint, destructiveHint, idempotentHint and openWorldHint. Read the annotations on each tool: paid operations and irreversible actions can be destructive even when they do not delete anything.
  • Every non-GET tool accepts top-level dry_run: true, sent as X-TokPortal-Dry-Run: true. It is never placed in the query or request body. Dry runs consume normal rate limits but do not consume an idempotency_key; use the same key for a later live request if its operation supports idempotency.
  • Multipart upload tools are generated from OpenAPI too. Binary fields are exposed as local path inputs such as file_path, with the remaining form fields exposed by their schema names.
  • Mutations accept an optional idempotency_key (sent as Idempotency-Key) except for secret-bearing operations (credential reveal, verification codes, webhook creation, signed upload URLs, report creation) which are never replayed.

The MCP server sends X-TokPortal-Client: tokportal-mcp/1.22.0 on API requests for observability and support diagnostics.

Failed tool calls return an error result with a diagnostics object containing request_id, retry_after_seconds, and rate_limit when those headers are available.

Legacy config using the globally installed binary still works:

config.json
{
  "mcpServers": {
    "tokportal": {
      "command": "tokportal-mcp",
      "env": {
        "TOKPORTAL_API_KEY": "sk_your_key_here"
      }
    }
  }
}

Source of truth

This package is generated from the TokPortal public OpenAPI schema (https://developers.tokportal.com/openapi.json) in the private TokPortal monorepo. src/generated.ts is regenerated on every release — do not edit it by hand. See CONTRIBUTING.md for what we accept as PRs and SECURITY.md for vulnerability reporting.

Links

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about TokPortal

TokPortal is an MCP server that exposes the TokPortal managed social infrastructure API to MCP clients. It provides access to real TikTok and Instagram brand accounts created, warmed, and operated by human account managers in 16+ countries, plus video posting at scale. The server supports local stdio and remote Streamable HTTP connections; YouTube bundle creation is unavailable through this API.

Run TokPortal locally with Node.js 20 or newer by installing the package and setting your API key: `npm install -g tokportal-mcp@1.22.0` followed by `TOKPORTAL_API_KEY=sk_your_key_here tokportal-mcp`. The local server communicates with MCP clients over stdio.

Yes, TokPortal provides a remote MCP endpoint at `https://app.tokportal.com/api/ext/mcp`. The remote connector uses Streamable HTTP, requires no local installation, and exposes the same tool catalogue as the local server.

Use `tokportal_create_bundle` with `dry_run: true` to validate a request without creating work or charging credits. The preview returns `credits_would_charge` and `credits_charged: 0`; use local `tokportal-mcp` version 1.15.1 or newer because version 1.15.0 did not send the sandbox header.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewTokPortal AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/tokportal?style=directory)](https://allmcps.com/mcp/tokportal)
HTML Embed
<a href="https://allmcps.com/mcp/tokportal"><img src="https://allmcps.com/api/badge/tokportal?style=directory" alt="TokPortal on AllMCPs" /></a>