TokPortal

Cuentas gestionadas de TikTok/Instagram/YouTube creadas, calentadas y operadas por gestores de cuentas humanos, además de publicación de videos a escala — 91 herramientas, OAuth remoto o npx tokportal-mcp.

Documentación

tokportal-mcp

npm license

TokPortal es la API de infraestructura social gestionada: cuentas reales de TikTok, Instagram y YouTube creadas, calentadas y operadas por gestores de cuentas humanos en más de 16 países, expuestas como API REST y servidor MCP. Sin OAuth por cuenta, sin límite de 25 publicaciones/día, sin revisión de aplicaciones.

Documentación https://developers.tokportal.com · Base de la API https://app.tokportal.com/api/ext · OpenAPI https://developers.tokportal.com/openapi.json · MCP remoto https://app.tokportal.com/api/ext/mcp · Obtén una clave de API https://app.tokportal.com/developer/api-keys · llms.txt https://developers.tokportal.com/llms.txt


tokportal-mcp es el servidor oficial de Model Context Protocol para la API de TokPortal. Expone todas las operaciones públicas de la API (91 herramientas) a Claude, Cursor, VS Code, Windsurf, Codex, Gemini CLI y cualquier otro cliente MCP: crea paquetes, sube vídeos, configura y publica cuentas, lee analíticas y gestiona webhooks.

Dos formas de usarlo:

ModoTransporteCuándo usarlo
Local (npx tokportal-mcp)stdioClientes de escritorio, agentes locales, subida de archivos desde el disco
Remoto (https://app.tokportal.com/api/ext/mcp)Streamable HTTPAgentes alojados, sin instalación; mismo catálogo de herramientas

Requiere Node.js 20 o superior para el servidor local. Obtén una clave de API en https://app.tokportal.com/developer/api-keys (formato sk_ + 64 caracteres hexadecimales).

Inicio rápido en 30 segundos

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

El servidor habla MCP a través de stdio. Apunta cualquier cliente MCP hacia él y pide, por ejemplo:

"Crea un paquete de TikTok en EE. UU. con 5 vídeos, sube ./launch.mp4 como vídeo 1 con el pie 'Day 1' y luego publica el paquete."

Esa cadena de llamadas usa tokportal_create_bundletokportal_upload_video_directtokportal_configure_bundle_videotokportal_publish_bundle.

Prueba de humo programática con el SDK de 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);

Configuración del cliente

Sustituye sk_your_key_here por tu clave. Cada fragmento siguiente es el servidor local stdio; la variante con URL remota se indica al final.

Cursor

~/.cursor/mcp.json (o .cursor/mcp.json en un proyecto):

{
  "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 de 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 (Streamable HTTP)

Cualquier cliente que admita servidores MCP remotos puede conectarse a https://app.tokportal.com/api/ext/mcp con una cabecera X-API-Key: sk_... o Authorization: Bearer sk_.... Ejemplo para clientes que usan el formulario url:

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

Variables de entorno

VariableRequeridaDescripción
TOKPORTAL_API_KEYClave de API (sk_ + 64 hex). Solo se almacena un hash SHA-256 en el servidor.
TOKPORTAL_BASE_URLnoPor defecto, https://app.tokportal.com/api/ext.

Cómo funcionan las herramientas

El servidor expone las acciones de la API de TokPortal como herramientas MCP a través de stdio. Se genera a partir del esquema público de la API y usa la misma autenticación X-API-Key que la API HTTP.

  • Los nombres de las herramientas son tokportal_<operation_id_snake_case> (tokportal_create_bundle, tokportal_list_accounts, ...). Los parámetros de ruta y consulta son entradas de nivel superior; los cuerpos JSON van en body.
  • Cada herramienta lleva anotaciones MCP: title, readOnlyHint (GET), destructiveHint (DELETE / cancel / unpublish / reset / unschedule / revoke), idempotentHint (GET/PUT/DELETE) y openWorldHint: false, para que los clientes puedan pedir confirmación en llamadas destructivas.
  • Las herramientas de subida multipart también se generan desde OpenAPI. Los campos binarios se exponen como entradas de ruta local, como file_path, y el resto de campos del formulario se exponen con sus nombres de esquema.
  • Las mutaciones aceptan un idempotency_key opcional (enviado como Idempotency-Key), excepto las operaciones que contienen secretos (revelación de credenciales, códigos de verificación, creación de webhooks, URL de subida firmadas, creación de informes), que nunca se reproducen.

El servidor MCP envía X-TokPortal-Client: tokportal-mcp/1.12.1 en las peticiones a la API para observabilidad y diagnósticos de soporte.

Las llamadas a herramientas fallidas devuelven un resultado de error con un objeto diagnostics que contiene request_id, retry_after_seconds y rate_limit cuando esas cabeceras están disponibles.

La configuración heredada con el binario instalado globalmente sigue funcionando:

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

Fuente de verdad

Este paquete se genera a partir del esquema OpenAPI público de TokPortal (https://developers.tokportal.com/openapi.json) en el monorepo privado de TokPortal. src/generated.ts se regenera en cada versión: no lo edites a mano. Consulta CONTRIBUTING.md para saber qué aceptamos como PR y SECURITY.md para notificar vulnerabilidades.

Enlaces

MIT © TokPortal