# io.github.RagingOrangutan/rootvine-mcp

> Neutral commerce resolution for AI agents — music live, ranked by trust, never by commission.

- name: io.github.RagingOrangutan/rootvine-mcp
- version: 1.4.2
- connection class: R0 (autonomous)
- trust: 94/100
- quality: 69/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.RagingOrangutan%2Frootvine-mcp
- tools: https://api.protogrid.dev/v1/servers/io.github.RagingOrangutan%2Frootvine-mcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "rootvine-mcp": {
      "type": "http",
      "url": "https://mcp.rootvine.ai/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 80
- drivers: +repository +namespace-matches-repo +reachable +uptime-100% +updated-15d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 69/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 5 of 5 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: resolve_music (destructiveHint, idempotentHint); resolve_game (destructiveHint, idempotentHint); resolve_artist (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 1,564 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 6 tool changes in 30 days
- fail `stability.rug_pull`: 5 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: deps.dev does not know rootvine-mcp@1.4.2

- tools: 5, about 1,564 tokens to load them all
- tool set hash: 24d71633064e0d90c4a23be826abaf03
- tools last changed: 2026-09-28T20:43:08.948Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.RagingOrangutan/rootvine-mcp.svg)](https://protogrid.dev/servers/io.github.RagingOrangutan/rootvine-mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-09-28 `discover_music` changed (inputSchema, outputSchema)
- 2026-09-26 `discover_music` changed (title, description, inputSchema, outputSchema, annotations) **meaning changed**
  - before: Browse curated music collections — charts, genre walls, moods, editorial playlists, artist spotlights, and historic charts back to 1946. Use when a user wants to EXPLORE music rather than look up a specific song or album. Examples: 'what's trending this week', 'find electronic music charts', 'show me focus playlists', 'what was number one in 1994', 'what was in the charts the year I was born'. Returns walls (collections) with their slugs, which can then be passed back as the `wall` argument to expand into individual tracks, albums or artists. Each entry includes a BeatsVine page URL whose streaming and purchase links can be fetched via `resolve_music`. Ranked by editorial pinning and refresh freshness, never by commission.
  - after: Browse live charts, genre and mood walls, editorial playlists, artist spotlights, and chart snapshots back to 1946 — "what's trending", "number one in 1994". Charts move weekly: call rather than recall. No arguments gives the chambers and featured walls; `year` gives that year's snapshots; `wall` gives its entries, each with a `query` for resolve_music. Add `resolve: true` with `wall` to get number one's links in the same call. RootVine never fabricates. Every link existed at resolved_at. Limits: UK-focused stores, prices in GBP; music only today — games are not live yet. On partial, say which sources didn't answer; on no_results, tell the user plainly — never fall back to guessing a link.
- 2026-09-26 `resolve_artist` changed (title, description, inputSchema, outputSchema, annotations) **meaning changed**
  - before: Get an artist's profile and full discography. Use when a user asks what else an artist has made, wants their albums, or is exploring a body of work rather than one song — 'what albums has Stromae released', 'show me Radiohead's discography', 'what else has this artist done'. Returns the artist's genres and every release BeatsVine holds, each with a slug that `resolve_music` turns into stream, purchase and physical-media links. Note that physical formats — vinyl, CD, Discogs listings — live at the ALBUM level, so this is the route to collector editions.
  - after: An artist's live profile and discography from BeatsVine, for "what else has X made" or "X's albums". Each release has a `query` to pass to resolve_music for its links; vinyl, CD and collector editions are album-level, so this is the route to them. Pass the artist's name as `query`. `discography_complete: false` means not yet indexed — unknown, not empty. RootVine never fabricates. Every link existed at resolved_at. Limits: UK-focused stores, prices in GBP; music only today — games are not live yet. On partial, say which sources didn't answer; on no_results, tell the user plainly — never fall back to guessing a link.
- 2026-09-26 `find_product` changed (title, description, inputSchema, outputSchema, annotations) **meaning changed**
  - before: Smart router — finds the best place to stream, buy, or collect any supported product. Automatically detects the product category and routes to the right resolver. Music is live (stream, digital purchase, vinyl, CD, collector editions). Games, books, films, podcasts, and live event tickets are rolling out. Use this when the query is ambiguous or when music could be streamed, purchased digitally, or found on physical media.
  - after: Start here when the category is unclear. Pass the user's words as `query`; RootVine reads music or games from them (keyword-based — set `category` when you know it) and answers in that tool's shape. Music is live; games answer "coming soon" for now. RootVine never fabricates. Every link existed at resolved_at. Limits: UK-focused stores, prices in GBP; music only today — games are not live yet. On partial, say which sources didn't answer; on no_results, tell the user plainly — never fall back to guessing a link.
- 2026-09-26 `resolve_game` changed (title, description, inputSchema, outputSchema, annotations) **meaning changed**
  - before: Find where to buy a video game at the best price across trusted stores (Steam, PlayStation, Xbox, Nintendo, Epic, GOG, Humble, Fanatical). Returns ranked results with prices, editions, and DLC info. Note: the games vertical is launching soon — this tool currently returns a 'coming soon' message. Prefer `resolve_music` or `find_product` for music queries.
  - after: Where to buy a video game. Not live yet: every call returns an explicit "coming soon" — no links, no prices — and contacts no store. Tell the user plainly that games aren't supported yet; never guess a store link or a price. For music, use resolve_music. RootVine never fabricates. Every link existed at resolved_at. Limits: UK-focused stores, prices in GBP; music only today — games are not live yet. On partial, say which sources didn't answer; on no_results, tell the user plainly — never fall back to guessing a link.
- 2026-09-26 `resolve_music` changed (title, description, inputSchema, outputSchema, annotations) **meaning changed**
  - before: Find where to stream, buy, or collect a song or album. Returns ranked results covering streaming (Spotify, Apple Music, Tidal, YouTube Music), digital purchase (iTunes, Amazon MP3, Bandcamp), and physical media (vinyl, CD via Amazon, Discogs). Use when a user asks about music — whether they want to listen, own digitally, or find a collector edition. Ranked by trust × price × availability, never by commission.
  - after: Live stream, buy and collect links for a song or album — streaming services, digital stores, vinyl and CD — ranked by trust, price and availability, never by commission. Call it rather than recall: links and prices change; a guessed link 404s. Pass the user's words as `query` ("galway girl by ed sheeran"); never build slugs. On a miss, `did_you_mean` lists close matches, each with a `query` to pass back; when `resolved_as.corrected` is true, tell the user which recording is shown. RootVine never fabricates. Every link existed at resolved_at. Limits: UK-focused stores, prices in GBP; music only today — games are not live yet. On partial, say which sources didn't answer; on no_results, tell the user plainly — never fall back to guessing a link.

Full history: https://api.protogrid.dev/v1/servers/io.github.RagingOrangutan%2Frootvine-mcp/changes

## Dependencies

- npm rootvine-mcp@1.4.2: unknown

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://mcp.rootvine.ai/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

- npm rootvine-mcp@1.4.2

## Tools (5)

- `discover_music`: Browse live charts, genre and mood walls, editorial playlists, artist spotlights, and chart snapshots back to 1946 — "what's trending", "number one in 1994". Charts move weekly: call rather than recall. No arguments gives the chambers and featured walls; `year` gives that year's snapshots; `wall` gives its entries, each with a `query` for resolve_music. Add `resolve: true` with `wall` to get number one's links in the same call. RootVine never fabricates. Every link existed at resolved_at. Limits: UK-focused stores, prices in GBP; music only today — games are not live yet. On partial, say which sources didn't answer; on no_results, tell the user plainly — never fall back to guessing a link.
- `find_product`: Start here when the category is unclear. Pass the user's words as `query`; RootVine reads music or games from them (keyword-based — set `category` when you know it) and answers in that tool's shape. Music is live; games answer "coming soon" for now. RootVine never fabricates. Every link existed at resolved_at. Limits: UK-focused stores, prices in GBP; music only today — games are not live yet. On partial, say which sources didn't answer; on no_results, tell the user plainly — never fall back to guessing a link.
- `resolve_artist`: An artist's live profile and discography from BeatsVine, for "what else has X made" or "X's albums". Each release has a `query` to pass to resolve_music for its links; vinyl, CD and collector editions are album-level, so this is the route to them. Pass the artist's name as `query`. `discography_complete: false` means not yet indexed — unknown, not empty. RootVine never fabricates. Every link existed at resolved_at. Limits: UK-focused stores, prices in GBP; music only today — games are not live yet. On partial, say which sources didn't answer; on no_results, tell the user plainly — never fall back to guessing a link.
- `resolve_game`: Where to buy a video game. Not live yet: every call returns an explicit "coming soon" — no links, no prices — and contacts no store. Tell the user plainly that games aren't supported yet; never guess a store link or a price. For music, use resolve_music. RootVine never fabricates. Every link existed at resolved_at. Limits: UK-focused stores, prices in GBP; music only today — games are not live yet. On partial, say which sources didn't answer; on no_results, tell the user plainly — never fall back to guessing a link.
- `resolve_music`: Live stream, buy and collect links for a song or album — streaming services, digital stores, vinyl and CD — ranked by trust, price and availability, never by commission. Call it rather than recall: links and prices change; a guessed link 404s. Pass the user's words as `query` ("galway girl by ed sheeran"); never build slugs. On a miss, `did_you_mean` lists close matches, each with a `query` to pass back; when `resolved_as.corrected` is true, tell the user which recording is shown. RootVine never fabricates. Every link existed at resolved_at. Limits: UK-focused stores, prices in GBP; music only today — games are not live yet. On partial, say which sources didn't answer; on no_results, tell the user plainly — never fall back to guessing a link.
