MCP Video Download URL Parser

Baixe vídeos sem marca d'água de plataformas como Douyin e TikTok.

Documentação

MCP Video Download URL Parser

Esta é uma ferramenta de download de vídeos baseada em MCP, que suporta download de vídeos sem marca d'água de plataformas como Douyin, TikTok, etc.

Recursos

  • Suporta download de vídeos sem marca d'água de plataformas como Douyin, TikTok, Bilibili, etc.
  • Usa Playwright para simular o ambiente do navegador, contornando as medidas anti-raspagem do site
  • Extrai automaticamente o título do vídeo e o link de download
  • Suporta caminho de download personalizado
  • Suporta execução como serviço MCP

Instalação de dependências

# 安装Python依赖
uv pip install -r requirements.txt

# 安装Playwright浏览器
playwright install

Como usar

Executar como serviço MCP

uv run --index-url https://mirrors.aliyun.com/pypi/simple/ main.py

Em seguida, você pode chamar a função download_video via MCP:

# MCP调用示例
result = await mcp_video_url_parser_download_video(url="https://v.douyin.com/your_video_id/", output_path="D:\\视频")

Usar o script de teste diretamente

# 使用默认测试URL
uv run direct_test.py

# 指定视频URL
uv run direct_test.py "https://v.douyin.com/your_video_id/"

Implementação técnica

Esta ferramenta usa duas maneiras de extrair URLs de vídeo:

  1. Simulação de navegador com Playwright (método principal):

    • Simula completamente o ambiente real do navegador
    • Acessa automaticamente o site snapany.com
    • Insere o link do vídeo e clica no botão de extração
    • Monitora respostas da API ou extrai elementos de vídeo diretamente da página
    • Contorna as medidas anti-raspagem do site, como verificação de cabeçalhos de requisição, verificação de cookies, etc.
  2. Requisição direta à API (método reserva):

    • Envia requisições diretamente à API do snapany.com
    • Adiciona cabeçalhos e parâmetros de requisição necessários
    • Trata múltiplos formatos de resposta possíveis

Solução para medidas anti-raspagem

O site snapany.com possui medidas anti-raspagem rigorosas, incluindo:

  1. Verificação de cabeçalhos de requisição: requer cabeçalhos específicos, como g-timestamp e g-footer
  2. Verificação de cookies: requer cookies de sessão válidos
  3. Impressão digital do navegador: verifica o ambiente do navegador, impressão digital Canvas, etc.
  4. Geração de assinatura dinâmica: pode gerar assinaturas dinamicamente com base em vários fatores

Ao usar o Playwright para simular completamente o ambiente do navegador, conseguimos contornar essas medidas anti-raspagem. O Playwright fornece um ambiente de navegador real, incluindo execução de JavaScript, gerenciamento de cookies e interceptação de requisições, permitindo-nos interagir com o site como um usuário real.

Avisos

  • Esta ferramenta é apenas para fins de aprendizado e pesquisa
  • Respeite os termos de uso e as normas de direitos autorais das plataformas relevantes
  • Não use com muita frequência, para evitar sobrecarregar o site de destino

Instalação e execução

Instalação via Smithery

Para instalar automaticamente o MCP Video Download URL Parser para Claude Desktop via Smithery:

npx -y @smithery/cli install @tansunyj/mcp_video_download_url_parser --client claude

Instalação manual

  1. Clone o repositório: git clone https://github.com/tansunyj/mcp_video_download_url_parser.git
  2. Entre no diretório: cd mcp_video_download_url_parser
  3. Instale as dependências: pip install -r requirements.txt
  4. Inicie o servidor MCP: python main.py

Configurar Claude Desktop ou Cursor

  1. Adicione a seguinte configuração:
{
    "mcpServers": {
        "video-url-parser": {
            "command": "python",
            "args": [
                "/path/to/mcp_video_download_url_parser/main.py"
            ],
            "env": {}
        }
    }
}

Configuração de implantação no 魔塔社区(Cursor)

Para implantar este serviço MCP no 魔塔社区, siga os passos abaixo:

  1. Envie o projeto: envie o projeto para a plataforma 魔塔社区

  2. Configure o serviço: no console do 魔塔社区, encontre a seção "Configuração do serviço MCP" e adicione as seguintes informações de configuração:

{
  "name": "video-url-parser",
  "description": "视频下载解析工具",
  "version": "1.0.0",
  "main": "main.py",
  "requirements": ["playwright", "asyncio", "aiohttp", "beautifulsoup4"],
  "environmentVariables": {
    "DOWNLOAD_PATH": "./downloads"
  }
}
  1. Ative o serviço: no console do 魔塔社区, encontre o serviço adicionado e clique no botão "Ativar serviço"

  2. Chamada do serviço: no 魔塔社区, você pode chamar o serviço das seguintes maneiras:

# 调用示例
result = await mcp_video_url_parser_download_video(
    url="https://v.douyin.com/your_video_id/", 
    output_path="指定保存路径"
)
  1. Solução de problemas comuns:
    • Certifique-se de que todas as dependências estejam instaladas corretamente
    • Verifique se as variáveis de ambiente estão configuradas corretamente
    • Se houver problemas de rede, confirme se o servidor consegue acessar os sites das plataformas de vídeo
    • Se o serviço não iniciar, verifique os logs para obter informações detalhadas de erro

Exemplos de uso

Após a configuração, você pode usar os seguintes prompts:

  • "Baixe este vídeo: [video_url]"
  • "Salve este vídeo no diretório D:/videos: [video_url]"

Variáveis de ambiente

  • DOWNLOAD_PATH: caminho para salvar os vídeos baixados (padrão: ./downloads)

Desenvolvimento

Para participar do desenvolvimento:

git clone https://github.com/tansunyj/mcp_video_download_url_parser.git
cd mcp_video_download_url_parser
python -m pytest tests/

Segurança

Este servidor MCP é executado na sua máquina local. Embora não execute código arbitrário, tenha cuidado ao analisar URLs de fontes não confiáveis.

Agradecimentos

Este projeto usa a API do SnapAny.com para análise e download de vídeos.

Licença

Licença MIT


GitHub repo