terrylinhaochen

TikTok MCP Service

Community terrylinhaochen
Updated

MCP server for analyzing TikTok data for insight extraction

TikTok MCP Service

smithery badge

A Model Context Protocol service for TikTok video discovery and metadata extraction. This service provides a robust interface for searching TikTok videos by hashtags and retrieving trending content, with built-in anti-detection measures and error handling.

Features

  • Search videos by hashtags
  • Configurable video count per search (default: 30)
  • Anti-bot detection measures
  • Proxy support
  • Automatic API session management
  • Rate limiting and error handling
  • Health status monitoring

Configuration

The service uses environment variables for configuration. Create a .env file with:

ms_token=your_tiktok_ms_token  # Optional but recommended to avoid bot detection
TIKTOK_PROXY=your_proxy_url    # Optional proxy configuration

Installation and Setup

Installing via Smithery

To install TikTok Video Search for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @terrylinhaochen/tiktok_mcp --client claude

Installing Manually

# Install dependencies
poetry install

# Install browser automation dependencies
poetry run python -m playwright install

# Start the service
poetry run python -m tiktok_mcp_service.main

Claude Desktop Integration

Once your service is running, you can integrate it with Claude Desktop. Since we're using Poetry for dependency management, make sure to run the MCP CLI commands through Poetry:

# Navigate to the project directory
cd /path/to/tiktok-mcp-service

# Install the service in Claude Desktop with Poetry in editable mode
poetry run mcp install tiktok_mcp_service/main.py --with-editable . -f .env

# Optional: Install with a custom name
poetry run mcp install tiktok_mcp_service/main.py --name "TikTok Video Search" --with-editable . -f .env

After installation, the service will be available in Claude Desktop and will run using Poetry for proper dependency management.

API Endpoints

Health Check

  • GET /health - Check service health and API initialization status
    {
      "status": "running",
      "api_initialized": true,
      "service": {
        "name": "TikTok MCP Service",
        "version": "0.1.0",
        "description": "A Model Context Protocol service for searching TikTok videos"
      }
    }
    

Search Videos

  • POST /search - Search for videos with hashtags
    {
      "search_terms": ["python", "coding"],
      "count": 30  // Optional, defaults to 30
    }
    
    Response includes video URLs, descriptions, and engagement statistics (views, likes, shares, comments).

Resource Management

  • POST /cleanup - Clean up resources and API sessions

Error Handling

The service includes comprehensive error handling for:

  • API initialization failures
  • Bot detection issues
  • Network errors
  • Rate limiting
  • Invalid search terms

Development

Built with:

  • TikTokApi
  • FastMCP
  • Poetry for dependency management
  • Playwright for browser automation

License

MIT# tiktok_mcp

TikTok API Limitations

Important Notice: TikTok has implemented strict anti-scraping measures that limit API access.As a result, this service provides the following functionality:

  1. Mock Data Mode: When TikTok blocks API access (which is currently the case), the serviceprovides realistic-looking simulated results that are relevant to the search terms. This ensuresthat your Claude integration continues to function even when TikTok restricts access.

  2. API Access Attempts: The service still attempts to use the TikTok API first, but will quicklyfall back to mock data if the API is unavailable or returns errors.

  3. Transparency: When mock data is provided, this is clearly indicated in the response via thetransformations field, which includes a note explaining that simulated results are being shown.

This implementation ensures your service remains operational despite TikTok's anti-scraping measures.

MCP Server · Populars

MCP Server · New

    Cassette-Editor

    Oh My Cassette: Chat Your Raw Clips Into a Finished Cut

    你的随身 AI 剪辑搭档 | Pocket AI co-editor for video montage — AI video editing plugin & MCP server for Claude Code, Codex, Hermes & OpenCode

    Community Cassette-Editor
    trendsmcp-ai

    Trends MCP

    MCP server for live trend data. Query Google Search, YouTube, TikTok, Reddit, Amazon, Wikipedia, News sentiment, Web Traffic, App Downloads, Steam, npm and more. Works with Claude, Cursor, VS Code, GitHub Copilot, ChatGPT, Windsurf, Cline, Raycast and any MCP-compatible.

    Community trendsmcp-ai
    jacob-bd

    Gemini Notebook (formerly Google NotebookLM) CLI & MCP Server

    Programmatic access to Gemini Notebook - via command-line interface (CLI), Model Context Protocol (MCP) server, and AI agent skills.

    Community jacob-bd
    PxyUp

    Fitter — web data for AI agents

    New way for collect information from the API's/Websites

    Community PxyUp
    kayhendriksen

    foehn

    Download MeteoSwiss Open Government Data — weather stations, radar, hail, forecasts and climate series — via Python API, CLI, or MCP server, as DataFrames, Parquet, xarray Datasets or Zarr stores

    Community kayhendriksen