Skip to main content
Glama
abdouldotdev

tiktok-downloader-mcp

by abdouldotdev

📱 TikTook Media Downloader & Analytics (CLI & MCP Server)

npm version License: MIT

Suite completa de extracción de TikTok: Ejecútala directamente desde tu terminal como una herramienta CLI independiente (sin necesidad de IA) o conéctala como un servidor Model Context Protocol (MCP) para asistentes de IA (Claude Code, Claude Desktop, Cursor, Windsurf, Antigravity).

Extrae, analiza y descarga en lote videos HD de TikTok (.mp4) y presentaciones de fotos/carruseles en calidad original sin marcas de agua, organizados en carpetas estructuradas por fecha (YYYY-MM-DD_<id>) con análisis completos de interacción de la cuenta.


📑 Tabla de Contenidos


Related MCP server: TikTok MCP Server

✨ Características Principales

  • Ejecución Dual: Úsalo directamente en tu terminal mediante npx o intégralo como servidor MCP con LLMs.

  • 🎥 Videos HD Sin Marca de Agua: Descarga archivos de video .mp4 en alta resolución con miniaturas de portada originales.

  • 📸 Fotos HD Sin Marca de Agua: Extrae fotos originales en resolución completa y diapositivas de carrusel.

  • 📁 Organización por Fecha: Cada publicación se archiva en YYYY-MM-DD_<id>/.

  • 📊 Análisis Completo de Interacción:

    • Visualizaciones Totales (play_count)

    • Me Gusta Totales (digg_count)

    • Comentarios Totales (comment_count)

    • Comparticiones Totales (share_count)

    • Favoritos / Guardados Totales (collect_count)

    • Descargas Totales (download_count)

    • Tasa de Interacción Promedio (%)

    • Publicaciones de Mejor Rendimiento (Más vistas, más gustadas, más compartidas, más comentadas)

  • 📝 Resúmenes JSON de Doble Capa:

    • account_summary.json y account_activity.json en el directorio raíz de la cuenta.

    • post.json y account_activity_recap.json dentro de cada carpeta de publicación.

  • 🚀 Sin Necesidad de Inicio de Sesión / Cookies: Funciona perfectamente desde el primer momento con endpoints públicos de TikTok.


🖥️ Parte 1: Uso de CLI Independiente (Sin Necesidad de IA)

Puedes ejecutar el descargador en tu terminal sin ningún asistente de IA ni configuración.

Opciones de Instalación y Ejecución

# Option A: One-liner via NPX (No installation needed)
npx tiktok-downloader-mcp <arguments>

# Option B: Global NPM install
npm install -g tiktok-downloader-mcp
tiktok-downloader-mcp <arguments>

# Option C: Local Git Clone
git clone https://github.com/abdouldotdev/tiktok-downloader-mcp.git
cd tiktok-downloader-mcp && npm install && npm run build
node dist/index.js <arguments>

Caso 1: Presentación de Fotos Individual

Descarga todas las diapositivas en resolución completa y guarda los metadatos:

npx tiktok-downloader-mcp "https://www.tiktok.com/@username/photo/7405928371928371234"

Estructura generada:

tiktok_downloads/
  └── username/
      └── 2026-08-16_7405928371928371234/
          ├── slide_01.jpg
          ├── slide_02.jpg
          ├── slide_03.jpg
          ├── cover.jpg
          └── post.json

Caso 2: Video HD Individual (MP4)

Descarga el video HD sin marca de agua y su miniatura de portada:

npx tiktok-downloader-mcp "https://www.tiktok.com/@username/video/7106594312292453675"

Estructura generada:

tiktok_downloads/
  └── username/
      └── 2026-08-15_7106594312292453675/
          ├── video.mp4     # Clean HD video without watermark
          ├── cover.jpg     # Video thumbnail
          └── post.json     # Views, likes, comments, sound metadata

Caso 3: Enlaces Cortos Móviles (vm.tiktok.com)

Las URLs móviles acortadas se resuelven automáticamente:

npx tiktok-downloader-mcp "https://vm.tiktok.com/ZMhNxxxx/"

Caso 4: Descarga Masiva de Perfil (Todo)

Escanea un perfil, descarga tanto fotos como videos, y calcula el análisis completo de interacción de la cuenta:

# Download recent 50 posts (default):
npx tiktok-downloader-mcp @username

# Download recent 20 posts:
npx tiktok-downloader-mcp @username --max 20

# Download ALL posts from the profile:
npx tiktok-downloader-mcp @username --max all

Caso 5: Descarga Masiva de Perfil - Solo Fotos

Filtra los videos independientes y descarga solo presentaciones de fotos / carruseles:

npx tiktok-downloader-mcp @username --media photos
# or:
npx tiktok-downloader-mcp @username --photos-only --max 30

Caso 6: Descarga Masiva de Perfil - Solo Videos

Filtra las presentaciones de fotos y descarga solo publicaciones de video HD MP4:

npx tiktok-downloader-mcp @username --media videos
# or:
npx tiktok-downloader-mcp @username --videos-only --max 30

Caso 7: Directorio de Salida Personalizado

Especifica dónde se deben almacenar los archivos:

npx tiktok-downloader-mcp @username --out "/Users/me/Desktop/MyTikTokMedia"

Referencia de Banderas de CLI

Flag

Valores

Valor por Defecto

Descripción

<target>

@username | url

Requerido

Nombre de usuario del perfil, URL del perfil o URL directa de publicación

--media

all | photos | videos

all

Filtrar tipos de medios a descargar

--photos-only

-

false

Atajo para --media photos

--videos-only

-

false

Atajo para --media videos

--max

number | all

50

Número máximo de publicaciones a obtener

--out

path

./tiktok_downloads

Directorio de salida de destino en tu sistema

--help, -h

-

-

Mostrar menú de ayuda


🤖 Parte 2: Configuración del Model Context Protocol (MCP)

Conecta el servidor a un asistente de IA para que el LLM extraiga, analice y descargue contenido de TikTok por ti mediante lenguaje natural.

Configuración de MCP por Plataforma

1. Claude Code CLI (Recomendado)

# Add via NPX:
claude mcp add tiktok-downloader -- npx -y tiktok-downloader-mcp

# Or directly from GitHub:
claude mcp add tiktok-downloader -- npx -y github:abdouldotdev/tiktok-downloader-mcp

Verifica el estado dentro de Claude Code:

/mcp

2. Claude Desktop

Agrega a tu claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "tiktok-downloader": {
      "command": "npx",
      "args": ["-y", "tiktok-downloader-mcp"]
    }
  }
}

3. Cursor y Windsurf

Agrega a .cursor/mcp.json o al proyecto .mcp.json:

{
  "mcpServers": {
    "tiktok-downloader": {
      "command": "npx",
      "args": ["-y", "tiktok-downloader-mcp"]
    }
  }
}

4. CLI de Antigravity

agy mcp add tiktok-downloader -- npx -y tiktok-downloader-mcp

Referencia de Herramientas MCP

Herramienta

Propósito

Parámetros

Ejemplo en Lenguaje Natural

tiktok_extract_post

Extrae URLs de medios sin marca de agua, audio y métricas sin guardar archivos.

url (string)

"Extrae las imágenes, el audio y el número de visualizaciones de este enlace: https://www.tiktok.com/@user/photo/123"

tiktok_get_user_posts

Lista IDs de publicaciones recientes, fechas de subida y URLs de un perfil.

username (string), max (number)

"Lista las últimas 15 publicaciones de @username con sus fechas."

tiktok_download_post

Descarga una sola publicación (fotos o video) en una carpeta de fecha con post.json.

url (string), output_dir (string)

"Descarga este video de TikTok en HD a mi carpeta de descargas."

tiktok_download_user_media

Descarga en lote videos/fotos en carpetas de fecha y crea un account_summary.json global.

username (string), max (number), output_dir (string), media_type ("all"|"photos"|"videos")

"Descarga todos los carruseles de fotos de @username y resume su interacción."

tiktok_get_user_analytics

Calcula totales de cuenta, promedios, tasa de interacción y publicaciones principales sin descargar archivos.

username (string), max (number)

"Analiza la tasa de interacción y las publicaciones de mejor rendimiento de @username."


📊 Esquemas de Metadatos y Análisis

1. account_summary.json (Nivel de Cuenta)

Guardado en la raíz de la carpeta del usuario (tiktok_downloads/<username>/account_summary.json):

{
  "account": {
    "username": "example_user",
    "nickname": "Creator Name",
    "user_id": "7582772389835113485",
    "avatar": "https://.../avatar.jpeg",
    "profile_url": "https://www.tiktok.com/@example_user"
  },
  "activity_totals": {
    "total_posts_analyzed": 50,
    "total_slideshows_count": 32,
    "total_videos_count": 18,
    "total_images_count": 312,
    "total_views": 1066188,
    "total_likes": 17388,
    "total_comments": 6078,
    "total_shares": 410,
    "total_favorites_saves": 2579,
    "total_downloads": 74,
    "total_all_interactions": 26455
  },
  "performance_averages": {
    "avg_views_per_post": 21324,
    "avg_likes_per_post": 348,
    "avg_comments_per_post": 121.6,
    "avg_shares_per_post": 8.2,
    "avg_favorites_per_post": 51.6,
    "avg_engagement_rate_percent": 2.48
  },
  "top_performing_posts": {
    "most_viewed": { "id": "7652520719259159822", "date": "2026-06-18", "views": 461748, "type": "slideshow" },
    "most_liked": { "id": "7652520719259159822", "date": "2026-06-18", "likes": 5558, "type": "slideshow" }
  },
  "updated_at": "2026-08-18T15:57:52.024Z"
}

2. post.json (Nivel de Publicación)

Guardado dentro de cada carpeta de publicación individual (tiktok_downloads/<username>/YYYY-MM-DD_<id>/post.json):

{
  "post_details": {
    "id": "7674774636999003406",
    "user": "example_user",
    "author": { "uniqueId": "example_user", "nickname": "Creator Name" },
    "title": "Summer outfit ideas #fashion #summer",
    "media_type": "slideshow",
    "date": "2026-08-16",
    "timestamp": 1787049600,
    "url": "https://www.tiktok.com/@example_user/video/7674774636999003406",
    "slides_count": 10,
    "stats": {
      "views": 1120,
      "likes": 21,
      "comments": 17,
      "shares": 1,
      "favorites": 5,
      "downloads": 0,
      "total_interactions": 44,
      "engagement_rate_percent": 3.93
    },
    "music": {
      "id": "7644346595656730640",
      "title": "Original Sound",
      "author": "Sound Creator",
      "duration": 60,
      "play_url": "https://.../audio.mp4"
    }
  },
  "account_recap": {
    "username": "example_user",
    "activity_totals": { "total_views": 1066188, "total_likes": 17388 },
    "performance_averages": { "avg_engagement_rate_percent": 2.48 }
  }
}

📁 Jerarquía de Carpetas

tiktok_downloads/
  └── example_user/
      ├── account_summary.json            # Cumulative totals, averages, engagement & top posts
      ├── account_activity.json           # Complete chronological history of all posts
      │
      ├── 2026-08-16_7674774636999003406/ # 📸 Photo Slideshow post folder
      │   ├── slide_01.jpg
      │   ├── slide_02.jpg
      │   ├── slide_03.jpg
      │   ├── cover.jpg
      │   ├── post.json                   # Individual post metrics + global account recap
      │   └── account_activity_recap.json
      │
      └── 2026-08-15_7674392602606619917/ # 🎬 Video post folder
          ├── video.mp4                   # HD unwatermarked video
          ├── cover.jpg                   # Video cover thumbnail
          ├── post.json
          └── account_activity_recap.json

❓ Preguntas Frecuentes y Solución de Problemas

P: ¿Necesito una cuenta de TikTok o cookies para usar esto?

R: No. Todas las descargas y extracciones de metadatos funcionan desde el primer momento usando endpoints públicos sin necesidad de inicio de sesión ni cookies de sesión.

P: ¿Los videos e imágenes descargados tienen marca de agua?

R: No. El 100% de los archivos multimedia descargados están limpios, en calidad original, sin la marca de agua saltarina de TikTok.

P: ¿Se vuelven a descargar archivos existentes si vuelvo a ejecutar el comando?

R: No. La herramienta verifica el tamaño del archivo y su presencia en el disco. Si una diapositiva o video ya ha sido descargado, se omitirá automáticamente para una velocidad instantánea.

P: ¿Qué dependencias se necesitan?

R: Node.js >= 18. Para escaneo de perfiles, se recomienda yt-dlp (brew install yt-dlp en macOS o pip install yt-dlp).


💻 Desarrollo Local y Contribuciones

# Clone repository
git clone https://github.com/abdouldotdev/tiktok-downloader-mcp.git
cd tiktok-downloader-mcp

# Install dependencies
npm install

# Compile TypeScript
npm run build

# Run CLI locally
node dist/index.js @username --max 10

# Run MCP Server on stdio
node dist/index.js --stdio

📄 Licencia

MIT © abdouldotdev

Install Server
F
license - not found
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    -
    maintenance
    A comprehensive MCP server that enables AI assistants to search, download, and analyze TikTok content while also performing active tasks like publishing videos and interacting with posts. It provides full automation capabilities for TikTok through browser session management and anti-detection features.
    12
    2
  • F
    license
    B
    quality
    C
    maintenance
    MCP server for TikTok that enables searching videos, users, hashtags, and fetching trending content, user profiles, and video details via official API or public scraping.
    8

View all related MCP servers

Related MCP Connectors

  • Download YouTube, TikTok, Vimeo, SoundCloud and 6 more platforms from any MCP AI chatbot.

  • MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/abdouldotdev/tiktok-downloader-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server