{"id":"org_8KCcpRQyRim07ckEHrKIu","slug":"modelcontextprotocol","name":"Model Context Protocol","domain":"modelcontextprotocol.io","description":"Open protocol, created by Anthropic, for connecting AI applications to external tools, data sources and workflows. Tracks the MCP specification and the official TypeScript and Python SDKs.","category":"ai","avatarUrl":"https://media.releases.sh/orgs/modelcontextprotocol.png","isHidden":false,"autoGenerateContent":true,"overviewCadenceDays":null,"featured":false,"fetchPaused":false,"discovery":"curated","status":"tracked","tags":["llm","mcp"],"sourceCount":4,"releaseCount":119,"releasesLast30Days":9,"avgReleasesPerWeek":1.9,"lastFetchedAt":"2026-10-24T15:30:52.358Z","lastPolledAt":"2026-10-24T15:30:48.803Z","trackingSince":"2024-11-06T10:59:21.000Z","aliases":[],"accounts":[{"platform":"github","handle":"modelcontextprotocol"}],"products":[],"sources":[{"id":"src_X8ZXQCSS5rTayfgetxzQ3","slug":"mcp-blog","name":"Blog","type":"feed","url":"https://blog.modelcontextprotocol.io/","isPrimary":false,"isHidden":false,"discovery":"curated","fetchPriority":"low","lastFetchedAt":"2026-10-23T23:12:19.562Z","lastPolledAt":"2026-10-24T00:04:55.398Z","releaseCount":24,"latestVersion":null,"latestDate":"2026-08-22T09:00:00.000Z","latestAddedAt":"2026-10-23T23:12:16.873Z","productSlug":null,"productName":null,"kind":null,"metadata":"{\"feedUrl\":\"https://blog.modelcontextprotocol.io/index.xml\",\"feedType\":\"rss\",\"marketingFilter\":true,\"marketingFilterHint\":\"Keep posts announcing spec revisions and release candidates, SDK launches or major versions, and new protocol features or extensions (e.g. MCP Apps, MCP Registry, enterprise-managed auth). Treat governance/process updates (maintainer changes, SEP process, foundation membership) and how-to or opinion essays as non-release.\",\"feedEtag\":\"W/\\\"6a8ab83a-6bea8\\\"\",\"feedLastModified\":\"Sun, 23 Aug 2026 09:07:06 GMT\",\"sourceActor\":{\"nextAlarmAt\":\"2026-10-25T00:04:55.398Z\",\"lastAlarmAt\":\"2026-10-24T04:02:41.787Z\",\"managed\":true}}"},{"id":"src_Undxfwk4SZn-u5TAL8K5P","slug":"mcp-python-sdk","name":"Python SDK","type":"github","url":"https://github.com/modelcontextprotocol/python-sdk","isPrimary":false,"isHidden":false,"discovery":"curated","fetchPriority":"normal","lastFetchedAt":"2026-10-24T15:30:52.358Z","lastPolledAt":"2026-10-24T15:30:48.803Z","releaseCount":73,"latestVersion":"v2.3.0","latestDate":"2026-10-02T22:02:27.000Z","latestAddedAt":"2026-10-23T22:54:20.700Z","productSlug":null,"productName":null,"kind":"sdk","metadata":"{\"sourceActor\":{\"nextAlarmAt\":\"2026-10-24T19:25:57.080Z\",\"lastAlarmAt\":\"2026-10-24T15:25:57.947Z\",\"managed\":true},\"wellKnownSweptAt\":\"2026-10-24T06:00:36.005Z\"}"},{"id":"src_in4vktwVcbVEOUjf7QNKY","slug":"mcp-specification","name":"Specification","type":"github","url":"https://github.com/modelcontextprotocol/modelcontextprotocol","isPrimary":true,"isHidden":false,"discovery":"curated","fetchPriority":"normal","lastFetchedAt":"2026-10-24T15:10:42.612Z","lastPolledAt":"2026-10-24T15:10:41.151Z","releaseCount":9,"latestVersion":"2026-07-28","latestDate":"2026-07-28T16:47:49.000Z","latestAddedAt":"2026-10-23T22:54:19.098Z","productSlug":null,"productName":null,"kind":"platform","metadata":"{\"sourceActor\":{\"nextAlarmAt\":\"2026-10-24T19:09:09.930Z\",\"lastAlarmAt\":\"2026-10-24T15:09:10.634Z\",\"managed\":true},\"wellKnownSweptAt\":\"2026-10-24T06:00:36.005Z\"}"},{"id":"src_kqCucfxlVi7mf7xfdWQdq","slug":"mcp-typescript-sdk","name":"TypeScript SDK","type":"github","url":"https://github.com/modelcontextprotocol/typescript-sdk","isPrimary":false,"isHidden":false,"discovery":"curated","fetchPriority":"normal","lastFetchedAt":"2026-10-24T15:06:50.149Z","lastPolledAt":"2026-10-24T15:06:49.432Z","releaseCount":11,"latestVersion":"v2.4.0","latestDate":"2026-10-23T18:32:25.000Z","latestAddedAt":"2026-10-23T22:54:11.373Z","productSlug":null,"productName":null,"kind":"sdk","metadata":"{\"tagDenyPrefixes\":[\"@modelcontextprotocol/\"],\"sourceActor\":{\"nextAlarmAt\":\"2026-10-24T19:04:50.024Z\",\"lastAlarmAt\":\"2026-10-24T15:04:50.929Z\",\"managed\":true},\"wellKnownSweptAt\":\"2026-10-24T06:00:36.005Z\"}"}],"overview":{"scope":"org","content":"Recently shipped TypeScript SDK 2.4.0 and Python SDK 2.3.0, tightening `x-mcp-header` validation to the 2026-07-28 spec.\n\n**Tool header annotations are now enforced on both SDKs.**\n- TypeScript rejects `x-mcp-header` on a `number` parameter: the client drops the tool from its listing, and the server answers calls to it with `-32020`. Use `z.int()` instead.\n- Python raises `InvalidSignature` at registration for anything but a plain `str`, `int`, or `bool` parameter — including `str | None`, `float`, lists, and enums — where previously the server started and clients silently omitted the tool.\n- Header names must be valid tokens and unique case-insensitively.\n\n**OAuth credentials are bound to the server that issued them.**\n- Machine-to-machine providers now want `expectedIssuer`; constructing them without it is deprecated and logs a warning.\n- `expectedResource` on `requireBearerAuth` accepts only tokens issued for this server, and `fetchToken()` throws `AuthorizationServerMismatchError` before sending anything when client information belongs elsewhere.\n- Stored tokens and client information gained an `issuer` field — storage that rejects unknown fields must allow it.\n\n**Stateless servers and stricter transport defaults.** `Server.connect()` now rejects while already connected, and a stateless Streamable HTTP transport handles one request, so build the server inside the handler. List calls return the whole list. HTTP transports follow redirects only within the same origin unless `redirectPolicy: 'follow'` is set.\n\n**Schema output and validation changed shape.** On a 2025-11-25 connection, `outputSchema` from `z.object(...).meta({ id })` is no longer wrapped: read `structuredContent`, not `structuredContent.result`. The bundled Ajv validator (fast-uri 3.1.8) rejects `$id` or `$ref` values with invalid URI schemes such as `my_tool:output`.\n\n**New opt-in limits.** `maxToolInputElements` caps array elements and object members in tool arguments, and Python's `max_sse_event_size` ships alongside a raised floor of `httpx2>=2.10.0`.\n\nThe 1.x line still receives backports — same-origin redirect handling, `expectedIssuer`, and late registration of declared capabilities — with its README now pointing at v2.","releaseCount":9,"lastContributingReleaseAt":"2026-10-23T18:32:25.000Z","generatedAt":"2026-10-24T08:02:25.819Z","updatedAt":"2026-10-24T08:02:25.819Z","citations":[{"sourceUrl":"https://github.com/modelcontextprotocol/typescript-sdk/releases/tag/v2.4.0","title":"2.4.0","releaseId":"rel_dma349Y2VDWSmPEWCQJQh","releaseWebUrl":"https://releases.sh/release/rel_dma349Y2VDWSmPEWCQJQh-number-x-mcp-header-rejected-skills-over-mcp-ships"},{"sourceUrl":"https://github.com/modelcontextprotocol/typescript-sdk/releases/tag/v2.3.0","title":"2.3.0","releaseId":"rel_hx1rhE8g06zdJUouEsc2k","releaseWebUrl":"https://releases.sh/release/rel_hx1rhE8g06zdJUouEsc2k-one-server-per-request-redirects-pinned-to-same-origin"},{"sourceUrl":"https://github.com/modelcontextprotocol/typescript-sdk/releases/tag/v2.3.1","title":"2.3.1","releaseId":"rel_54sykKVe7YNBYqB4qD8ee","releaseWebUrl":"https://releases.sh/release/rel_54sykKVe7YNBYqB4qD8ee-legacy-bearer-auth-gains-opt-in-audience-check"},{"sourceUrl":"https://github.com/modelcontextprotocol/typescript-sdk/releases/tag/v2.2.0","title":"2.2.0","releaseId":"rel_I1Mvq2LMQfKqwvP5MqwYO","releaseWebUrl":"https://releases.sh/release/rel_I1Mvq2LMQfKqwvP5MqwYO-list-calls-now-paginate-fully-oauth-providers-need-expectedissuer"},{"sourceUrl":"https://github.com/modelcontextprotocol/typescript-sdk/releases/tag/1.32.0","title":"1.32.0","releaseId":"rel_l40lnpXg4Oj9tSkG0Ja06","releaseWebUrl":"https://releases.sh/release/rel_l40lnpXg4Oj9tSkG0Ja06-http-redirects-now-same-origin-only-bearer-auth-gains-audience-check"},{"sourceUrl":"https://github.com/modelcontextprotocol/typescript-sdk/releases/tag/1.32.2","title":"1.32.2","releaseId":"rel_Ici3EzIOixlimBMTJGB3z","releaseWebUrl":"https://releases.sh/release/rel_Ici3EzIOixlimBMTJGB3z-registration-allowed-after-connect-transport-types-fixed"},{"sourceUrl":"https://github.com/modelcontextprotocol/typescript-sdk/releases/tag/1.31.0","title":"1.31.0","releaseId":"rel_zM92GiDSKc-BXoL4vCh-Y","releaseWebUrl":"https://releases.sh/release/rel_zM92GiDSKc-BXoL4vCh-Y-oauth-credentials-bound-to-issuing-auth-server-issuer-field-required"},{"sourceUrl":"https://github.com/modelcontextprotocol/python-sdk/releases/tag/v2.3.0","title":"v2.3.0","releaseId":"rel_-DblQ2pW9NCyN1a86koRq","releaseWebUrl":"https://releases.sh/release/rel_-DblQ2pW9NCyN1a86koRq-empty-meta-no-longer-sent-invalid-x-mcp-header-fails-at-registration"}]},"playbook":null,"notice":null}