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
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:
| Modo | Transporte | Quando usar |
|---|---|---|
Local (npx tokportal-mcp@1.15.1) | stdio | Clientes de desktop, agentes locais, uploads de arquivos do disco |
Remoto (https://app.tokportal.com/api/ext/mcp) | HTTP Streamable | Agentes 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ável | Obrigatória | Descrição |
|---|---|---|
TOKPORTAL_API_KEY | sim | Chave de API (sk_ + 64 hex). Apenas um hash SHA-256 é armazenado no servidor. |
TOKPORTAL_BASE_URL | não | Padrã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 embody. - Cada ferramenta carrega
title,readOnlyHint,destructiveHint,idempotentHinteopenWorldHint. 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: truede nível superior, enviado comoX-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 umidempotency_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_keyopcional (enviado comoIdempotency-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
- Documentação: https://developers.tokportal.com
- Guia MCP: https://developers.tokportal.com/mcp
- SDKs e CLI: https://developers.tokportal.com/sdks-cli
- Referência da API (OpenAPI): https://developers.tokportal.com/openapi.json
- Outros pacotes:
@tokportal/node·@tokportal/cli·tokportal(PyPI) ·github.com/tokportal/tokportal-go
MIT © TokPortal