Release Notes Index

sh.releases由 releases.sh 发布官方发布者v0.15.2更新于 Oct 24, 2026

Release notes and changelogs from across the web, indexed for agents. Also via CLI and REST API.

已验证Streamable HTTP可网页运行网页搜索与抓取知识与记忆开发者工具

概览

AI 生成的概览

远程 MCP 服务器,汇集各家产品的发布说明与更新日志,让助手搜索发布、对比版本并关注产品。

可以做什么
  • 搜索注册表与发布内容,包括按相关度排序的更新日志片段
  • 浏览产品与来源目录、组织,以及跨组织的精选合集
  • 读取单条发布的完整内容,或按产品或组织筛选最新发布
  • 把域名解析到对应的组织或产品
  • 对比某个包的两个版本,取得两者之间的更新日志条目与破坏性变更判定
  • 关注组织或产品、读取个性化信息流,并管理对外发布 webhook
适用场景
适合助手需要回答“改了什么”的场景:升级之前、事故之后,或某个依赖行为突然变化时;也适合希望把众多厂商的发布信息汇总成一个统一信息流,而不必逐个翻看更新日志页面。
运行要求
需要一个远程 HTTP 端点,无需本地包或运行时。读取操作公开,无需账号或 API 密钥。关注、个性化信息流和 webhook 需要已登录用户,以用户密钥或 OAuth 令牌提供。
安装前请注意
webhook 工具会向你提供的外部 URL 发送请求,并可创建、更新、删除、停用 webhook 或轮换其签名密钥,应视为写操作。关注、取消关注和 webhook 工具需要已登录用户的凭据,请妥善保管。发布内容是第三方材料,引用时应使用原始来源链接。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Release Notes Index,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/sh.releases%2Fmcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "release-notes-index": {
      "type": "http",
      "url": "https://agents.releases.sh/mcp"
    }
  }
}

README

[Release Notes Index — the latest product releases, indexed for agents]

Release Notes Index

The latest product releases, indexed for agents.

A registry of release notes from across the web — pulled from vendor changelogs, normalized into one schema, summarized, and queryable from your terminal, your code, or any MCP client. Readable by you and your agent.

releases.sh  ·  Docs  ·  CLI →  ·  Use it  ·  What's in this repo  ·  Develop

[CI] [npm (CLI)] [MCP server] [Ask DeepWiki] [License: Apache-2.0]

This repo is the backend for releases.sh (API · MCP · web · ingest) and the source of the command-line tool.


What is this?

"What changed?" is a question agents and developers ask constantly — before an upgrade, after an incident, when a tool suddenly behaves differently. The answer is scattered across GitHub releases, RSS feeds, changelog pages, and blog posts in a hundred different formats.

Release Notes Index collects those into one registry. It watches hundreds of sources across the vendors developers actually depend on, and for every release stores the original content plus an AI-generated title, summary, and breaking-change classification. Each organization gets a maintained overview of what it shipped recently. The web page a human reads and the JSON an agent fetches are the same content.

This repo is the source of the canonical deployment at releases.sh: the API worker (the authoritative data plane), the MCP server, the web frontend, and the ingest pipeline + agent harness that keep the registry fresh. The user-facing CLI lives in apps/cli/ and ships from this repo (npm + Homebrew).

Use it

No account or API key needed for reads — all four surfaces are public.

MCP — hosted at agents.releases.sh/mcp (mcp.releases.sh/mcp still works), listed in the MCP Registry as sh.releases/mcp, and in the Claude connector directory for Claude on the web, desktop, and mobile:

bash
claude mcp add --transport http releases https://agents.releases.sh/mcp   # Claude Codecodex mcp add releases --url https://agents.releases.sh/mcp               # Codexnpx -y mcp-remote https://agents.releases.sh/mcp                          # stdio bridge (VS Code, Zed, …)

CLI — one-off via npx, or brew install buildinternet/tap/releases:

bash
npx @buildinternet/releases get anthropic     # what did Anthropic ship lately?npx @buildinternet/releases search "MCP"      # search across every vendor

REST API — public GET endpoints on api.releases.sh, spec at /v1/openapi.json:

bash
curl "https://api.releases.sh/v1/releases/latest?limit=5"

Agent skills — auto-triggering playbooks, installable into any agent (Claude Code / Codex / Cursor / OpenCode) without checking out anything. Start with the reader skills — search, MCP lookups, and release analysis — which is what almost everyone wants:

bash
npx skills add buildinternet/releases   # reader skills — search, MCP, release analysis
# just the skill that writes a releases.json manifest for your own productnpx skills add buildinternet/releases --skill creating-releases-json

On Claude Code, the CLI repo also installs as a plugin — the reader skills plus a bundled MCP connection and a /releases command:

/plugin marketplace add buildinternet/releases/plugin install releases@releases

Running or maintaining the registry itself? This repo also ships operator skills (source onboarding, parsing, bulk maintenance) — most need an admin key: npx skills add buildinternet/releases. See releases.sh/docs/skills.

Docs — user-facing documentation is served from the web app at releases.sh/docs (source in apps/web/src/content/docs/): installation · skills · REST API · MCP · webhooks · listing your product.

Agents consuming the product start from releases.sh/llms.txt; the MCP tool catalog and auth model are also covered in docs/architecture/mcp.md. Creating a free account unlocks higher rate limits (mint an API key at releases.sh/account), plus follows, personalized feeds, webhooks, and email digests.

[An organization page: AI-maintained overview of recent releases, source list, and JSON/Markdown/Atom export]
Every org page carries an AI-maintained overview and exports as JSON, Markdown, or Atom.

What's in this repo

PathWhat
apps/api/Hono API on Cloudflare D1 — the authoritative data plane
apps/mcp/Remote MCP server at agents.releases.sh (alias mcp.releases.sh)
apps/webhooks/Signs + delivers release.created events (HMAC-SHA256, retry/DLQ) — docs
apps/web/Next.js frontend, deploys on Vercel
packages/Shared code — core + api-types publish to npm; the rest are private workspaces
.claude/Claude Code config — skills/ (canonical skill home), agents/, commands/, workflows/

How it fits together:

  • Storage — Cloudflare D1 (FTS5 + Vectorize). The API worker is the sole data plane.
  • Ingest — adapters for GitHub Releases, RSS/Atom/JSON feeds, and a browser-rendering fallback for feed-less pages (packages/adapters/). The crawler signs outbound fetches (RFC 9421) as a Cloudflare Verified Bot.
  • AI — changelog parsing, summarization, grouping, and org overviews run in the API worker as direct Anthropic SDK calls.

Contributor mental model

This repo has four kinds of code:

AreaPathsWhat to know
Product surfacesapps/api/, apps/mcp/, apps/webhooks/, apps/web/The API worker is the data plane. Web, MCP, CLI, and webhooks read from or route through it.
Shared packagespackages/core/, packages/api-types/, private packages/*core owns schema and pure helpers; api-types owns wire shapes. Change these first when shared contracts move.
Hosted operations.claude/skills/, .claude/workflows/These power the canonical releases.sh ingest and operator loop. Some paths need hosted credentials, but local work does not.
Historical contextdocs/architecture/, docs/plans/, docs/superpowers/Architecture docs are maintained references. Plans and specs are point-in-time design history.

For normal contributions, start with bun run bootstrap, bun run check, and bun run test. You do not need production Cloudflare, Anthropic, Vercel, email, or Firecrawl access to work on the core loop. If you are trying to fork or self-host the full service, read deploy-coupling.md.

Per-package detail and project conventions live in AGENTS.md — the agent entry point for working in this repo. Architecture deep-dives are in docs/architecture/, with a reader's guide at docs/README.md.

Local development

Prerequisites: Bun. No external accounts needed for the core loop:

bash
bun run bootstrap        # one-command setup: tooling, deps, env files, local D1bun run doctor           # diagnose the setup — reports what's missing and how to fix it
bun run check            # lint + type-check + format (the CI gate)bun run test             # full test suite, secret-freebun run dev:api          # API worker on local D1bun run dev:web          # Next.js frontend

bootstrap is idempotent (safe to re-run; never overwrites your env files or wipes the local DB) and doctor is read-only. Prefer the manual steps? They're bun install, copy each *.example env file, then bun run db:reset:local.

AI passes, scrape fetches, and semantic search take your own keys (ANTHROPIC_API_KEY, Cloudflare Browser Rendering, VOYAGE_API_KEY) and degrade gracefully without them. Setup detail, environment variables, testing, deployment, and the full no-accounts / bring-your-own-keys / hosted-only breakdown live in CONTRIBUTING.md.

License

Apache-2.0. The published npm packages (releases-core, api-types) and the Claude Code plugin (plugins/claude/releases) are deliberately MIT for maximum reuse.

来源:README.md,提交 93348cf

工具

18

get_latest_releases

Get latest releases

Get the most recent releases, optionally filtered by product or organization. Excludes prereleases (canaries / alphas / betas / RCs) by default — pass `include_prereleases: true` to include them. Cursor-paginated: pass `limit` for slice size (default 10), `cursor` to continue from a prior call. The result's `_meta.pagination` carries `kind: 'cursor'`, `hasMore`, and `nextCursor` when more rows exist; the response text echoes `nextCursor` so an LLM caller can chain without parsing `_meta`. Cursors are stable under inserts — a release added between calls won't shift the slice.

输入参数kindtypelimitsinceuntilcursorproductorganizationminImportanceinclude_coverageinclude_prereleases

list_catalog

List catalog

List catalog entries — products and standalone sources combined into one list with an `entryType: 'product' | 'source'` discriminator per row. Orgs that group multiple sources under a product (e.g. Vercel → Next.js, Turborepo) surface those products; orgs with a single source that isn't part of a product surface it directly as an `entryType: 'source'` entry. Either shape is a reasonable thing to pass to `search(entity: ...)`. Paginated: defaults to 50 entries per page. Pass `page: 2` for the next slice. The footer surfaces the total when more pages exist.

输入参数kindpagelimitorganization

get_catalog_entry

Get catalog entry

Detail for a single catalog entry — accepts a prod_ id, src_ id, or an org-scoped coordinate in the form orgSlug/slug (e.g. 'vercel/nextjs' or 'vercel/next-js'). Returns the union of product / source detail fields depending on the entry kind. Source entries list tracked CHANGELOG files by path and byte size. Pass `include_changelog: true` to inline the root CHANGELOG, or `changelog_path` / `changelog_offset` / `changelog_limit` / `changelog_tokens` to embed a specific file or slice — heading-aligned, supports per-package files in monorepos (e.g. `packages/next/CHANGELOG.md`), and emits `totalTokens` / `sliceTokens` for LLM context budgeting. Files over 1MB are flagged as truncated so you know the tail is missing.

输入参数identifier必填changelog_pathchangelog_limitchangelog_offsetchangelog_tokensinclude_changelog

list_organizations

List organizations

List all indexed organizations, optionally filtered. Paginated: defaults to 50 entries per page; pass `page: 2` for the next slice. Orgs with zero indexed releases are hidden by default (curator-stub noise); set `include_empty: true` to see them.

输入参数pagelimitquerycategoryplatforminclude_empty

get_organization

Get organization

Get detailed information about a single organization — accounts, tags, sources, products, aliases. When an AI-generated overview exists the response includes a short preview; pass `include_overview: true` to inline the full briefing (with a stale warning if the content is older than 30 days since last write).

输入参数identifier必填include_overview

lookup_domain

Lookup by domain

Resolve a domain to the org or product that owns it. The domain is normalized first (scheme, `www.`, path, and trailing slash stripped, lowercased), so `https://vercel.com/about` and `vercel.com` both look up the same row. Returns the matching org (with primary-vs-alias distinction) and any products whose alias targets the same domain. Pure resolution — does not probe the domain or materialize anything; unknown domains surface a 'no match' message. Use `lookup_domain` when you have a URL-shaped input; use `get_organization` when you already have a slug or id.

输入参数domain必填

list_collections

List collections

List curated collections — named cross-org playlists (e.g. 'Frontier AI Labs') independent of the fixed category taxonomy. Use `get_collection` for a collection's full member list, or `get_collection_releases` for the interleaved cross-org release feed. Paginated: defaults to 50 entries per page; pass `page: 2` for the next slice.

输入参数pagelimit

get_collection

Get collection

Detail for a single collection — name, description, and the ordered list of member organizations. Hidden / on-demand orgs never leak through; only publicly visible orgs appear in the member list.

输入参数slug必填

get_collection_releases

Get collection releases

Interleaved cross-org release feed for a collection — same shape as `get_latest_releases` but scoped to the collection's member orgs. Cursor-paginated: pass `limit` for slice size (default 20), `cursor` to continue from a prior call. The result's `_meta.pagination` carries `kind: 'cursor'`, `hasMore`, and `nextCursor` when more rows exist; the response text echoes `nextCursor` so an LLM caller can chain without parsing `_meta`. Cursors are stable under inserts.

输入参数slug必填limitcursorinclude_prereleases

get_release

Get release

Fetch the full content of a single release by id. Release ids are returned by search or get_latest_releases — pass them here to read the whole entry (e.g. to quote a specific Next.js release note). Accepts the full rel_<nanoid> form or the bare 21-char nanoid. Cite `URL:` (the original source) ahead of `Web:` (the releases.sh copy). Structured `url` and `webUrl` carry the same pair.

输入参数id必填

follow

Follow

Follow an organization or a product so it appears in your personalized feed (`get_personalized_feed`). Following an organization implicitly includes all of its products. Requires a signed-in user (a `relu_` user key or an OAuth token). `entity` is a typed id — an `org_…` id or a `prod_…` id — as returned by `search`, `get_organization`, or `get_catalog_entry`. Idempotent: following something you already follow is a no-op.

输入参数entity必填

unfollow

Unfollow

Stop following an organization or product. Requires a signed-in user. `entity` is an `org_…` or `prod_…` id. Idempotent: unfollowing something you don't follow is a no-op.

输入参数entity必填

list_follows

List follows

List the organizations and products you follow (newest first). Requires a signed-in user.

无需输入参数。

get_personalized_feed

Get personalized feed

Your personalized release feed — recent releases from the organizations and products you follow, newest first. Requires a signed-in user. Same item shape as `get_latest_releases`, scoped to your follows. Each item prints `URL:` (the original source — cite that) before `Web:` (the releases.sh copy), when present. Cursor-paginated: pass `cursor` from a prior response's `_meta.pagination.nextCursor` and optional `limit` (1–100, default 30).

输入参数limitcursor

list_webhooks

List webhooks

List your outbound release webhooks, personal or workspace. Requires a signed-in user (a `relu_` user key or an OAuth token). With no `workspace`, lists your personal webhooks (`GET /v1/me/webhooks`) and includes a short list of your workspaces (id, slug, role) so you can target one next. Pass `workspace` (an id or a slug) to list that workspace's webhooks instead. Pass `id` to see one webhook plus its 10 most recent deliveries. Pass `enabled` to filter by enabled/disabled state.

输入参数idenabledworkspace

manage_webhook

Manage webhook

Create, update, delete, test, or rotate the signing key of an outbound release webhook — personal or workspace. Requires a signed-in user. This tool sends requests to an external URL you supply and can delete or disable delivery, so treat it as a write. Pass `workspace` (an id or slug) to act on a workspace's webhooks instead of your personal ones; workspace webhooks are always org-scoped (`scope: "follows"` is personal-only and is rejected up front). Only workspace owners and admins can create, update, delete, or rotate a workspace webhook — any member can test one. `action: "create"` needs `url` and `format` (`json`, `slack`, or `discord`), plus either `scope: "follows"` (personal only — everything you follow) or an org-scoped target: `org` (an org slug or `org_…` id), optionally narrowed by `product` (slug or `prod_…` id) or `source` (slug or `src_…` id). `action: "update"` needs `id` plus any fields to change; pass `source: null` or `product: null` to clear a filter. `action: "delete"`, `action: "test"`, and `action: "rotate_secret"` need only `id`. `create` and `rotate_secret` return a one-time `signingKey` for `json`-format webhooks — store it now, it will not be shown again. `slack` and `discord` deliveries aren't signed, so those formats never return one.

输入参数idorgurlscopeaction必填formatsourceenabledproductworkspacedescriptionreleaseType

whats_changed

What's changed

Given a package and a `from`/`to` version, return the changelog entries between them — `(from, to]`, from exclusive, to inclusive — with summaries and breaking-change verdicts. One call instead of reading N changelog pages to plan an upgrade. `package` is a tracked source slug or a GitHub `owner/repo` coordinate (set `ecosystem: "github"` for a bare coordinate). Reads already-indexed releases only. If the package isn't in the catalog you'll get a clear 'not tracked' answer (npm/PyPI names may not be mapped to a source yet). Each entry prints `URL:` (the original source — cite that) before `Web:` (the releases.sh copy), when present. Structured results still include both `url` and `webUrl`.

输入参数to必填from必填package必填ecosystemminImportance

版本历史

2
  1. v0.15.2最新Oct 3, 2026
  2. v0.15.1Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Releases 集成