Skip to content

Commit 29c651b

Browse files
committed
Merge branch 'main' into feat/task-jumpscares
2 parents 8444d82 + e148315 commit 29c651b

76 files changed

Lines changed: 2123 additions & 729 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude-plugin/marketplace.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"name": "modelcontextprotocol",
3+
"owner": {
4+
"name": "Model Context Protocol"
5+
},
6+
"metadata": {
7+
"description": "Official Claude Code plugins for the Model Context Protocol"
8+
},
9+
"plugins": [
10+
{
11+
"name": "mcp-spec",
12+
"source": "./plugins/mcp-spec",
13+
"description": "Skills for researching and contributing to the MCP specification"
14+
}
15+
]
16+
}

.github/CODEOWNERS

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
# CODEOWNERS file for MCP Specification repository
22

3-
# General documentation ownership - @modelcontextprotocol/docs-maintaners and core-maintainers own all of /docs
4-
/docs/ @modelcontextprotocol/docs-maintaners @modelcontextprotocol/core-maintainers
3+
# General documentation ownership - @modelcontextprotocol/docs-maintainers and core-maintainers own all of /docs
4+
/docs/ @modelcontextprotocol/docs-maintainers @modelcontextprotocol/core-maintainers
55

66
# Specific ownership - @core-maintainer team owns docs/specification and schema/ directories
77
/docs/specification/ @modelcontextprotocol/core-maintainers
88
/schema/ @modelcontextprotocol/core-maintainers
99

10+
# Blog ownership
11+
/blog/ @dsp-ant @localden
12+
1013
# Authorization-related files - @auth team should be notified
1114
/docs/specification/**/authorization.mdx @modelcontextprotocol/core-maintainers @modelcontextprotocol/auth-wg
1215
/docs/specification/**/security_best_practices.mdx @modelcontextprotocol/core-maintainers @modelcontextprotocol/auth-wg

.github/labeler.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Configuration for actions/labeler
2+
# https://github.com/actions/labeler
3+
4+
blog:
5+
- changed-files:
6+
- any-glob-to-any-file:
7+
- "blog/**"
8+
9+
documentation:
10+
- changed-files:
11+
- any-glob-to-any-file:
12+
- "docs/docs/**"

.github/workflows/blog-preview.yml

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: Blog Preview
2+
3+
on:
4+
pull_request:
5+
types: [opened, synchronize, reopened, closed]
6+
paths:
7+
- "blog/**"
8+
9+
permissions:
10+
contents: read
11+
pull-requests: write
12+
13+
concurrency:
14+
group: blog-preview-${{ github.event.pull_request.number }}
15+
cancel-in-progress: true
16+
17+
jobs:
18+
build-and-deploy:
19+
# Explicitly refuse to run for fork PRs. Blog content is authored by maintainers
20+
# pushing to branches in this repo — external contributors do not submit blog posts.
21+
# This also prevents a fork from triggering a build that would fail on missing
22+
# Cloudflare secrets anyway.
23+
if: >-
24+
github.event.action != 'closed' &&
25+
github.event.pull_request.head.repo.full_name == github.repository
26+
runs-on: ubuntu-latest
27+
env:
28+
HUGO_VERSION: 0.148.0
29+
steps:
30+
- name: Checkout
31+
uses: actions/checkout@v6
32+
with:
33+
submodules: recursive
34+
fetch-depth: 0
35+
36+
- name: Setup Go
37+
uses: actions/setup-go@v6
38+
with:
39+
go-version: "1.24"
40+
41+
- name: Setup Hugo
42+
run: |
43+
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
44+
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
45+
46+
- name: Build blog preview
47+
env:
48+
HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache
49+
HUGO_ENVIRONMENT: development
50+
run: |
51+
cd blog && hugo \
52+
--gc \
53+
--minify \
54+
--buildDrafts \
55+
--buildFuture \
56+
--baseURL "/"
57+
58+
- name: Deploy preview
59+
uses: modelcontextprotocol/actions/cloudflare-pages-preview/deploy@main
60+
with:
61+
directory: blog/public
62+
project-name: mcp-blog-preview
63+
api-token: ${{ secrets.CF_BLOG_PREVIEW_API_TOKEN }}
64+
account-id: ${{ secrets.CF_BLOG_PREVIEW_ACCOUNT_ID }}
65+
comment-title: "📰 Blog Preview Deployed"
66+
comment-marker: "<!-- blog-preview-comment -->"
67+
68+
cleanup:
69+
if: >-
70+
github.event.action == 'closed' &&
71+
github.event.pull_request.head.repo.full_name == github.repository
72+
runs-on: ubuntu-latest
73+
steps:
74+
- uses: modelcontextprotocol/actions/cloudflare-pages-preview/cleanup@main
75+
with:
76+
project-name: mcp-blog-preview
77+
api-token: ${{ secrets.CF_BLOG_PREVIEW_API_TOKEN }}
78+
account-id: ${{ secrets.CF_BLOG_PREVIEW_ACCOUNT_ID }}
79+
comment-marker: "<!-- blog-preview-comment -->"

.github/workflows/labeler.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Pull Request Labeler
2+
3+
on:
4+
pull_request_target:
5+
6+
permissions:
7+
contents: read
8+
pull-requests: write
9+
10+
jobs:
11+
label:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/labeler@v6
15+
with:
16+
sync-labels: false

.github/workflows/sep-lifecycle-manual.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ jobs:
7272
LOG_LEVEL: info
7373

7474
- name: Upload logs
75-
uses: actions/upload-artifact@v6
75+
uses: actions/upload-artifact@v7
7676
if: always()
7777
with:
7878
name: automation-logs-manual-${{ github.run_id }}

.github/workflows/sep-lifecycle.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ jobs:
103103
LOG_LEVEL: info
104104

105105
- name: Upload logs
106-
uses: actions/upload-artifact@v6
106+
uses: actions/upload-artifact@v7
107107
if: always()
108108
with:
109109
name: automation-logs-${{ github.run_id }}

blog/content/posts/2026-01-26-mcp-apps.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Since then, the spec has been refined, the SDK has matured, and clients like Cha
2525
Goose and Visual Studio Code have shipped support for this capability, with more clients
2626
coming soon.
2727

28-
{{< button text="Get Started with MCP Apps" url="https://modelcontextprotocol.github.io/ext-apps/api/documents/Quickstart.html" >}}
28+
{{< button text="Get Started with MCP Apps" url="https://apps.extensions.modelcontextprotocol.io/api/documents/Quickstart.html" >}}
2929

3030
## **What Are MCP Apps?**
3131

@@ -223,7 +223,7 @@ Pick one close to what you're building and start from there!
223223
### **Resources**
224224

225225
- **Documentation**: [MCP Apps Guide](https://modelcontextprotocol.io/docs/extensions/apps)
226-
- **Quickstart**: [Getting Started with MCP Apps](https://modelcontextprotocol.github.io/ext-apps/api/documents/Quickstart.html)
226+
- **Quickstart**: [Getting Started with MCP Apps](https://apps.extensions.modelcontextprotocol.io/api/documents/Quickstart.html)
227227
- **SDK**: [`@modelcontextprotocol/ext-apps`](https://www.npmjs.com/package/@modelcontextprotocol/ext-apps)
228228
- **Examples**: [ext-apps repository](https://github.com/modelcontextprotocol/ext-apps)
229229

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
---
2+
date: "2026-03-09T09:00:00+00:00"
3+
publishDate: "2026-03-09T09:00:00+00:00"
4+
title: "The 2026 MCP Roadmap"
5+
slug: "2026-mcp-roadmap"
6+
description: "The updated Model Context Protocol roadmap for 2026: transport scalability, agent communication, governance maturation, and enterprise readiness, plus guidance on SEP prioritization and how to get involved."
7+
author: "David Soria Parra (Lead Maintainer)"
8+
tags: ["mcp", "roadmap", "governance", "community"]
9+
ShowToc: true
10+
---
11+
12+
MCP's [current spec release](https://blog.modelcontextprotocol.io/posts/2025-11-25-first-mcp-anniversary/) came out in November 2025. We haven't cut a new version since, but the project hasn't stood still. Over the past year MCP has moved well past its origins as a way to wire up local tools. It now runs in production at companies large and small, powers agent workflows, and is shaped by a growing community through Working Groups, [Spec Enhancement Proposals](https://modelcontextprotocol.io/community/sep-guidelines) (SEPs), and a formal governance process. None of that is news, but it's the foundation we're building on.
13+
14+
We spent the last few months working through a long list of candidate priorities. They were informed by production experience, community feedback, and the pain points that keep surfacing. We narrowed them down to the areas that matter most for 2026. The result is an updated [roadmap document](https://modelcontextprotocol.io/development/roadmap) that lays out where we're headed.
15+
16+
If you read the [January update](/posts/2026-01-22-core-maintainer-update/), you'll recognize the broad strokes. Production deployments have different needs than the early experiments that got us here, and the roadmap now reflects that. Here's what changed and what it means for you.
17+
18+
## From Releases to Working Groups
19+
20+
Previous versions of the roadmap were organized around release milestones: what's shipping in the next spec version and what comes after. That framing made sense when the project was smaller and most of the work flowed through a handful of people.
21+
22+
[Working and Interest Groups](https://modelcontextprotocol.io/community/working-interest-groups) are now the primary vehicle for protocol development, and the roadmap needed to reflect that. The new document is organized around **priority areas**, rather than around dates. Working Groups drive the timeline for their deliverables. The roadmap tells you which problems we consider most important and points you to the groups working on them.
23+
24+
This approach also lets us be more honest about the uncertainty inherent in a fast-growing project like MCP. A release-oriented roadmap implies a level of predictability that open-standards work rarely has.
25+
26+
## The Priority Areas
27+
28+
Core maintainers ranked candidate areas, and the result was a clear top four. These are the areas where SEPs will receive expedited review and where most of our maintainer capacity is concentrated.
29+
30+
### Transport Evolution and Scalability
31+
32+
Streamable HTTP is the transport that lets MCP servers run as remote services rather than local processes. It unlocked a wave of production deployments. But running it at scale has surfaced a consistent set of gaps: stateful sessions fight with load balancers, horizontal scaling requires workarounds, and there's no standard way for a registry or crawler to learn what a server does without connecting to it.
33+
34+
The work here falls into two parts. First, evolving the transport and session model so that servers can scale horizontally without having to hold state, as well as clear, explicit mechanisms to handle sessions. Second, a standard metadata format, that can be served via `.well-known`, so that server capabilities are discoverable without a live connection.
35+
36+
One thing we want to be explicit about: we are **not** adding more official transports this cycle but evolve the existing transport. Keeping the set small is a deliberate decision grounded in the [MCP design principles](https://modelcontextprotocol.io/community/design-principles).
37+
38+
### Agent Communication
39+
40+
The Tasks primitive ([SEP-1686](https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1686)) shipped as an experimental feature and works well for what it was designed to do. Early production use has surfaced a concrete list of lifecycle gaps to close: retry semantics when a task fails transiently, and expiry policies for how long results are retained after completion.
41+
42+
This is the kind of iteration you can only do once something is deployed and tested in the real world. We plan to take the same approach with other parts of MCP: ship an experimental version, gather production feedback, and iterate.
43+
44+
### Governance Maturation
45+
46+
Right now, every SEP requires full [Core Maintainer](https://modelcontextprotocol.io/community/sep-guidelines) review, regardless of domain. That's a bottleneck. It slows down Working Groups that already have the expertise to evaluate proposals in their own area.
47+
48+
The goal is to remove that bottleneck without sacrificing quality. Concretely, that means a documented **contributor ladder** so there's a clear path from community participant to maintainer, and a delegation model that lets trusted Working Groups accept SEPs in their domain without waiting on a full core review. Core Maintainers keep strategic oversight. Working Groups get room to move.
49+
50+
### Enterprise Readiness
51+
52+
Enterprises are deploying MCP and running into a predictable set of problems: audit trails, SSO-integrated auth, gateway behavior, and configuration portability.
53+
54+
This is also the least defined of the four priorities, and that's intentional. We want the people experiencing these challenges to help us define the work.
55+
56+
A dedicated Enterprise WG does not yet exist. If you work in enterprise infrastructure and want to lead or join one, the [Working Groups page](https://modelcontextprotocol.io/community/working-interest-groups) explains how to get started. We also recommend joining the [contributor Discord](https://modelcontextprotocol.io/community/communication#discord) to make sure you're not duplicating work or going solo on new proposals.
57+
58+
We expect most of the enterprise readiness work to land as extensions rather than core spec changes. Enterprise needs are real, but they shouldn't make the base protocol heavier for everyone else.
59+
60+
## SEP Prioritization: What It Means for Contributors
61+
62+
One of the most practical additions to the roadmap is explicit guidance on how SEP review capacity gets allocated.
63+
64+
The short version: **SEPs aligned with the priority areas above will move the fastest.** SEPs outside those areas aren't automatically rejected, but they face longer review timelines and a higher bar for justification. Maintainer bandwidth is finite, and we'd rather be transparent about where it's going.
65+
66+
If you're considering writing a SEP, start with the [SEP Guidelines](https://modelcontextprotocol.io/community/sep-guidelines). Once you're familiar with those:
67+
68+
1. **Check whether your proposed change maps to one of the priority areas**. If it does not, be prepared for delays in reviews.
69+
2. **Bring it to the relevant Working Group**. SEPs that arrive with WG backing and a clear connection to the roadmap are the ones that move.
70+
71+
## On the Horizon
72+
73+
Not everything we care about made the top four, and we didn't want those areas to disappear from view. We're focused on a limited set of items, but we still want protocol exploration to continue at a good pace. The roadmap now includes an **On the Horizon** section for work with real community interest, such as triggers and event-driven updates, streamed and reference-based result types, deeper security and authorization work, and maturing the extensions ecosystem.
74+
75+
These aren't deprioritized in the sense of "We don't want them." They're areas where we'll happily support a community-formed WG and review SEPs as time permits, but where Core Maintainers aren't actively standing things up this cycle.
76+
77+
Some of these already have active proposals in review, such as [SEP-1932 (DPoP)](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/1932) and [SEP-1933 (Workload Identity Federation)](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/1933). Others, like triggers and event-driven updates, would benefit from a new Working Group.
78+
79+
## Get Involved
80+
81+
Every deliverable on the roadmap runs through a Working Group, and every Working Group is open to contributors. Here are a few ways to get involved:
82+
83+
- **Join a Working Group**: Working Groups are the small teams doing the actual protocol design. They meet regularly and welcome new participants. The [Working Groups & Interest Groups](https://modelcontextprotocol.io/community/working-interest-groups) page lists what's active and how to connect.
84+
- **Propose a SEP**: SEPs are how changes to the protocol get proposed and reviewed. The [SEP guidelines](https://modelcontextprotocol.io/community/sep-guidelines) walk through the process.
85+
- **Start an extension**: Extensions let us experiment with new capabilities outside the core spec. You can learn more in our [official Extensions documentation](https://modelcontextprotocol.io/extensions/overview).
86+
87+
If you're not sure where to start, the easiest first step is to join a Working Group meeting and introduce yourself.
88+
89+
We're excited to build the protocol together!

docs/clients.mdx

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -635,16 +635,17 @@ ChatFrame is a cross-platform desktop chatbot that unifies access to multiple AI
635635
<McpClient
636636
name="ChatGPT"
637637
homepage="https://chatgpt.com"
638-
supports="Tools, DCR"
638+
supports="Tools, Apps, DCR"
639639
instructions="https://platform.openai.com/docs/guides/developer-mode"
640640
>
641641

642-
ChatGPT is OpenAI's AI assistant that provides MCP support for remote servers to conduct deep research.
642+
ChatGPT is OpenAI's AI assistant that provides MCP support for remote servers to conduct deep research and to power MCP-based apps.
643643

644644
**Key features:**
645645

646646
- Support for MCP via connections UI in settings
647647
- Access to search tools from configured MCP servers for deep research
648+
- Support for MCP Apps, allowing ChatGPT to connect to MCP-based applications
648649
- Enterprise-grade security and compliance features
649650

650651
</McpClient>
@@ -1179,6 +1180,25 @@ Junie is JetBrains' AI coding agent for JetBrains IDEs and Android Studio.
11791180

11801181
</McpClient>
11811182

1183+
<McpClient
1184+
name="Joey"
1185+
homepage="https://benkaiser.github.io/joey-mcp-client/"
1186+
sourceCode="https://github.com/benkaiser/joey-mcp-client"
1187+
supports="Prompts, Tools, Sampling, Elicitation, Apps"
1188+
>
1189+
1190+
Joey is a mobile-first MCP client for **iOS and Android** (also available on macOS, Windows, and Linux) that connects to AI models via OpenRouter and remote MCP servers over Streamable HTTP.
1191+
1192+
**Key features:**
1193+
1194+
- **Mobile MCP support** — use MCP servers directly from your phone or tablet on iOS and Android.
1195+
- Connects to remote MCP servers over **Streamable HTTP** with OAuth support.
1196+
- Supports multiple MCP servers per conversation with tool calling.
1197+
- MCP sampling and elicitation support for interactive server-initiated workflows.
1198+
- Image and audio attachments with SSE streaming responses.
1199+
1200+
</McpClient>
1201+
11821202
<McpClient
11831203
name="Kilo Code"
11841204
homepage="https://github.com/Kilo-Org/kilocode"

0 commit comments

Comments
 (0)