TokPortal

Contas gerenciadas de TikTok/Instagram/YouTube criadas, aquecidas e operadas por gestores humanos de contas, além de postagem de vídeos em escala — 91 ferramentas, OAuth remoto ou npx tokportal-mcp.

Documentação

tokportal-mcp

npm license

TokPortal é a API de infraestrutura social gerenciada: contas de marca reais do TikTok e Instagram criadas, aquecidas e operadas por gerentes de conta humanos em mais de 16 países, expostas como uma API REST e um servidor MCP. Execute geo-sharding entre mercados sem conectar cada conta social via OAuth. A criação de pacotes do YouTube não está disponível através desta API.

Atualize antes de usar o sandbox: o tokportal-mcp local requer 1.15.1 ou mais recente para o dry_run. A versão 1.15.0 anunciava o argumento, mas não enviava o cabeçalho do sandbox, então uma pré-visualização poderia executar uma operação real. Atualize e reinicie um servidor local antigo primeiro. Se você não conseguir verificar a versão local em execução, use o conector remoto ou REST com X-TokPortal-Dry-Run: true.

Documentação https://developers.tokportal.com · Base da API https://app.tokportal.com/api/ext · OpenAPI https://developers.tokportal.com/openapi.json · MCP remoto https://app.tokportal.com/api/ext/mcp · Obtenha uma chave de API 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 é o servidor oficial do Model Context Protocol para a API TokPortal. Ele expõe todas as operações públicas da API (91 ferramentas) para Claude, Cursor, VS Code, Windsurf, Codex, Gemini CLI e qualquer outro cliente MCP — crie pacotes, envie vídeos, configure e publique contas, leia análises, gerencie webhooks.

Duas maneiras de usá-lo:

ModoTransporteQuando usar
Local (npx tokportal-mcp@1.15.1)stdioClientes de desktop, agentes locais, uploads de arquivos do disco
Remoto (https://app.tokportal.com/api/ext/mcp)HTTP StreamableAgentes hospedados, sem instalação; mesmo catálogo de ferramentas

Requer Node.js 20 ou mais recente. O servidor local roda diretamente nele. Obtenha uma chave de API em https://app.tokportal.com/developer/api-keys?utm_source=npm&utm_medium=readme&utm_campaign=tokportal-mcp (formato sk_ + 64 caracteres hexadecimais).

Início rápido em 30 segundos

npm install -g tokportal-mcp@1.15.1
TOKPORTAL_API_KEY=sk_your_key_here tokportal-mcp

O servidor fala MCP via stdio. Aponte qualquer cliente MCP para ele e pergunte, por exemplo:

"Leia os países disponíveis, preços de créditos e meu saldo. Pré-visualize um pacote somente de conta TikTok nos EUA com dry_run: true. Mostre-me os custos imediatos e recorrentes, e aguarde meu GO antes de qualquer compra ao vivo."

A pré-visualização chama tokportal_create_bundle com { "dry_run": true, "body": { "bundle_type": "account_only", "platform": "tiktok", "country": "USA" } }. Ela valida a solicitação e retorna credits_would_charge com credits_charged: 0, sem criar trabalho. A criação em modo ao vivo é cobrada imediatamente. IDs de pré-visualização são sintéticos e nunca devem ser reutilizados em solicitações ao vivo. Após o GO, crie os recursos reais e use seus IDs ao vivo. Consulte o contrato do sandbox.

Teste programático somente leitura para stdio local com o SDK MCP (isso não testa nem usa o sandbox):

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@1.15.1"],
    env: { ...process.env, TOKPORTAL_API_KEY: process.env.TOKPORTAL_API_KEY },
  }),
);

const { tools } = await client.listTools(); // 91 tools
const me = await client.callTool({ name: "tokportal_get_current_user", arguments: {} });
console.log(tools.length, me.content[0].text);

Configuração do cliente

Os trechos locais de stdio fixam a versão 1.15.1, que encaminha o cabeçalho do sandbox. Reinicie o servidor após atualizar uma configuração existente. Para uma instalação global, execute npm install --global tokportal-mcp@1.15.1 e reinicie o servidor. Substitua sk_your_key_here pela sua chave.

Cursor

~/.cursor/mcp.json (ou .cursor/mcp.json em um projeto):

{
  "mcpServers": {
    "tokportal": {
      "command": "npx",
      "args": ["-y", "tokportal-mcp@1.15.1"],
      "env": { "TOKPORTAL_API_KEY": "sk_your_key_here" }
    }
  }
}

Claude Desktop

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

{
  "mcpServers": {
    "tokportal": {
      "command": "npx",
      "args": ["-y", "tokportal-mcp@1.15.1"],
      "env": { "TOKPORTAL_API_KEY": "sk_your_key_here" }
    }
  }
}

Claude Code

claude mcp add tokportal -e TOKPORTAL_API_KEY=sk_your_key_here -- npx -y tokportal-mcp@1.15.1
# 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 (modo agente do GitHub Copilot)

.vscode/mcp.json:

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

Windsurf

~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "tokportal": {
      "command": "npx",
      "args": ["-y", "tokportal-mcp@1.15.1"],
      "env": { "TOKPORTAL_API_KEY": "sk_your_key_here" }
    }
  }
}

OpenAI Codex CLI

~/.codex/config.toml:

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

Gemini CLI

~/.gemini/settings.json:

{
  "mcpServers": {
    "tokportal": {
      "command": "npx",
      "args": ["-y", "tokportal-mcp@1.15.1"],
      "env": { "TOKPORTAL_API_KEY": "sk_your_key_here" }
    }
  }
}

Servidor remoto (HTTP Streamable)

Qualquer cliente que suporte servidores MCP remotos pode se conectar a https://app.tokportal.com/api/ext/mcp com um cabeçalho X-API-Key: sk_... ou Authorization: Bearer sk_.... Exemplo para clientes que usam o formulário url:

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

Variáveis de ambiente

VariávelObrigatóriaDescrição
TOKPORTAL_API_KEYsimChave de API (sk_ + 64 hex). Apenas um hash SHA-256 é armazenado no servidor.
TOKPORTAL_BASE_URLnãoPadrão para https://app.tokportal.com/api/ext.

Como as ferramentas funcionam

O servidor expõe ações da API TokPortal como ferramentas MCP via stdio. Ele é gerado a partir do esquema público da API e usa a mesma autenticação X-API-Key que a API HTTP.

  • Os nomes das ferramentas são tokportal_<operation_id_snake_case> (tokportal_create_bundle, tokportal_list_accounts, ...). Parâmetros de caminho e consulta são entradas de nível superior; corpos JSON vão em body.
  • Cada ferramenta carrega title, readOnlyHint, destructiveHint, idempotentHint e openWorldHint. Leia as anotações de cada ferramenta: operações pagas e ações irreversíveis podem ser destrutivas mesmo quando não excluem nada.
  • Na versão local 1.15.1 ou posterior e no conector remoto, toda ferramenta não-GET aceita dry_run: true de nível superior, enviado como X-TokPortal-Dry-Run: true. Ele nunca é colocado na consulta ou no corpo da solicitação. Execuções de teste consomem limites de taxa normais, mas não consomem um idempotency_key; use a mesma chave para uma solicitação ao vivo posterior se a operação suportar idempotência.
  • Ferramentas de upload multipart também são geradas a partir do OpenAPI. Campos binários são expostos como entradas de caminho local, como file_path, com os campos de formulário restantes expostos por seus nomes de esquema.
  • Mutações aceitam um idempotency_key opcional (enviado como Idempotency-Key), exceto para operações que contêm segredos (revelação de credenciais, códigos de verificação, criação de webhooks, URLs de upload assinadas, criação de relatórios) que nunca são repetidas.

A versão local 1.15.1 envia X-TokPortal-Client: tokportal-mcp/1.15.1 em solicitações de API para observabilidade e diagnóstico de suporte.

Chamadas de ferramenta com falha retornam um resultado de erro com um objeto diagnostics contendo request_id, retry_after_seconds e rate_limit quando esses cabeçalhos estão disponíveis.

A configuração legada usando o binário instalado globalmente ainda funciona:

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

Fonte da verdade

Este pacote é gerado a partir do esquema público OpenAPI da TokPortal (https://developers.tokportal.com/openapi.json) no monorepo privado da TokPortal. src/generated.ts é regenerado a cada lançamento — não o edite manualmente. Consulte CONTRIBUTING.md para o que aceitamos como PRs e SECURITY.md para relatar vulnerabilidades.

Links

MIT © TokPortal