releases-mcp · git:20260709.f932293 · 2026-07-09 · sha256 7f3b1a42aaa6abfe
releases-mcp git:20260709.f932293A
Immutable. This exact content is served forever at /api/v1/blob/7f3b1a42aaa6abfe.
---
name: releases-mcp
description: Use when the user asks about recent releases, changelogs, what's new in a library, breaking changes, version updates, or wants to compare products. Activates for questions like "what changed in Next.js 15?", "latest Tailwind releases", "compare Bun vs Deno releases".
---
# Releases.sh — Changelog Lookup
When the user asks about releases, changelogs, or version updates, use the Releases.sh MCP tools to fetch current data instead of relying on training data. Training data is stale for fast-moving libraries; these tools read the live registry.
## When to Use This Skill
Activate when the user:
- Asks what's new or changed in a library/product ("What changed in Next.js 15?")
- Wants recent releases or changelogs ("Show me the latest Tailwind releases")
- Asks about breaking changes or migration ("Were there breaking changes in Prisma 6?")
- Wants to compare release activity between products ("Compare Bun vs Deno releases")
- Mentions version updates, release notes, or changelogs for a specific product
- Asks about a curated topic feed ("what's new across the AI labs?")
## The Tools
The hosted server exposes these tools. There is no AI summarization or comparison tool — you synthesize those yourself from the data below.
- `search` — unified search across four sections: orgs, catalog (products + standalone sources), collections, and releases. Your default entry point.
- `get_latest_releases` — recent releases, optionally scoped by `organization` or `product`. Use `since` / `until` for time windows.
- `list_organizations` / `get_organization` — browse and inspect orgs.
- `list_catalog` / `get_catalog_entry` — browse and inspect catalog entries. Each entry carries `entryType: "product" | "source"`. `get_catalog_entry` also serves CHANGELOG slices (see below).
- `get_release` — fetch one release in full by its `rel_` id (ids come from `search` / `get_latest_releases`).
- `list_collections` / `get_collection` / `get_collection_releases` — curated cross-org "playlists" (e.g. "Frontier AI Labs", "Coding Agents") independent of the category taxonomy.
- `lookup_domain` — resolve a URL/domain to the org that owns it. Use when you have a URL-shaped input rather than a name.
The server also exposes **signed-in personal-account tools** — `follow` / `unfollow` / `list_follows`, `get_personalized_feed`, and `whats_changed` (releases since the user's last check across their follows). They require an authenticated connection (OAuth or a user API key) and error for anonymous clients; the reader tools above need no auth. Reach for them only when the user asks about *their* follows or feed — for general "what's new in X" questions, the reader tools answer without sign-in.
## How to Look Up Releases
### Step 1: Resolve the entity
Start with `search` and the product or company name — it returns orgs, catalog, collections, and releases in one call, so you usually don't need a separate lookup. Narrow with `type` (e.g. `type: ["catalog"]` for a fast registry-only lookup, `type: ["releases"]` for pure release content).
If a name doesn't resolve, try variations:
- The company instead of the product ("Vercel" rather than "Next.js")
- The GitHub org ("supabase")
- A domain — or use `lookup_domain` directly (e.g. "tailwindcss.com")
- A `{org}/{repo}` GitHub coordinate ("vercel/next.js"). When nothing matches a coordinate-shaped query, the registry probes GitHub on demand and the response carries a `lookup` field with status `indexed` / `existing` / `empty` / `not_found` / `deferred`. Coordinate matching is case-insensitive.
### Step 2: Pick the right follow-up
- **"What's new?" / "Latest releases"** → `get_latest_releases` with `organization` or `product`. Add `since` (e.g. `"30d"`, `"6m"`, or an ISO date) for "last month" / "since v4" style asks.
- **Keyword across the whole registry** → `search` with a descriptive query; narrow with `type`.
- **One release in full** (to quote a note verbatim) → `get_release` with the `rel_` id from search results.
- **Entity metadata** → `get_catalog_entry` (products/sources) or `get_organization` (orgs, with an AI overview preview; `include_overview: true` for the full briefing).
- **Full maintained CHANGELOG.md** → `get_catalog_entry` with `include_changelog: true`. This only applies to **source** entries that track a checked-in CHANGELOG.md — products and tag-only repos (e.g. Next.js, which ships GitHub releases but no CHANGELOG file) return none. For large files, pass `changelog_tokens` (recommended brackets: 2000 / 5000 / 10000 / 20000) to get a heading-aligned slice, then chain via the returned `nextOffset`. Every response reports `totalTokens` so you can budget calls upfront.
- **A curated topic feed** → `list_collections` to discover, `get_collection_releases` for the interleaved cross-org feed.
### Step 3: Compare products (no built-in tool)
There is no `compare_products` or `summarize_changes` tool on the hosted server. To compare, fetch each product separately (`get_catalog_entry` for metadata, `get_latest_releases` for recent activity) and synthesize the comparison yourself. Both products must be indexed — if one isn't found, say which is missing rather than guessing.
### Step 4: Present results
- Lead with what answers the user's question.
- Include version numbers and dates when available.
- Quote key changes from the release notes (keep quotes short).
- If results are sparse, say the product may not be fully indexed yet — don't fabricate release info.
## Guidelines
- Pass the user's full question into query parameters for better relevance.
- For time windows, use `since` / `until` on `get_latest_releases` and `search` (relative shorthand like `"90d"` or ISO dates).
- The `kind` filter (`platform|sdk|mobile|desktop|docs|integration|tool`) behaves differently by surface: on **release** results a source inherits its parent product's kind, so `kind: "sdk"` returns content under any SDK product; on **catalog** results it matches the row's own kind only. Reach for it when a query is explicitly scoped to one kind ("which SDKs shipped this week").
- If a product isn't found, say so clearly — don't invent releases.