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 e Instagram creadas, calentadas y operadas por gestores de cuentas humanos en más de 16 países, expuestas como API REST y servidor MCP. Ejecuta geo-segmentación entre mercados sin conectar cada cuenta social mediante OAuth. La creación de paquetes de YouTube no está disponible a través de esta API.
Actualiza antes de usar el sandbox: el tokportal-mcp local requiere 1.15.1 o superior para dry_run. La versión 1.15.0 anunciaba el argumento pero no enviaba el encabezado del sandbox, por lo que una vista previa podía ejecutar una operación real. Actualiza y reinicia primero un servidor local antiguo. Si no puedes verificar la versión local en ejecución, usa el conector remoto o REST con X-TokPortal-Dry-Run: true.
Documentación https://developers.tokportal.com · Base de 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?utm_source=npm&utm_medium=readme&utm_campaign=tokportal-mcp · llms.txt https://developers.tokportal.com/llms.txt
tokportal-mcp es el servidor oficial de Model Context Protocol para la API de TokPortal. Expone cada operación pública de la API (91 herramientas) a Claude, Cursor, VS Code, Windsurf, Codex, Gemini CLI y cualquier otro cliente MCP: crea paquetes, sube videos, configura y publica cuentas, lee análisis, gestiona webhooks.
Dos formas de usarlo:
| Modo | Transporte | Cuándo usarlo |
|---|---|---|
Local (npx tokportal-mcp@1.15.1) | stdio | Clientes de escritorio, agentes locales, subidas de archivos desde disco |
Remoto (https://app.tokportal.com/api/ext/mcp) | HTTP Streamable | Agentes alojados, sin instalación; mismo catálogo de herramientas |
Requiere Node.js 20 o superior. El servidor local se ejecuta directamente sobre él. Obtén una clave de API en https://app.tokportal.com/developer/api-keys?utm_source=npm&utm_medium=readme&utm_campaign=tokportal-mcp (formato sk_ + 64 caracteres hexadecimales).
Inicio rápido en 30 segundos
npm install -g tokportal-mcp@1.15.1
TOKPORTAL_API_KEY=sk_your_key_here tokportal-mcp
El servidor habla MCP sobre stdio. Apunta cualquier cliente MCP hacia él y pregunta, por ejemplo:
"Lee los países disponibles, los precios de créditos y mi saldo. Previsualiza un paquete de solo cuentas de TikTok en EE. UU. con dry_run: true. Muéstrame los costos inmediatos y recurrentes, y espera mi GO antes de cualquier compra en vivo."
La vista previa llama a tokportal_create_bundle con { "dry_run": true, "body": { "bundle_type": "account_only", "platform": "tiktok", "country": "USA" } }. Valida la solicitud y devuelve credits_would_charge con credits_charged: 0, sin crear trabajo. La creación en modo en vivo se cobra de inmediato. Los IDs de vista previa son sintéticos y nunca deben reutilizarse en solicitudes en vivo. Después del GO, crea los recursos reales y usa sus IDs en vivo. Consulta el contrato del sandbox.
Prueba de humo programática de solo lectura para stdio local con el SDK de MCP (esto no prueba ni usa el 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);
Configuración del cliente
Los fragmentos locales de stdio fijan la versión 1.15.1, que reenvía el encabezado del sandbox. Reinicia el servidor después de actualizar una configuración existente. Para una instalación global, ejecuta npm install --global tokportal-mcp@1.15.1 y reinicia el servidor. Reemplaza sk_your_key_here con tu clave.
Cursor
~/.cursor/mcp.json (o .cursor/mcp.json en un proyecto):
{
"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 de 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)
Cualquier cliente que admita servidores MCP remotos puede conectarse a
https://app.tokportal.com/api/ext/mcp con un encabezado X-API-Key: sk_...
o Authorization: Bearer sk_.... Ejemplo para clientes que usan el formato 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 hexadecimales). Solo se almacena un hash SHA-256 en el servidor. |
TOKPORTAL_BASE_URL | no | Por defecto es https://app.tokportal.com/api/ext. |
Cómo funcionan las herramientas
El servidor expone las acciones de la API de TokPortal como herramientas MCP sobre 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
title,readOnlyHint,destructiveHint,idempotentHintyopenWorldHint. Lee las anotaciones de cada herramienta: las operaciones de pago y las acciones irreversibles pueden ser destructivas incluso cuando no eliminan nada. - En la versión local 1.15.1 o posterior y en el conector remoto, cada herramienta que no sea GET acepta
dry_run: truede nivel superior, enviado comoX-TokPortal-Dry-Run: true. Nunca se coloca en la consulta ni en el cuerpo de la solicitud. Las ejecuciones en seco consumen límites de velocidad normales pero no consumen unidempotency_key; usa la misma clave para una solicitud en vivo posterior si su operación admite idempotencia. - Las herramientas de subida multiparte también se generan desde OpenAPI. Los campos binarios se exponen como entradas de ruta local, como
file_path, con los campos de formulario restantes expuestos por 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, URLs de subida firmadas, creación de informes) que nunca se reproducen.
La versión local 1.15.1 envía X-TokPortal-Client: tokportal-mcp/1.15.1 en las solicitudes de API para observabilidad y diagnóstico 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 esos encabezados están disponibles.
La configuración heredada que usa 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 público de OpenAPI 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 lo que aceptamos como PRs y SECURITY.md para informar vulnerabilidades.
Enlaces
- Documentación: https://developers.tokportal.com
- Guía de MCP: https://developers.tokportal.com/mcp
- SDKs y CLI: https://developers.tokportal.com/sdks-cli
- Referencia de API (OpenAPI): https://developers.tokportal.com/openapi.json
- Otros paquetes:
@tokportal/node·@tokportal/cli·tokportal(PyPI) ·github.com/tokportal/tokportal-go
MIT © TokPortal