rootvine-mcp

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

Should I use this

Quality & Safety

A
Description quality
92%
Schema completeness
92%
Naming quality
84%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • MEDIUMTool 'resolve_game' description contains placeholder textin resolve_game
  • MEDIUMTool 'find_product' description contains placeholder textin find_product

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~5,552Tokens (tool definitions)
~11.7 KBTypical response size
Significant attention impact (4.34% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

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

Runnable packages

npmrootvine-mcp1.4.0stdio

Remote endpoints

https://mcp.rootvine.ai/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢resolve_music(query, slug)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "What to look up, in the user's own words: 'galway girl by ed sheeran', 'Abbey Road vinyl'. Also takes a BeatsVine page address or a `query` value from an earlier answer. Do not build slugs.",
      "type": "string",
      "maxLength": 500
    },
    "slug": {
      "description": "Deprecated alias for `query`, kept for older clients. Send exactly one of `query` or `slug`.",
      "type": "string",
      "maxLength": 500
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "success",
        "partial",
        "no_results"
      ]
    },
    "artist": {
      "type": [
        "string",
        "null"
      ]
    },
    "title": {
      "type": [
        "string",
        "null"
      ]
    },
    "kind": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "track",
            "album"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "rank": {
            "type": "number"
          },
          "merchant": {
            "type": "string"
          },
          "merchant_id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "purchase",
              "stream",
              "subscription"
            ]
          },
          "trust_tier": {
            "type": "string",
            "enum": [
              "authoritative",
              "verified",
              "listed"
            ]
          },
          "availability": {
            "type": "string",
            "enum": [
              "in_stock",
              "preorder",
              "available",
              "unknown"
            ]
          },
          "price": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "number"
                  },
                  "currency": {
                    "type": "string"
                  }
                },
                "required": [
                  "amount",
                  "currency"
                ],
                "additionalProperties": {}
              },
              {
                "type": "null"
              }
            ],
            "description": "null when no price is listed — never zero, never free"
          },
          "click_url": {
            "type": "string",
            "description": "The link to give the user"
          },
          "url": {
            "type": "string"
          },
          "ranking_reason": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "summary": {
                "type": "string"
              }
            },
            "required": [
              "code",
              "summary"
            ],
            "additionalProperties": {}
          },
          "price_freshness": {
            "type": "string"
          },
          "edition": {
            "type": "string"
          }
        },
        "required": [
          "rank",
          "merchant",
          "merchant_id",
          "type",
          "trust_tier",
          "availability",
          "price",
          "click_url",
          "url",
          "ranking_reason"
        ],
        "additionalProperties": {}
      }
    },
    "partial_sources": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Sources that did not answer: say so when not empty"
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "resolved_as": {
      "type": "object",
      "properties": {
        "query": {
          "type": [
            "string",
            "null"
          ]
        },
        "via": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "direct",
                "catalogue_search",
                "live_lookup"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "corrected": {
          "type": "boolean",
          "description": "The answer is for different words than asked: tell the user what is shown"
        },
        "note": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "query",
        "via",
        "corrected",
        "note"
      ],
      "additionalProperties": {}
    },
    "did_you_mean": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "artist": {
            "type": [
              "string",
              "null"
            ]
          },
          "kind": {
            "type": "string",
            "enum": [
              "track",
              "album",
              "artist"
            ]
          },
          "query": {
            "type": "string",
            "description": "Pass back as `query` to open exactly this"
          },
          "page_url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "title",
          "artist",
          "kind",
          "query",
          "page_url"
        ],
        "additionalProperties": {}
      }
    },
    "page_url": {
      "description": "The BeatsVine page, only when it is confirmed to exist",
      "type": [
        "string",
        "null"
      ]
    },
    "cover_art": {
      "type": [
        "string",
        "null"
      ]
    },
    "response_id": {
      "type": [
        "string",
        "null"
      ]
    },
    "resolved_at": {
      "type": "string",
      "description": "Every link existed at this time"
    },
    "ttl_seconds": {
      "type": [
        "number",
        "null"
      ]
    }
  },
  "required": [
    "status",
    "artist",
    "title",
    "kind",
    "results",
    "partial_sources",
    "warnings",
    "resolved_as",
    "did_you_mean",
    "page_url",
    "cover_art",
    "response_id",
    "resolved_at",
    "ttl_seconds"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟢resolve_game(query, slug)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "The game's name in plain words: 'Elden Ring'.",
      "type": "string",
      "maxLength": 500
    },
    "slug": {
      "description": "Deprecated alias for `query`, kept for older clients. Send exactly one of `query` or `slug`.",
      "type": "string",
      "maxLength": 500
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "coming_soon",
        "success",
        "partial",
        "no_results"
      ]
    },
    "live": {
      "type": "boolean",
      "description": "false: games are not live yet — there are no links or prices to give"
    },
    "query": {
      "type": "string"
    },
    "message": {
      "type": [
        "string",
        "null"
      ]
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "rank": {
            "type": "number"
          },
          "merchant": {
            "type": "string"
          },
          "merchant_id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "purchase",
              "stream",
              "subscription"
            ]
          },
          "trust_tier": {
            "type": "string",
            "enum": [
              "authoritative",
              "verified",
              "listed"
            ]
          },
          "availability": {
            "type": "string",
            "enum": [
              "in_stock",
              "preorder",
              "available",
              "unknown"
            ]
          },
          "price": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "number"
                  },
                  "currency": {
                    "type": "string"
                  }
                },
                "required": [
                  "amount",
                  "currency"
                ],
                "additionalProperties": {}
              },
              {
                "type": "null"
              }
            ],
            "description": "null when no price is listed — never zero, never free"
          },
          "click_url": {
            "type": "string",
            "description": "The link to give the user"
          },
          "url": {
            "type": "string"
          },
          "ranking_reason": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "summary": {
                "type": "string"
              }
            },
            "required": [
              "code",
              "summary"
            ],
            "additionalProperties": {}
          },
          "price_freshness": {
            "type": "string"
          },
          "edition": {
            "type": "string"
          }
        },
        "required": [
          "rank",
          "merchant",
          "merchant_id",
          "type",
          "trust_tier",
          "availability",
          "price",
          "click_url",
          "url",
          "ranking_reason"
        ],
        "additionalProperties": {}
      }
    },
    "response_id": {
      "type": [
        "string",
        "null"
      ]
    },
    "resolved_at": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "live",
    "query",
    "message",
    "results",
    "response_id",
    "resolved_at"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟢find_product(query, category)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 500,
      "description": "The user's words: 'where can I stream Bad Guy by Billie Eilish', 'Mario Kart on Switch'."
    },
    "category": {
      "description": "Set it when you know it; 'auto' (the default) reads it from the words.",
      "type": "string",
      "enum": [
        "music",
        "game",
        "auto"
      ]
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "enum": [
        "music",
        "game"
      ]
    },
    "detected": {
      "type": "boolean",
      "description": "true: the category was read from the words — set `category` if it is wrong"
    },
    "music": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "success",
            "partial",
            "no_results"
          ]
        },
        "artist": {
          "type": [
            "string",
            "null"
          ]
        },
        "title": {
          "type": [
            "string",
            "null"
          ]
        },
        "kind": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "track",
                "album"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "results": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "rank": {
                "type": "number"
              },
              "merchant": {
                "type": "string"
              },
              "merchant_id": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "purchase",
                  "stream",
                  "subscription"
                ]
              },
              "trust_tier": {
                "type": "string",
                "enum": [
                  "authoritative",
                  "verified",
                  "listed"
                ]
              },
              "availability": {
                "type": "string",
                "enum": [
                  "in_stock",
                  "preorder",
                  "available",
                  "unknown"
                ]
              },
              "price": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "type": "number"
                      },
                      "currency": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "amount",
                      "currency"
                    ],
                    "additionalProperties": {}
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "null when no price is listed — never zero, never free"
              },
              "click_url": {
                "type": "string",
                "description": "The link to give the user"
              },
              "url": {
                "type": "string"
              },
              "ranking_reason": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "summary": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "summary"
                ],
                "additionalProperties": {}
              },
              "price_freshness": {
                "type": "string"
              },
              "edition": {
                "type": "string"
              }
            },
            "required": [
              "rank",
              "merchant",
              "merchant_id",
              "type",
              "trust_tier",
              "availability",
              "price",
              "click_url",
              "url",
              "ranking_reason"
            ],
            "additionalProperties": {}
          }
        },
        "partial_sources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Sources that did not answer: say so when not empty"
        },
        "warnings": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "resolved_as": {
          "type": "object",
          "properties": {
            "query": {
              "type": [
                "string",
                "null"
              ]
            },
            "via": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "direct",
                    "catalogue_search",
                    "live_lookup"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            "corrected": {
              "type": "boolean",
              "description": "The answer is for different words than asked: tell the user what is shown"
            },
            "note": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "query",
            "via",
            "corrected",
            "note"
          ],
          "additionalProperties": {}
        },
        "did_you_mean": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string"
              },
              "artist": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "kind": {
                "type": "string",
                "enum": [
                  "track",
                  "album",
                  "artist"
                ]
              },
              "query": {
                "type": "string",
                "description": "Pass back as `query` to open exactly this"
              },
              "page_url": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "title",
              "artist",
              "kind",
              "query",
              "page_url"
            ],
            "additionalProperties": {}
          }
        },
        "page_url": {
          "description": "The BeatsVine page, only when it is confirmed to exist",
          "type": [
            "string",
            "null"
          ]
        },
        "cover_art": {
          "type": [
            "string",
            "null"
          ]
        },
        "response_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "resolved_at": {
          "type": "string",
          "description": "Every link existed at this time"
        },
        "ttl_seconds": {
          "type": [
            "number",
            "null"
          ]
        }
      },
      "required": [
        "status",
        "artist",
        "title",
        "kind",
        "results",
        "partial_sources",
        "warnings",
        "resolved_as",
        "did_you_mean",
        "page_url",
        "cover_art",
        "response_id",
        "resolved_at",
        "ttl_seconds"
      ],
      "additionalProperties": {}
    },
    "game": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "coming_soon",
            "success",
            "partial",
            "no_results"
          ]
        },
        "live": {
          "type": "boolean",
          "description": "false: games are not live yet — there are no links or prices to give"
        },
        "query": {
          "type": "string"
        },
        "message": {
          "type": [
            "string",
            "null"
          ]
        },
        "results": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "rank": {
                "type": "number"
              },
              "merchant": {
                "type": "string"
              },
              "merchant_id": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "purchase",
                  "stream",
                  "subscription"
                ]
              },
              "trust_tier": {
                "type": "string",
                "enum": [
                  "authoritative",
                  "verified",
                  "listed"
                ]
              },
              "availability": {
                "type": "string",
                "enum": [
                  "in_stock",
                  "preorder",
                  "available",
                  "unknown"
                ]
              },
              "price": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "type": "number"
                      },
                      "currency": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "amount",
                      "currency"
                    ],
                    "additionalProperties": {}
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "null when no price is listed — never zero, never free"
              },
              "click_url": {
                "type": "string",
                "description": "The link to give the user"
              },
              "url": {
                "type": "string"
              },
              "ranking_reason": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "summary": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "summary"
                ],
                "additionalProperties": {}
              },
              "price_freshness": {
                "type": "string"
              },
              "edition": {
                "type": "string"
              }
            },
            "required": [
              "rank",
              "merchant",
              "merchant_id",
              "type",
              "trust_tier",
              "availability",
              "price",
              "click_url",
              "url",
              "ranking_reason"
            ],
            "additionalProperties": {}
          }
        },
        "response_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "resolved_at": {
          "type": "string"
        }
      },
      "required": [
        "status",
        "live",
        "query",
        "message",
        "results",
        "response_id",
        "resolved_at"
      ],
      "additionalProperties": {}
    }
  },
  "required": [
    "category",
    "detected"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟢resolve_artist(query, slug)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "The artist's name in plain words: 'Stromae', 'Billie Eilish'. Also takes a BeatsVine artist address or an `artist/…` query from an earlier answer.",
      "type": "string",
      "maxLength": 500
    },
    "slug": {
      "description": "Deprecated alias for `query`, kept for older clients. Send exactly one of `query` or `slug`.",
      "type": "string",
      "maxLength": 500
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "success",
        "no_results"
      ]
    },
    "artist": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "query": {
              "type": "string",
              "description": "Pass back to resolve_artist to open this artist"
            },
            "page_url": {
              "type": "string"
            },
            "genres": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "name",
            "query",
            "page_url",
            "genres"
          ],
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "discography_complete": {
      "description": "false: BeatsVine has not indexed this artist yet — an empty list means unknown, not none",
      "type": [
        "boolean",
        "null"
      ]
    },
    "release_count": {
      "type": [
        "number",
        "null"
      ]
    },
    "releases": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "year": {
            "type": [
              "number",
              "null"
            ]
          },
          "query": {
            "type": "string",
            "description": "Pass to resolve_music for this release's links"
          },
          "page_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "cover_url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "title",
          "type",
          "year",
          "query",
          "page_url",
          "cover_url"
        ],
        "additionalProperties": {}
      }
    },
    "resolved_as": {
      "type": "object",
      "properties": {
        "query": {
          "type": [
            "string",
            "null"
          ]
        },
        "via": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "direct",
                "catalogue_search",
                "live_lookup"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "corrected": {
          "type": "boolean",
          "description": "The answer is for different words than asked: tell the user what is shown"
        },
        "note": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "query",
        "via",
        "corrected",
        "note"
      ],
      "additionalProperties": {}
    },
    "did_you_mean": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "artist": {
            "type": [
              "string",
              "null"
            ]
          },
          "kind": {
            "type": "string",
            "enum": [
              "track",
              "album",
              "artist"
            ]
          },
          "query": {
            "type": "string",
            "description": "Pass back as `query` to open exactly this"
          },
          "page_url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "title",
          "artist",
          "kind",
          "query",
          "page_url"
        ],
        "additionalProperties": {}
      }
    },
    "resolved_at": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "artist",
    "discography_complete",
    "release_count",
    "releases",
    "resolved_as",
    "did_you_mean",
    "resolved_at"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟢discover_music(chamber, wall, year, limit, resolve)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "chamber": {
      "description": "Chamber to browse; omit for an overview of all chambers and featured walls. 'by-genre' = genre corridors. 'for-this-moment' = moods and activities. 'charts' = live streaming charts. 'by-era' = decades. 'spotlights' = artist features.",
      "type": "string",
      "enum": [
        "by-genre",
        "for-this-moment",
        "charts",
        "by-era",
        "spotlights"
      ]
    },
    "wall": {
      "description": "A wall or chart-snapshot slug from an earlier answer (a BeatsVine wall address also works). Lists its entries; position 1 is number one. Takes priority over `chamber` and `year`.",
      "type": "string",
      "maxLength": 500
    },
    "year": {
      "description": "Chart snapshots from this year (1946 to now), for questions about the past — 'number one in 1994'. Pass a snapshot's slug back as `wall` for its entries. Takes priority over `chamber`.",
      "type": "integer",
      "minimum": 1946,
      "maximum": 2100
    },
    "limit": {
      "description": "Max walls, entries or snapshots to return: 10 by default, 30 at most.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 30
    },
    "resolve": {
      "description": "With `wall`: also fetch number one's stream and buy links, in the same call.",
      "type": "boolean"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "foyer",
        "chamber",
        "wall",
        "archives"
      ]
    },
    "source_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "resolved_at": {
      "type": "string"
    },
    "total": {
      "type": [
        "number",
        "null"
      ]
    },
    "chambers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "tagline": {
            "type": [
              "string",
              "null"
            ]
          },
          "wall_count": {
            "type": "number"
          }
        },
        "required": [
          "slug",
          "name",
          "tagline",
          "wall_count"
        ],
        "additionalProperties": {}
      }
    },
    "chamber": {
      "type": "object",
      "properties": {
        "slug": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "tagline": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "slug",
        "name",
        "tagline"
      ],
      "additionalProperties": {}
    },
    "walls": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Pass as `wall` to list its entries"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "entry_count": {
            "type": "number"
          },
          "attribution": {
            "type": [
              "string",
              "null"
            ]
          },
          "page_url": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "name",
          "description",
          "entry_count",
          "attribution",
          "page_url"
        ],
        "additionalProperties": {}
      }
    },
    "wall": {
      "type": "object",
      "properties": {
        "slug": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "entity_type": {
          "type": [
            "string",
            "null"
          ]
        },
        "attribution": {
          "type": [
            "string",
            "null"
          ]
        },
        "page_url": {
          "type": "string"
        }
      },
      "required": [
        "slug",
        "name",
        "description",
        "entity_type",
        "attribution",
        "page_url"
      ],
      "additionalProperties": {}
    },
    "entries": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "position": {
            "type": "number"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "artist": {
            "type": [
              "string",
              "null"
            ]
          },
          "kind": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "track",
                  "album",
                  "artist"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "query": {
            "description": "Pass to resolve_music (resolve_artist for an artist) for links; null: no BeatsVine page yet",
            "type": [
              "string",
              "null"
            ]
          },
          "page_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "cover_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "preview_url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "position",
          "title",
          "artist",
          "kind",
          "query",
          "page_url",
          "cover_url",
          "preview_url"
        ],
        "additionalProperties": {}
      }
    },
    "year": {
      "type": [
        "number",
        "null"
      ]
    },
    "years": {
      "type": "array",
      "items": {
        "type": "number"
      }
    },
    "snapshots": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Pass as `wall`, with resolve: true for number one's links"
          },
          "name": {
            "type": "string"
          },
          "week": {
            "type": [
              "string",
              "null"
            ]
          },
          "entry_count": {
            "type": "number"
          },
          "page_url": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "name",
          "week",
          "entry_count",
          "page_url"
        ],
        "additionalProperties": {}
      }
    },
    "top": {
      "description": "Number one's links, when resolve was asked for",
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "success",
                "partial",
                "no_results"
              ]
            },
            "artist": {
              "type": [
                "string",
                "null"
              ]
            },
            "title": {
              "type": [
                "string",
                "null"
              ]
            },
            "kind": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "track",
                    "album"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            "results": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "rank": {
                    "type": "number"
                  },
                  "merchant": {
                    "type": "string"
                  },
                  "merchant_id": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "purchase",
                      "stream",
                      "subscription"
                    ]
                  },
                  "trust_tier": {
                    "type": "string",
                    "enum": [
                      "authoritative",
                      "verified",
                      "listed"
                    ]
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "in_stock",
                      "preorder",
                      "available",
                      "unknown"
                    ]
                  },
                  "price": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "amount": {
                            "type": "number"
                          },
                          "currency": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "amount",
                          "currency"
                        ],
                        "additionalProperties": {}
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "null when no price is listed — never zero, never free"
                  },
                  "click_url": {
                    "type": "string",
                    "description": "The link to give the user"
                  },
                  "url": {
                    "type": "string"
                  },
                  "ranking_reason": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "summary": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "code",
                      "summary"
                    ],
                    "additionalProperties": {}
                  },
                  "price_freshness": {
                    "type": "string"
                  },
                  "edition": {
                    "type": "string"
                  }
                },
                "required": [
                  "rank",
                  "merchant",
                  "merchant_id",
                  "type",
                  "trust_tier",
                  "availability",
                  "price",
                  "click_url",
                  "url",
                  "ranking_reason"
                ],
                "additionalProperties": {}
              }
            },
            "partial_sources": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Sources that did not answer: say so when not empty"
            },
            "warnings": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "resolved_as": {
              "type": "object",
              "properties": {
                "query": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "via": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "direct",
                        "catalogue_search",
                        "live_lookup"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "corrected": {
                  "type": "boolean",
                  "description": "The answer is for different words than asked: tell the user what is shown"
                },
                "note": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "query",
                "via",
                "corrected",
                "note"
              ],
              "additionalProperties": {}
            },
            "did_you_mean": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "artist": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "track",
                      "album",
                      "artist"
                    ]
                  },
                  "query": {
                    "type": "string",
                    "description": "Pass back as `query` to open exactly this"
                  },
                  "page_url": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "title",
                  "artist",
                  "kind",
                  "query",
                  "page_url"
                ],
                "additionalProperties": {}
              }
            },
            "page_url": {
              "description": "The BeatsVine page, only when it is confirmed to exist",
              "type": [
                "string",
                "null"
              ]
            },
            "cover_art": {
              "type": [
                "string",
                "null"
              ]
            },
            "response_id": {
              "type": [
                "string",
                "null"
              ]
            },
            "resolved_at": {
              "type": "string",
              "description": "Every link existed at this time"
            },
            "ttl_seconds": {
              "type": [
                "number",
                "null"
              ]
            }
          },
          "required": [
            "status",
            "artist",
            "title",
            "kind",
            "results",
            "partial_sources",
            "warnings",
            "resolved_as",
            "did_you_mean",
            "page_url",
            "cover_art",
            "response_id",
            "resolved_at",
            "ttl_seconds"
          ],
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "top_note": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "mode",
    "source_url",
    "resolved_at",
    "total"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools