releases.shpreview
MCP Server
View .md

MCP Server

Use Releases as an AI agent tool server via the Model Context Protocol.

Pair with agent skills

One-line setup so your agent reaches for these tools on its own. See the skills page for the full list.

npx skills add buildinternet/releases-cli

Drops skill files into the project. Works in Claude Code, Codex, Cursor, OpenCode.

Remote server (recommended)

Connect to the hosted MCP server at https://mcp.releases.sh/mcp. No installation or API keys required — all tools are read-only and public.

Setup instructions

General

The hosted MCP server supports Streamable HTTP at:

https://mcp.releases.sh/mcp

Use that URL directly in clients with native remote MCP support. For clients that only support stdio MCP servers, use mcp-remote as a compatibility bridge.

One-click install

Click to install in a supported editor. The deeplink opens the app and prompts you to confirm before adding the server.

CursorVS Code

Claude Code

claude mcp add --transport http releases https://mcp.releases.sh/mcp

Codex

codex mcp add releases --url https://mcp.releases.sh/mcp

VS Code, Windsurf, Zed, and others

For clients without native remote MCP support, use mcp-remote:

{
  "mcpServers": {
    "releases": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.releases.sh/mcp"]
    }
  }
}

Available tools

Read tools

Read-only tools available on the remote server with no authentication.

Identifiers: every tool that takes an org / product / source identifier accepts the typed ID (org_…, prod_…, src_…) interchangeably with the slug. Source and product params also accept an org/slug coordinate (e.g. vercel/nextjs). Releases are addressed by id only — get_release takes a rel_… id or a bare 21-char nanoid, with no slug form. Each tool's inputSchema.description lists the concrete shapes it accepts.

ToolDescription
searchUnified search across orgs, catalog (products + standalone sources), and release content. Accepts type: ("orgs" | "catalog" | "releases")[] to skip sections; mode: "lexical" | "semantic" | "hybrid" (default hybrid) for release retrieval; entity to scope releases; since / until to bound release hits by publish date (ISO or 90d/4w/6m/2y). Release hits carry a kind: "release" | "changelog_chunk" discriminator; chunk hits include chunkOffset and chunkLength so you can chain into get_catalog_entry with changelog slicing params for surrounding context.
list_catalogProducts and standalone sources folded into one list, each row tagged with an entryType: "product" | "source" discriminator.
get_catalog_entryDetail for a single catalog entry — product or source. Accepts slug or prod_ / src_ id. Source entries list tracked CHANGELOG files (path + byte size) by default. Pass include_changelog: true to inline the root CHANGELOG, or changelog_path / changelog_offset / changelog_limit / changelog_tokens to target a specific file or slice. Heading-aligned slicing supports monorepo per-package files; token-mode responses include totalTokens and sliceTokens for LLM budgeting (brackets: 2000/5000/10000/20000).
get_latest_releasesGet the most recent releases, optionally filtered by product, organization, release type, or a since / until publish-date window (ISO or 90d/4w/6m/2y).
get_releaseFetch the full content of a single release by id. Accepts a rel_ prefix or a bare nanoid.
list_organizationsList all organizations, searchable by name, slug, domain, or account handle.
get_organizationDetailed view of a single organization including accounts, tags, sources, products, and domain aliases. Shows a preview of the AI-generated overview by default; pass include_overview: true to inline the full briefing (with a stale warning if it's older than 30 days).
search_releases (dep.)Deprecated shim — prefer search with type: ["releases"]. Same hybrid-retrieval shape kept for one release cycle.
search_registry (dep.)Deprecated shim — prefer search with type: ["orgs", "catalog"].
list_sources (dep.)Deprecated — prefer list_catalog.
list_products (dep.)Deprecated — prefer list_catalog.
get_product (dep.)Deprecated — prefer get_catalog_entry.

On-demand GitHub lookup

search and search_releases fall back to an on-demand GitHub lookup when the query is a {org}/{repo} coordinate and the in-index search returns no hits. The result is merged under a lookup field in the tool response so the agent can see the repo state without a second tool call.

FieldDescription
statusindexed (newly materialized), existing (already tracked), empty (real repo, no releases or CHANGELOG yet), not_found (no public repo), or deferred (GitHub rate-limit or 5xx — try shortly).
sourceSource record for the materialized or existing repo. Present on indexed, existing, and empty.
releasesInline release preview. Present on indexed and existing.
relatedOrg"Did you mean" rail — set when the org segment matches a known org but the specific repo doesn't. Lists the org and up to 5 sibling sources.

lookup is null when the query is not coordinate-shaped or when existing search hits were found. Materialized rows are hidden (discovery: "on_demand"); a second search for the same coordinate resolves through the normal cache path. Embeddings still run for on-demand sources, so semantic search picks them up on the second hit; AI features (overviews, summarization, playbook regen) skip them.

Example usage

Once configured, you can ask Claude to interact with the release index directly:

  • "What did Vercel ship last week?"
  • "Search for breaking changes in the Prisma changelog"
  • "Compare Next.js and Remix releases from the last 30 days"
  • "Summarize Cloudflare's recent releases, focusing on Workers"