Skip to main content
Glama
youtube_integration.md6.31 kB
# Integração com YouTube e Sistema de Categorias Este documento descreve a implementação da integração com YouTube e do sistema de categorias no MCP Server. ## 1. Integração com YouTube ### Visão Geral A integração com o YouTube permite que o MCP Server encontre e inclua vídeos relevantes nos planos de aprendizagem gerados. Isso enriquece a experiência do usuário, fornecendo conteúdo multimídia além dos recursos textuais. ### Implementação A integração foi implementada usando a biblioteca `yt-dlp`, que permite buscar vídeos do YouTube sem depender da API oficial do YouTube. Isso evita limitações de cota e simplifica a implementação. #### Principais Componentes 1. **Módulo `youtube_integration.py`**: - Função `search_youtube_videos`: Busca vídeos no YouTube relacionados a um tópico - Função `get_best_thumbnail`: Obtém a melhor thumbnail disponível para um vídeo - Função `parse_duration`: Converte a duração do vídeo para minutos 2. **Integração com o Sistema de Recursos**: - Os vídeos do YouTube são adicionados ao conjunto de recursos encontrados na web - Cada vídeo inclui informações como título, descrição, duração e thumbnail - Os vídeos são filtrados por relevância junto com os outros recursos ### Exemplo de Uso ```python # Buscar vídeos do YouTube youtube_resources = await search_youtube_videos("python programming", max_results=5, language="pt") # Acessar informações do vídeo for video in youtube_resources: print(f"Título: {video.title}") print(f"URL: {video.url}") print(f"Duração: {video.duration} minutos") print(f"Thumbnail: {video.thumbnail}") ``` ## 2. Sistema de Categorias ### Visão Geral O sistema de categorias permite que o MCP Server gere planos de aprendizagem mais relevantes e específicos para diferentes tipos de tópicos. Cada categoria tem suas próprias palavras-chave, subtópicos e consultas de busca. ### Categorias Implementadas 1. **Tecnologia e Programação** 2. **Finanças e Economia** 3. **Saúde e Bem-estar** 4. **Educação e Aprendizagem** 5. **Artes e Humanidades** 6. **Ciências** 7. **Negócios e Empreendedorismo** 8. **Estilo de Vida e Hobbies** 9. **Geral** (categoria padrão) ### Implementação O sistema de categorias foi implementado no módulo `categories.py` e integrado aos processos de geração de planos de aprendizagem. #### Principais Componentes 1. **Módulo `categories.py`**: - Definição das categorias com palavras-chave, subtópicos e consultas de busca - Função `detect_category`: Detecta a categoria mais provável para um tópico - Função `get_subtopics_for_category`: Obtém subtópicos específicos para uma categoria - Função `get_resource_queries_for_category`: Obtém consultas de busca específicas para uma categoria 2. **Integração com o Gerador de Planos**: - A categoria é detectada no início do processo de geração - Subtópicos específicos da categoria são usados para estruturar o plano - Consultas de busca específicas da categoria são usadas para encontrar recursos relevantes ### Especificação Manual de Categoria O sistema agora permite que o usuário especifique manualmente a categoria desejada através do parâmetro `category` na API. Isso é útil quando: - O usuário sabe exatamente qual categoria deseja usar - A detecção automática não identifica corretamente a categoria - O tópico é ambíguo e poderia pertencer a múltiplas categorias ### Exemplo de Uso da API ``` # Detecção automática de categoria http://localhost:8000/generate_mcp?topic=python # Especificação manual de categoria http://localhost:8000/generate_mcp?topic=python&category=technology # Forçar o uso da categoria geral http://localhost:8000/generate_mcp?topic=python&category=general ``` ### Exemplo de Uso em Código ```python # Detectar categoria para um tópico category = detect_category("literacia financeira") # Retorna "finance" # Obter subtópicos específicos da categoria subtopics = get_subtopics_for_category("literacia financeira", count=10) # Obter consultas de busca específicas da categoria queries = get_resource_queries_for_category("literacia financeira") # Gerar plano de aprendizagem com categoria específica mcp = path_generator.generate_learning_path("python", resources, category="technology") ``` ## 3. Benefícios das Novas Funcionalidades 1. **Conteúdo Mais Relevante**: - Recursos mais específicos para cada tipo de tópico - Vídeos do YouTube complementam os recursos textuais - Estrutura de aprendizagem adaptada ao tipo de conteúdo 2. **Experiência de Aprendizagem Enriquecida**: - Conteúdo multimídia para diferentes estilos de aprendizagem - Thumbnails fornecem contexto visual para os vídeos - Subtópicos mais relevantes para cada área de conhecimento 3. **Melhor Organização do Conteúdo**: - Planos de aprendizagem estruturados de acordo com a categoria do tópico - Terminologia específica para cada área de conhecimento - Consultas de busca otimizadas para cada tipo de conteúdo ## 4. Limitações e Considerações 1. **Detecção de Categoria**: - A detecção de categoria é baseada em palavras-chave e pode não ser perfeita - Tópicos muito específicos ou interdisciplinares podem ser classificados incorretamente 2. **Busca de Vídeos**: - A biblioteca `yt-dlp` depende da interface do YouTube e pode ser afetada por mudanças - A qualidade dos resultados depende dos termos de busca e do algoritmo do YouTube 3. **Desempenho**: - A busca de vídeos adiciona um tempo extra ao processo de geração - O processamento de thumbnails aumenta o tamanho da resposta JSON ## 5. Trabalhos Futuros 1. **Melhorias na Detecção de Categoria**: - Implementar um sistema de classificação mais avançado usando NLP - Adicionar mais categorias e subcategorias 2. **Aprimoramento da Busca de Vídeos**: - Implementar filtragem por duração e qualidade - Adicionar suporte para outros tipos de conteúdo multimídia 3. **Integração com a API Oficial do YouTube**: - Implementar como opção para casos que exigem recursos avançados - Adicionar sistema de fallback para quando a cota da API for atingida

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/cabrit0/mcp_server_reuneMacacada'

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