RootVine

Resolução de links de música multiplataforma para agentes de IA. Conecta Claude, ChatGPT e outros agentes de IA a dados musicais confiáveis por meio do Model Context Protocol.

Documentação

rootvine-mcp

Uma camada neutra de resolução de comércio para agentes de IA. Conecta Claude, ChatGPT e outros agentes de IA a dados confiáveis de produtos e mídia por meio do Model Context Protocol — cobrindo todos os caminhos, de streaming a edições de colecionador.

O que faz

Quando um usuário pergunta a um agente de IA "Onde posso ouvir Windowlicker do Aphex Twin?", o RootVine resolve a consulta em todas as principais plataformas de streaming, compra e mídia física, retornando resultados classificados com links diretos.

A mesma infraestrutura responde a toda a escada de compra: transmita, compre digitalmente ou encontre o vinil. Música está disponível hoje. Jogos, livros, filmes, podcasts e eventos ao vivo estão sendo lançados conforme seus verticais são disponibilizados.

Sem anúncios. Sem posicionamentos patrocinados. Sem pagamento para ranquear. Os resultados são classificados por um algoritmo neutro e determinístico: nível de confiança → preço → disponibilidade → novidade → ID do comerciante. Taxas de comissão, redes de afiliados e sinalizações patrocinadas são arquiteturalmente excluídas da função de classificação.

Início Rápido

Hospedado — nada para instalar

O RootVine funciona como um servidor MCP hospedado e transmitível por HTTP:

https://mcp.rootvine.ai/mcp

Adicione por URL em qualquer cliente que aceite um servidor MCP remoto — por exemplo, no claude.ai: Configurações → Conectores → Adicionar conector personalizado. Sem login, sem chave. As mesmas cinco ferramentas do pacote npm, respondendo das mesmas fontes ao vivo.

Claude Desktop (local, via npm)

Adicione à sua configuração do Claude Desktop (~/.claude/claude_desktop_config.json):

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

Reinicie o Claude Desktop. Agora você pode perguntar:

  • "Onde posso transmitir Galway Girl do Ed Sheeran?"
  • "Onde posso ouvir Windowlicker do Aphex Twin?"
  • "Encontre links para o novo álbum do Kendrick Lamar"

Outros Clientes MCP

Qualquer cliente compatível com MCP pode usar o rootvine-mcp via transporte stdio:

npx rootvine-mcp

Ferramentas

Passe as próprias palavras do usuário como query — "galway girl do ed sheeran", "quais álbuns o Stromae lançou". Nunca construa slugs: o RootVine encontra a página. slug ainda funciona como um alias obsoleto para query (envie um ou outro, não ambos).

resolve_music

Encontre onde transmitir, comprar ou colecionar uma música ou álbum.

Entrada: { query: "galway girl by ed sheeran" } — as palavras do usuário, um endereço de página BeatsVine ou um valor query de uma resposta anterior.

Retorna: Resultados classificados cobrindo:

  • Streaming — Spotify, Apple Music, Tidal, YouTube Music, Deezer
  • Compra digital — iTunes Store, Amazon Music, Bandcamp
  • Mídia física — vinil, CD (via Amazon), listagens de colecionadores do Discogs

Cada resultado inclui preços (quando disponíveis), links diretos e URLs de clique com rastreamento de afiliados.

Como a página é encontrada: O RootVine pesquisa o catálogo do BeatsVine com as palavras que importam (palavras de solicitação como "onde posso transmitir" e conectivos como "do" são deixados de lado) e abre a melhor correspondência. Um erro de digitação vai para a busca ao vivo do BeatsVine, que o corrige; o RootVine então abre a página real e informa isso em resolved_as (corrected: true). Uma suposição fraca nunca é apresentada como a resposta: uma falha retorna status: "no_results" com did_you_mean — correspondências próximas, cada uma com um query para devolver. Um título gravado por vários artistas, perguntado sem artista ("shape of you"), retorna essas gravações para escolher em vez de uma escolhida aleatoriamente.

resolve_artist

Obtenha o perfil de um artista e sua discografia completa.

Entrada: { query: "Stromae" } — o nome, um endereço de artista BeatsVine ou artist/stromae

Retorna: Gêneros, metadados do artista e todos os lançamentos que o BeatsVine possui, cada um com um query pronto para resolve_music:

resolve_artist { query: "Stromae" }
  → 19 releases, e.g. album/stromae-racine-carre

resolve_music { query: "album/stromae-racine-carre" }
  → stream, purchase and physical-media links

Formatos físicos — vinil, CD, listagens do Discogs — são produtos de nível de álbum, então esta é a rota para edições de colecionador. Um nome com erro de digitação retorna did_you_mean em vez de uma suposição.

Dois campos de resposta que valem a pena tratar:

  • discography_complete: false (o not_yet_indexed do BeatsVine) significa que o BeatsVine ainda não catalogou este artista. Uma lista vazia então significa desconhecido, não sem lançamentos — o texto diz isso explicitamente em vez de implicar uma discografia vazia.
  • sparse_fallback_applied significa que singles foram incluídos porque a lista de álbuns estava escassa. Essa é a escolha de apresentação do BeatsVine, destacada para não ser confundida com o próprio enquadramento do artista.

discover_music

Navegue por coleções musicais curadas — paradas, paredes de gênero, humores, playlists editoriais, destaques de artistas e paradas históricas desde 1946.

Entrada: { chamber?: "by-genre" | "for-this-moment" | "charts" | "by-era" | "spotlights", wall?: string, year?: number, limit?: number, resolve?: boolean }

Modos (escolhidos por qual argumento está definido):

  • Foyer (sem argumentos) — visão geral de todas as câmaras e paredes em destaque
  • Câmara (argumento chamber) — lista paredes dentro de uma câmara (ex.: todos os corredores de gênero)
  • Parede (argumento wall: um slug, walls/slug ou o endereço da parede) — aprofunde-se nas faixas, álbuns ou artistas de uma parede específica
  • Arquivo (argumento year) — instantâneos congelados de paradas de qualquer ano desde 1946

Retorna: Coleções curadas com atribuição honesta (ex.: "Curado pela equipe editorial do Deezer", "Baseado em scrobbles do Last.fm"). Cada entrada carrega um query que resolve_music transforma em links de streaming e compra.

Respondendo "qual era o número um quando eu nasci — e onde posso obtê-lo":

discover_music { year: 1994 }                                       → bv-year-end-hot-100-1994 (100 entries)
discover_music { wall: "bv-year-end-hot-100-1994", resolve: true }  → number one = Ace of Base, "The Sign", with its links

resolve: true busca a página que a própria parada nomeia para o número um — sem busca, sem nome adivinhado. Se esses links estiverem lentos, a parada ainda retorna, com uma nota.

Arquivos: o Billboard Hot 100 de fim de ano dos EUA completo, desde 1946, além de instantâneos semanais das paradas ao vivo. As paradas de fim de ano do Reino Unido mostram apenas o número um, com um link para a parada completa em officialcharts.com (a compilação da Official Charts Company é protegida por direito de banco de dados); cada parede informa isso em seu campo publication. Paredes globais de ano e década espelham a parada Billboard dos EUA.

find_product

Roteador inteligente — lê a categoria das palavras do usuário e roteia para o resolvedor correto.

Entrada: { query: "Aphex Twin Windowlicker", category: "auto" }

A detecção é baseada em palavras-chave: palavras de música ("álbum", "vinil", "música", "do"…) vencem palavras de jogos, então "Abbey Road edição deluxe em vinil" é música. Defina category quando você souber.

Retorna: a resposta da ferramenta escolhida. Resultados de música hoje (streaming, compra digital, vinil, CD, edições de colecionador); jogos respondem "em breve". Livros, filmes, podcasts e ingressos de eventos ao vivo serão roteados automaticamente conforme cada vertical for lançado.

resolve_game (em breve)

Resolução de preços de jogos em Steam, PlayStation, Xbox, Nintendo, Epic, GOG, Humble e Fanatical. Esta ferramenta está registrada, mas ainda não ativa — ela retorna um "em breve" explícito (sem links, sem preços, sem solicitação feita) até o vertical de jogos ser lançado.

Formato de Resposta

O RootVine nunca fabrica. Cada link existia em resolved_at.

Cada resposta vem duas vezes: texto legível e structuredContent (saída estruturada MCP) carregando os mesmos fatos, para que um agente leia campos em vez de analisar prosa. Falhas são erros em texto simples (isError); uma falha é uma resposta (no_results), não um erro.

Uma resposta resolve_music, abreviada:

{
  "status": "success",
  "artist": "Ed Sheeran",
  "title": "Galway Girl",
  "kind": "track",
  "results": [
    {
      "rank": 1,
      "merchant": "Spotify",
      "type": "stream",
      "trust_tier": "authoritative",
      "availability": "available",
      "price": null,
      "click_url": "https://www.beatsvine.com/r/abc123",
      "url": "https://open.spotify.com/track/...",
      "ranking_reason": { "code": "FREE_STREAM_T1", "summary": "Stream with no listed price, Tier 1" }
    }
  ],
  "partial_sources": [],
  "warnings": [],
  "resolved_as": { "query": "ed-sheeran-galway-girl", "via": "catalogue_search", "corrected": false, "note": null },
  "did_you_mean": [],
  "page_url": "https://www.beatsvine.com/ed-sheeran-galway-girl",
  "response_id": "rv_resp_...",
  "resolved_at": "2026-09-26T12:00:00.000Z",
  "ttl_seconds": 86400
}
  • status é success, partial (real, mas incompleto — partial_sources nomeia o que não respondeu) ou no_results.
  • Um preço ausente é null — nunca zero, nunca "grátis".
  • page_url é fornecido apenas quando a página BeatsVine é confirmada como existente.
  • Limites: lojas focadas no Reino Unido, preços em GBP; apenas música hoje.

Roadmap

  • ✅ Resolução de música — ao vivo (streaming, compra digital, vinil, CD, edições de colecionador em Spotify, Apple Music, iTunes, Amazon, Bandcamp, Discogs, YouTube Music, Tidal, Deezer e mais)
  • ✅ Descoberta de música — ao vivo (navegue por paradas, paredes de gênero, coleções de humor, playlists editoriais, destaques de artistas)
  • ✅ Arquivos de paradas — ao vivo (instantâneos congelados de paradas de fim de ano e semanais desde 1946 — Billboard Hot 100, Global Top 100, UK Singles)
  • ✅ Discografia de artistas — ao vivo (perfis de artistas e listas completas de lançamentos, cada um resolvível para links de stream/compra/coleção)
  • 🔜 Eventos ao vivo — ingressos para shows, apresentações e festivais
  • 🔜 Jogos — chaves digitais, cópias físicas e edições de colecionador (Steam, PlayStation, Xbox, Nintendo, Epic, GOG)
  • 🔜 Livros — ebooks, audiolivros, brochuras, capas duras e edições especiais (Amazon, Bookshop.org, Apple Books, Kobo, Audible)
  • 🔜 Filmes e TV — streaming, aluguel, compra digital, DVD, Blu-ray e steelbook 4K
  • 🔜 Podcasts — links de audição em Apple Podcasts, Spotify, Pocket Casts e mais

Neutralidade

O RootVine segue uma política estrita de neutralidade:

  • As classificações são determinadas por nível de confiança → preço → disponibilidade → novidade → ID do comerciante
  • Taxas de comissão, redes de afiliados e sinalizações patrocinadas são arquiteturalmente excluídas da função de classificação
  • A lógica de classificação roda no servidor — este pacote é um cliente leve

Licença

MIT — © Raging Orangutan Holdings