Releases

An agent-friendly API for product changelogs. A unified registry via CLI, API, or MCP.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
93%
이름 품질
96%
오염 위험
60%
권한 일치
90%
프로토콜 준수
100%

발견 사항 (4)

  • HIGHTool description contains system tag or markerwhats_changed에서
  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainlookup_domain에서
  • LOWTool 'list_webhooks' suggests web access but openWorldHint=falselist_webhooks에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~6,318토큰 (도구 정의)
~2.3 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 4.94%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "mcp": {
      "url": "https://mcp.releases.sh/mcp"
    }
  }
}

원격 엔드포인트

https://mcp.releases.sh/mcpstreamable-http
https://agents.releases.sh/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (18)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢search(query, type, organization, domain, entity, ...)

Unified search across the registry and release content. Returns up to four sections — organizations, catalog entries (products + standalone sources folded into one list), curated collections (cross-org playlists), and releases with CHANGELOG chunks interleaved by relevance. Use `type` to narrow the surfaces you want and skip the expensive paths. For example, pass `type: ['catalog']` to look up a known entity by name (fast, registry-only); pass `type: ['releases']` when you only care about release content and want to avoid entity lookups. Omit `type` to search all four. Collections surface via two paths: a direct match on the collection's name/description (lexical in every mode, plus a vector match in hybrid/semantic mode) and a member rollup that includes every collection containing one of the matched orgs. Member rollups carry a list of result-set org slugs that triggered the rollup so a UI can render an "includes X" hint. Use `entity` (product slug / prod_ id OR source slug / src_ id) to scope release results to one catalog entry. Product identifiers expand to every source under the product. Use `organization` to scope to a whole org. Release retrieval defaults to hybrid (FTS5 + semantic vectors fused via RRF); it silently degrades to lexical when vector infra is unavailable and flags the result.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query"
    },
    "type": {
      "description": "Which sections to return. Omit to return all four. Use to skip expensive paths — e.g. ['catalog'] for registry-only lookups, ['releases'] for pure release search, ['collections'] for a quick playlist lookup.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "orgs",
          "catalog",
          "releases",
          "collections"
        ]
      }
    },
    "organization": {
      "description": "Scope release results to sources belonging to this organization. Accepts an org_ id, slug, or registered domain.",
      "type": "string"
    },
    "domain": {
      "description": "Scope to the org owning this domain. Input is normalized (scheme/path/www stripped, lowercased), so `https://vercel.com/` and `vercel.com` both work. Falls back to a 'no match' message when the domain isn't owned by anything indexed. Use this instead of `organization` when you have a URL-shaped input.",
      "type": "string"
    },
    "entity": {
      "description": "Scope release results to one catalog entry. Accepts a prod_ id (expands to every source under the product), a src_ id, or an org-scoped coordinate in the form orgSlug/slug (e.g. 'vercel/nextjs'). Bare slugs without an org prefix are not accepted.",
      "type": "string"
    },
    "product": {
      "description": "Scope release results to a specific product's sources. Accepts a prod_ id or an org-scoped coordinate in the form orgSlug/productSlug (e.g. 'vercel/next-js'). Bare slugs without an org prefix are not accepted. When both `entity` and `product` are supplied, `entity` takes precedence. The resolved product coordinate is echoed on `_meta.search.product`.",
      "type": "string"
    },
    "limit": {
      "description": "Max results per section (default 20)",
      "type": "number"
    },
    "mode": {
      "description": "Release-retrieval strategy. 'hybrid' (default) fuses FTS + vector results. 'lexical' is legacy FTS only. 'semantic' is vectors only. Falls back to lexical if vector infra is unavailable.",
      "type": "string",
      "enum": [
        "lexical",
        "semantic",
        "hybrid"
      ]
    },
    "include_coverage": {
      "description": "Include releases grouped as coverage of another (e.g. marketing posts that re-announce a platform release). Defaults to false so each underlying launch appears once.",
      "type": "boolean"
    },
    "include_empty": {
      "description": "Include orgs with zero indexed releases in the `orgs` section. Default false — empty orgs are stubs and surface as noise. Scoping by `domain` ignores this and always returns the resolved org.",
      "type": "boolean"
    },
    "kind": {
      "description": "Filter to a specific source/product kind. Release hits resolve through `source.kind ?? product.kind`; catalog hits filter on the row's own kind. The orgs and collections sections are unaffected; changelog chunk hits are unaffected.",
      "type": "string",
      "enum": [
        "platform",
        "sdk",
        "mobile",
        "desktop",
        "docs",
        "integration",
        "tool"
      ]
    },
    "since": {
      "description": "Keep only release hits published at or after this bound. Accepts an ISO date/datetime (`2026-01-01`) or relative shorthand (`90d`, `4w`, `6m`, `2y`). Filters `published_at`; undated releases are dropped. Only the releases section is affected — great for capability-discovery queries like 'who added X in the last 90 days'.",
      "type": "string"
    },
    "until": {
      "description": "Keep only release hits published at or before this bound. Same input formats as `since`.",
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_latest_releases(product, organization, type, kind, limit, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "product": {
      "description": "Filter to a product's cross-source release feed. Accepts a prod_ id (expands to ALL sources under the product), a src_ id (single source), or an org-scoped coordinate in the form orgSlug/productSlug (e.g. 'vercel/next-js'). Bare slugs without an org prefix are not accepted. Mirrors the REST ?product= expansion — multi-source products (e.g. Next.js with GitHub releases + blog) return releases from all of their sources interleaved.",
      "type": "string"
    },
    "organization": {
      "description": "Filter to sources belonging to this organization. Accepts an org_ id, slug, or registered domain.",
      "type": "string"
    },
    "type": {
      "description": "Filter by release type: 'feature' for individual releases, 'rollup' for seasonal/quarterly catch-all posts. Omit to include both.",
      "type": "string",
      "enum": [
        "feature",
        "rollup"
      ]
    },
    "kind": {
      "description": "Filter to releases from sources of a specific kind. Resolves through `source.kind ?? product.kind`, so an SDK repo with no own kind still matches its product's kind. Omit to include all kinds.",
      "type": "string",
      "enum": [
        "platform",
        "sdk",
        "mobile",
        "desktop",
        "docs",
        "integration",
        "tool"
      ]
    },
    "limit": {
      "description": "Slice size (1–200). Defaults to 10.",
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    },
    "cursor": {
      "description": "Opaque continuation token from a prior call's `_meta.pagination.nextCursor`. Pass to fetch the next slice. Stale cursors are silently ignored — the call returns a fresh head of the feed.",
      "type": "string"
    },
    "include_coverage": {
      "description": "Include releases grouped as coverage of another (e.g. marketing posts that re-announce a platform release). Defaults to false so each underlying launch appears once.",
      "type": "boolean"
    },
    "include_prereleases": {
      "description": "Include prerelease tags (alphas, betas, RCs, canaries). Defaults to false so the feed matches the public web view.",
      "type": "boolean"
    },
    "since": {
      "description": "Keep only releases published at or after this bound. Accepts an ISO date/datetime (`2026-01-01`) or relative shorthand (`90d`, `4w`, `6m`, `2y`). Filters `published_at`; undated releases are dropped.",
      "type": "string"
    },
    "until": {
      "description": "Keep only releases published at or before this bound. Same input formats as `since`.",
      "type": "string"
    },
    "minImportance": {
      "description": "Only include releases with an AI-scored `importance` >= this value (1-5; 5=landmark, 1=housekeeping). Releases with no score (unscored) are excluded when this is set. Mirrors the REST `?minImportance=` filter.",
      "type": "integer",
      "minimum": 1,
      "maximum": 5
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_catalog(organization, kind, page, limit)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "organization": {
      "description": "Organization to scope to. Accepts an org_ id, slug, domain, or name.",
      "type": "string"
    },
    "kind": {
      "description": "Filter to catalog entries of a specific kind. Matches each row's own kind (a product's kind, or a standalone source's kind) — no source→product inheritance on this catalog surface. Omit to include all kinds.",
      "type": "string",
      "enum": [
        "platform",
        "sdk",
        "mobile",
        "desktop",
        "docs",
        "integration",
        "tool"
      ]
    },
    "page": {
      "description": "1-based page number. Defaults to 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Entries per page (1–200). Defaults to 50.",
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_catalog_entry(identifier, include_changelog, changelog_path, changelog_offset, changelog_limit, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "identifier": {
      "type": "string",
      "description": "Catalog entry identifier: prod_ id, src_ id, or org-scoped coordinate orgSlug/slug (e.g. 'vercel/nextjs'). Bare slugs without an org prefix are not accepted."
    },
    "include_changelog": {
      "description": "When true, inline the root tracked CHANGELOG for a source-kind entry. Ignored for products.",
      "type": "boolean"
    },
    "changelog_path": {
      "description": "Specific CHANGELOG path for a source-kind entry (e.g. 'packages/next/CHANGELOG.md'). Passing this implies include_changelog.",
      "type": "string"
    },
    "changelog_offset": {
      "description": "Character offset into the selected CHANGELOG. Snapped forward to the next heading unless 0. Passing this implies include_changelog.",
      "type": "number"
    },
    "changelog_limit": {
      "description": "Target slice size in characters. Slice ends at a heading boundary. Defaults to 40000 when slicing without a token budget. Passing this implies include_changelog.",
      "type": "number"
    },
    "changelog_tokens": {
      "description": "Target slice size in tokens (cl100k_base). Takes precedence over changelog_limit. Recommended brackets: 2000, 5000, 10000, 20000. Passing this implies include_changelog.",
      "type": "number"
    }
  },
  "required": [
    "identifier"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_organizations(query, platform, include_empty, category, page, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Search across org name, slug, domain, and account handles",
      "type": "string"
    },
    "platform": {
      "description": "Filter to orgs with an account on this platform",
      "type": "string"
    },
    "include_empty": {
      "description": "Include orgs with zero indexed releases. Default false — empty orgs are stubs from in-flight discovery or broken parsers and surface as noise on the public catalog.",
      "type": "boolean"
    },
    "category": {
      "description": "Filter to a single category slug (e.g. `ai`, `devops`). Aliases (e.g. `e-commerce`) resolve to their canonical category (`commerce`); unknown values are ignored (unfiltered).",
      "type": "string"
    },
    "page": {
      "description": "1-based page number. Defaults to 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Entries per page (1–200). Defaults to 50.",
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_organization(identifier, include_overview)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "identifier": {
      "type": "string",
      "description": "Organization identifier. Accepts an org_ id, slug, domain, name, or account handle."
    },
    "include_overview": {
      "description": "When true, inline the full AI-generated overview instead of the default first-paragraph preview.",
      "type": "boolean"
    }
  },
  "required": [
    "identifier"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lookup_domain(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.

입력 스키마

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Domain to resolve. Any URL-shaped form is accepted; the server normalizes it."
    }
  },
  "required": [
    "domain"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_collections(page, limit)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "page": {
      "description": "1-based page number. Defaults to 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Entries per page (1–200). Defaults to 50.",
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_collection(slug)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Collection slug (e.g. 'frontier-ai-labs')."
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_collection_releases(slug, limit, cursor, include_prereleases)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Collection slug (e.g. 'frontier-ai-labs')."
    },
    "limit": {
      "description": "Slice size (1–200). Defaults to 20.",
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    },
    "cursor": {
      "description": "Opaque continuation token from a prior call's `_meta.pagination.nextCursor`. Stale cursors are silently ignored — the call returns a fresh head of the feed.",
      "type": "string"
    },
    "include_prereleases": {
      "description": "Include prerelease tags (alphas, betas, RCs). Defaults to false so the feed matches the public web view.",
      "type": "boolean"
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_release(id)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Release id — 'rel_<nanoid>' or a bare 21-char nanoid"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪follow(entity)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "entity": {
      "type": "string",
      "description": "Entity to follow — an `org_…` or `prod_…` id (from search / get_* results)."
    }
  },
  "required": [
    "entity"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪unfollow(entity)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "entity": {
      "type": "string",
      "description": "Entity to unfollow — an `org_…` or `prod_…` id."
    }
  },
  "required": [
    "entity"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_follows

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

입력 스키마

{
  "type": "object",
  "properties": {}
}
🟢get_personalized_feed(cursor, limit)

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. Cursor-paginated: pass `cursor` from a prior response's `_meta.pagination.nextCursor` and optional `limit` (1–100, default 30).

입력 스키마

{
  "type": "object",
  "properties": {
    "cursor": {
      "description": "Opaque cursor from a previous page's `_meta.pagination.nextCursor`.",
      "type": "string"
    },
    "limit": {
      "description": "Entries per page (1–100). Defaults to 30.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_webhooks(workspace, id, enabled)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "workspace": {
      "description": "Workspace id or slug. Omit for your personal webhooks.",
      "type": "string"
    },
    "id": {
      "description": "Show one webhook (with recent deliveries) instead of the full list.",
      "type": "string"
    },
    "enabled": {
      "description": "Filter to enabled or disabled webhooks.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴manage_webhook(action, workspace, id, url, scope, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "create",
        "update",
        "delete",
        "test",
        "rotate_secret"
      ]
    },
    "workspace": {
      "description": "Workspace id or slug. Omit to act on your personal webhooks.",
      "type": "string"
    },
    "id": {
      "description": "Webhook id — required for update, delete, test, and rotate_secret.",
      "type": "string"
    },
    "url": {
      "description": "Delivery URL. Required for create.",
      "type": "string"
    },
    "scope": {
      "description": "Create only. \"follows\" is personal-only and defaults org-scoped when omitted.",
      "type": "string",
      "enum": [
        "org",
        "follows"
      ]
    },
    "org": {
      "description": "Org slug or org_… id. Required for an org-scoped create.",
      "type": "string"
    },
    "product": {
      "description": "Product slug or prod_… id to narrow an org-scoped webhook. null clears it on update.",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "source": {
      "description": "Source slug or src_… id to narrow an org-scoped webhook. null clears it on update.",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "releaseType": {
      "description": "Optional filter on release taxonomy type.",
      "type": "string",
      "enum": [
        "feature",
        "rollup"
      ]
    },
    "format": {
      "description": "Delivery format.",
      "type": "string",
      "enum": [
        "json",
        "slack",
        "discord"
      ]
    },
    "description": {
      "description": "Freeform label for the webhook.",
      "type": "string"
    },
    "enabled": {
      "description": "Update only. Enable or disable delivery.",
      "type": "boolean"
    }
  },
  "required": [
    "action"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢whats_changed(package, from, to, ecosystem, minImportance)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "package": {
      "type": "string",
      "description": "Package identifier — a source slug or a GitHub \"owner/repo\" coordinate."
    },
    "from": {
      "type": "string",
      "description": "Version you're upgrading FROM (exclusive)."
    },
    "to": {
      "type": "string",
      "description": "Version you're upgrading TO (inclusive)."
    },
    "ecosystem": {
      "description": "Optional resolution hint; \"github\" enables matching a bare owner/repo.",
      "type": "string",
      "enum": [
        "npm",
        "pypi",
        "github"
      ]
    },
    "minImportance": {
      "description": "Only include entries with an AI-scored `importance` >= this value (1-5; 5=landmark, 1=housekeeping). Entries with no score (unscored) are excluded when this is set.",
      "type": "integer",
      "minimum": 1,
      "maximum": 5
    }
  },
  "required": [
    "package",
    "from",
    "to"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

권장 프롬프트

search_research
Search for information about [topic] using Releases
예상 도구: search
find_specific
Find [specific item] using Releases
예상 도구: search
retrieve_data
Get details about [item] from Releases
예상 도구: get_latest_releases
fetch_info
Fetch [information type] using Releases
예상 도구: get_latest_releases
list_items
List all [items] available in Releases
예상 도구: list_catalog

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 18개
검증됨버전이 기록되지 않음도구 18개
검증됨버전이 기록되지 않음도구 16개
검증됨버전이 기록되지 않음도구 16개