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
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:
| Modo | Transporte | Cuándo usarlo |
|---|---|---|
Local (npx tokportal-mcp) | stdio | Clientes de escritorio, agentes locales, subida de archivos desde el disco |
Remoto (https://app.tokportal.com/api/ext/mcp) | Streamable HTTP | Agentes 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.mp4como vídeo 1 con el pie 'Day 1' y luego publica el paquete."
Esa cadena de llamadas usa tokportal_create_bundle → tokportal_upload_video_direct → tokportal_configure_bundle_video → tokportal_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
| Variable | Requerida | Descripción |
|---|---|---|
TOKPORTAL_API_KEY | sí | Clave de API (sk_ + 64 hex). Solo se almacena un hash SHA-256 en el servidor. |
TOKPORTAL_BASE_URL | no | Por 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 enbody. - Cada herramienta lleva anotaciones MCP:
title,readOnlyHint(GET),destructiveHint(DELETE / cancel / unpublish / reset / unschedule / revoke),idempotentHint(GET/PUT/DELETE) yopenWorldHint: 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_keyopcional (enviado comoIdempotency-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
- Documentación: https://developers.tokportal.com
- Guía de MCP: https://developers.tokportal.com/mcp
- SDK y CLI: https://developers.tokportal.com/sdks-cli
- Referencia de la API (OpenAPI): https://developers.tokportal.com/openapi.json
- Otros paquetes:
@tokportal/node·@tokportal/cli·tokportal(PyPI) ·github.com/tokportal/tokportal-go
MIT © TokPortal