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 reais de TikTok, Instagram e YouTube criadas, aquecidas e operadas por gestores de contas humanos em mais de 16 países — expostas como uma API REST e um servidor MCP. Sem OAuth por conta, sem limite de 25 posts/dia, sem revisão de aplicativo.
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 · 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 formas de usar:
| Modo | Transporte | Quando usar |
|---|---|---|
Local (npx tokportal-mcp) | stdio | Clientes de desktop, agentes locais, upload 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 superior para o servidor local. Obtenha uma chave de API em https://app.tokportal.com/developer/api-keys (formato sk_ + 64 caracteres hexadecimais).
Início rápido em 30 segundos
npm install -g tokportal-mcp
TOKPORTAL_API_KEY=sk_your_key_here tokportal-mcp
O servidor fala MCP via stdio. Aponte qualquer cliente MCP para ele e peça, por exemplo:
"Crie um pacote de TikTok nos EUA com 5 vídeos, envie
./launch.mp4como vídeo 1 com a legenda 'Dia 1' e depois publique o pacote."
Essa cadeia de chamadas usa tokportal_create_bundle → tokportal_upload_video_direct → tokportal_configure_bundle_video → tokportal_publish_bundle.
Teste programático com o SDK MCP:
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(); // 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
Substitua sk_your_key_here pela sua chave. Cada trecho abaixo é o servidor local stdio; a variante com URL remota está listada no final.
Cursor
~/.cursor/mcp.json (ou .cursor/mcp.json em um projeto):
{
"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\):
{
"mcpServers": {
"tokportal": {
"command": "npx",
"args": ["-y", "tokportal-mcp"],
"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
# 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"],
"env": { "TOKPORTAL_API_KEY": "sk_your_key_here" }
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"tokportal": {
"command": "npx",
"args": ["-y", "tokportal-mcp"],
"env": { "TOKPORTAL_API_KEY": "sk_your_key_here" }
}
}
}
OpenAI Codex CLI
~/.codex/config.toml:
[mcp_servers.tokportal]
command = "npx"
args = ["-y", "tokportal-mcp"]
env = { TOKPORTAL_API_KEY = "sk_your_key_here" }
Gemini CLI
~/.gemini/settings.json:
{
"mcpServers": {
"tokportal": {
"command": "npx",
"args": ["-y", "tokportal-mcp"],
"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 formato 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: https://app.tokportal.com/api/ext. |
Como as ferramentas funcionam
O servidor expõe as 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 da 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 anotações MCP:
title,readOnlyHint(GET),destructiveHint(DELETE / cancelar / despublicar / redefinir / desagendar / revogar),idempotentHint(GET/PUT/DELETE) eopenWorldHint: false, para que os clientes possam pedir confirmação em chamadas destrutivas. - 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 demais campos de formulário expostos pelos nomes do esquema. - Mutações aceitam um
idempotency_keyopcional (enviado comoIdempotency-Key), exceto operações que envolvem 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.
O servidor MCP envia X-TokPortal-Client: tokportal-mcp/1.12.1 nas requisiçõ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 estiverem disponíveis.
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 OpenAPI público do TokPortal
(https://developers.tokportal.com/openapi.json) no monorepo privado do TokPortal.
src/generated.ts é regenerado a cada versão — não o edite
manualmente. Veja CONTRIBUTING.md para o que aceitamos como PRs e
SECURITY.md para reportar 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