Skip to content

Commit 02a78ab

Browse files
committed
Reconcile community docs with contributor ladder
governance.mdx still carried pre-SEP-2148 content: a 7-step Discord-poll nomination process, full role descriptions, and a 4-tier model that the ladder supersedes. A newcomer reading both would learn two different nomination processes. - governance.mdx: collapse role sections into an overview that defers detail to the ladder; drop the old nomination process; keep named Lead/Core Maintainer rosters - contributor-ladder.mdx: drop named Lead Maintainer (roster lives in governance.mdx only) - working-interest-groups.mdx: align creation sponsorship with ladder (2 Core or 1 Lead, was 72h moderator vote); distinguish WG Lead vs IG Facilitator; require Member status for leadership - CONTRIBUTING.md: Node 20 -> 24; point to design-principles instead of restating them - docs.json: regroup Community tab by reader journey (Get Involved / Propose Changes / Governance / Roadmap); move Examples to Docs tab - extensions/overview.mdx: fix links to removed governance anchors
1 parent 39acde6 commit 02a78ab

6 files changed

Lines changed: 53 additions & 112 deletions

File tree

CONTRIBUTING.md

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Also see the [overall MCP communication guidelines in our docs](https://modelcon
99

1010
The following software is required to work on the spec:
1111

12-
- Node.js 20 or above
12+
- Node.js 24 or above
1313
- TypeScript
1414
- TypeScript JSON Schema (for generating JSON schema)
1515
- [Mintlify](https://mintlify.com/) (optional, for docs)
@@ -102,21 +102,13 @@ When contributing to the documentation:
102102

103103
## Specification Proposal Guidelines
104104

105-
### Principles of MCP
105+
Specification changes follow the [SEP process](https://modelcontextprotocol.io/community/sep-guidelines).
106+
Before drafting a proposal, review the [MCP design principles](https://modelcontextprotocol.io/community/design-principles)
107+
— proposals that align with these principles move faster through review.
106108

107-
1. **Simple + Minimal**: It is much easier to add things to a specification than it is to
108-
remove them. To maintain simplicity, we keep a high bar for adding new concepts and
109-
primitives as each addition requires maintenance and compatibility consideration.
110-
2. **Concrete**: Specification changes need to be based on specific implementation
111-
challenges and not on speculative ideas.
112-
113-
### Stages of a specification proposal
114-
115-
1. **Define**: Explore the problem space, validate that other MCP users face a similar
116-
issue, and then clearly define the problem.
117-
2. **Prototype**: Build an example solution to the problem and demonstrate its practical
118-
application.
119-
3. **Write**: Based on the prototype, write a specification proposal.
109+
The shortest summary: explore the problem space and validate that others share the problem,
110+
build a prototype that demonstrates a solution, then write the SEP based on what the
111+
prototype taught you.
120112

121113
## Submitting Changes
122114

docs/community/contributor-ladder.mdx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,6 @@ When evaluating candidates, Core Maintainers should consider whether the current
183183

184184
Lead Maintainers hold ultimate authority over MCP's direction and governance. This is a lifetime appointment reserved for project founders. There is no advancement path to this role. It is only assumed through succession (see [Succession](#succession)).
185185

186-
**Current Lead Maintainer:** David Soria Parra
187-
188186
**Responsibilities:**
189187

190188
- All Core Maintainer responsibilities

docs/community/governance.mdx

Lines changed: 11 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -41,46 +41,17 @@ All maintainers are expected to have a strong bias towards MCP's design philosop
4141

4242
Technical governance is facilitated through a shared [Discord server](https://discord.gg/6CSzBmMkjX) for all maintainers. Each maintainer group can choose additional communication channels, but all decisions and their supporting discussions must be recorded and made transparently available on the Discord server.
4343

44-
### Maintainers
44+
### Roles
4545

46-
Maintainers are responsible for [Working Groups or Interest Groups](/community/working-interest-groups) within the MCP project. These generally are independent repositories such as language-specific SDKs, but can also extend to subdirectories of a repository, such as the MCP documentation.
46+
The [Contributor Ladder](/community/contributor-ladder) is the canonical definition of each role — its requirements, responsibilities, privileges, advancement process, and inactivity policy. This section gives a conceptual overview of how the roles relate to governance.
4747

48-
Maintainers may adopt their own rules and procedures for making decisions. They are expected to make decisions for their respective projects independently, but can defer or escalate to the Core Maintainers when needed.
48+
**Maintainers** steward specific areas such as SDKs, documentation, or [Working Groups](/community/working-interest-groups). They make decisions for their area independently and escalate to Core Maintainers when needed. Maintainers have write access to their respective repositories.
4949

50-
**Maintainer responsibilities:**
50+
**Core Maintainers** steer the MCP specification and overall project direction. They can veto Maintainer decisions by majority vote, resolve disputes, and appoint or remove Maintainers. Core Maintainers have admin access to all MCP repositories but use the same pull-request workflow as outside contributors.
5151

52-
- Thoughtful and productive engagement with community contributors
53-
- Maintaining and improving their respective area of the MCP project
54-
- Supporting documentation, roadmaps, and other adjacent parts of the MCP project
55-
- Presenting ideas from the community to Core Maintainers
52+
**Lead Maintainers** hold final authority and can veto any decision by Core Maintainers or Maintainers — the role commonly known as Benevolent Dictator for Life (BDFL). Lead Maintainers appoint and remove Core Maintainers, and are administrators on all project infrastructure. They are part of the Core Maintainer group and are expected to publicly articulate their reasoning.
5653

57-
Maintainers are encouraged to propose additional maintainers when needed. Maintainers can only be appointed and removed by Core Maintainers or Lead Maintainers at any time and without reason.
58-
59-
Maintainers have write and/or admin access to their respective repositories.
60-
61-
### Core Maintainers
62-
63-
The Core Maintainers are expected to have a deep understanding of the Model Context Protocol and its specification. Their responsibilities include:
64-
65-
- Designing, reviewing, and steering the evolution of the MCP specification, as well as all other parts of the MCP project
66-
- Articulating a cohesive long-term vision for the project
67-
- Mediating and resolving contentious issues with fairness and transparency, seeking consensus where possible while making decisive choices when necessary
68-
- Appointing or removing Maintainers
69-
- Stewardship of the MCP project in the best interest of MCP
70-
71-
The Core Maintainers as a group have the power to veto any decisions made by Maintainers by majority vote. The Core Maintainers have power to resolve disputes as they see fit. The Core Maintainers should publicly articulate their decision-making. The core group is responsible for adopting their own procedures for making decisions.
72-
73-
Core Maintainers generally have write and admin access to all MCP repositories, but should use the same contribution (usually pull-request) mechanism as outside contributors. Exceptions can be made based on security considerations.
74-
75-
### Lead Maintainers (BDFL)
76-
77-
MCP has two Lead Maintainers: Justin Spahr-Summers and David Soria Parra. Lead Maintainers can veto any decision by Core Maintainers or Maintainers. This model is also commonly known as Benevolent Dictator for Life (BDFL) in the open source community.
78-
79-
The Lead Maintainers should publicly articulate their decision-making and give clear reasoning for their decisions. Lead Maintainers are part of the Core Maintainer group.
80-
81-
The Lead Maintainers are responsible for confirming or removing Core Maintainers.
82-
83-
Lead Maintainers are administrators on all infrastructure for the MCP project where possible. This includes but is not restricted to all communication channels, GitHub organizations, and repositories.
54+
The [Contributor Ladder](/community/contributor-ladder) also defines the **Member** and **Community Moderator** roles, which sit outside the Steering Group.
8455

8556
### Decision Process
8657

@@ -127,41 +98,14 @@ The MCP project maintains a [public Discord server](https://discord.gg/6CSzBmMkj
12798

12899
## Nominating, Confirming, and Removing Maintainers
129100

130-
### Principles
131-
132-
- Membership in maintainer groups is given to **individuals** on merit basis after they demonstrated strong expertise of their area of work through contributions, reviews, and discussions and are aligned with the overall MCP direction.
133-
- For membership in the **Maintainer** group, the individual has to demonstrate strong and continued alignment with the overall MCP principles.
134-
- No term limits for Maintainers or Core Maintainers.
135-
- Light criteria of moving Working Group or sub-project maintenance to 'emeritus' status if they don't actively participate over long periods of time. Each maintainer group may define the inactive period that's appropriate for their area.
136-
- The membership is for an individual, not a company.
137-
138-
### Nomination and Removal
139-
140-
- The Lead Maintainers are responsible for adding and removing Core Maintainers.
141-
- Core Maintainers are responsible for adding and removing Maintainers. They will take the consideration of existing Maintainers into account.
142-
- If a Working Group or Interest Group with 2+ existing Maintainers unanimously agrees to add additional Maintainers (up to a maximum of 5), they may do so without Core Maintainer review.
143-
144-
### Nomination Process
145-
146-
If a Maintainer (or Core/Lead Maintainer) wishes to propose a nomination for the Core/Lead Maintainers' consideration, they should follow this process:
101+
Membership in maintainer groups is given to **individuals** on a merit basis after demonstrated expertise and alignment with MCP's direction. Membership is associated with the person, not their employer, and has no term limit.
147102

148-
1. Collect evidence for the nomination. This will generally come in the form of a history of merged PRs on the repositories for which maintainership is being considered.
149-
2. Discuss among Maintainers of the relevant group(s) as to whether they would be supportive of approving the nomination.
150-
3. DM a Community Moderator or Core Maintainer to create a private channel in Discord, in the format `nomination-{name}-{group}`. Add all Core Maintainers, Lead Maintainers, and co-Maintainers on the relevant group.
151-
4. Provide context for the individual under nomination. See below for suggestions on what to include.
152-
5. Create a Discord Poll and ask Core/Lead Maintainers to vote Yes/No on the nomination. Reaching consensus is encouraged though not required.
153-
6. After Core/Lead Maintainers discuss and/or vote, if the nomination is favorable, relevant members with permissions to update GitHub and Discord roles will add the nominee to the appropriate groups. The nominator should announce the new maintainership in the relevant Discord channel.
154-
7. The temporary Discord channel will be deleted a week later.
103+
The nomination process, sponsorship requirements, review timeline, and inactivity criteria for each role are defined in the [Contributor Ladder's Advancement Process](/community/contributor-ladder#advancement-process).
155104

156-
**Suggestions for nomination context:**
105+
## Current Lead Maintainers
157106

158-
- GitHub profile link, LinkedIn profile link, Discord username
159-
- For what group(s) are you nominating the individual for maintainership
160-
- Whether the group(s) agree that this person should be elevated to maintainership
161-
- Description of their contributions to date (including links to most substantial contributions)
162-
- Description of expected contributions moving forward (e.g., Are they eager to be a Maintainer? Will they have capacity to do so?)
163-
- Other context about the individual (e.g., current employer, motivations behind MCP involvement)
164-
- Anything else you think may be relevant to consider for the nomination
107+
- Justin Spahr-Summers
108+
- David Soria Parra
165109

166110
## Current Core Maintainers
167111

docs/community/working-interest-groups.mdx

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,13 @@ Within the MCP contributor community we maintain two types of collaboration form
6363
### Creating an Interest Group
6464

6565
1. Fill out the creation template in the `#wg-ig-group-creation` channel on [Discord](https://discord.gg/6CSzBmMkjX)
66-
2. A community moderator will review and call for a vote in `#community-moderators` (72h period, majority approval)
67-
3. Once approved, the Facilitator(s) organize the IG per the expectations above
66+
2. Secure sponsorship from at least two Core Maintainers or one Lead Maintainer
67+
3. Once sponsored, the Facilitator(s) organize the IG per the expectations above
6868

6969
**Creation Template:**
7070

71-
- Facilitator(s)
72-
- Maintainer(s) (optional - an official MCP Steering Group representative)
71+
- Facilitator(s) — must hold [Member](/community/contributor-ladder#member) status or above
72+
- Sponsoring Core/Lead Maintainer(s)
7373
- Related IGs with potentially similar goals
7474
- How this IG differentiates itself from related IGs
7575
- First topic to discuss within the IG
@@ -93,7 +93,7 @@ Within the MCP contributor community we maintain two types of collaboration form
9393
### Expectations
9494

9595
- Meaningful progress towards at least one SEP or implementation **OR** maintenance responsibilities for a project
96-
- Facilitators keep track of progress and communicate status
96+
- Leads keep track of progress and communicate status
9797
- Meeting dates published on the [MCP community calendar](https://meet.modelcontextprotocol.io/) with the WG channel name (e.g., `agents-wg`)
9898
- Notes publicly shared after meetings
9999

@@ -107,13 +107,13 @@ Within the MCP contributor community we maintain two types of collaboration form
107107
### Creating a Working Group
108108

109109
1. Fill out the creation template in `#wg-ig-group-creation` on [Discord](https://discord.gg/6CSzBmMkjX)
110-
2. Community moderator reviews and calls for vote (72h period, majority approval)
111-
3. Facilitator(s) organize the WG per expectations
110+
2. Secure sponsorship from at least two Core Maintainers or one Lead Maintainer
111+
3. Lead(s) organize the WG per expectations
112112

113113
**Creation Template:**
114114

115-
- Facilitator(s)
116-
- Maintainer(s) (optional)
115+
- Lead(s) — must hold [Member](/community/contributor-ladder#member) status or above
116+
- Sponsoring Core/Lead Maintainer(s)
117117
- Explanation of interest/use cases (IG discussion helps but isn't required)
118118
- First Issue/PR/SEP the WG will work on
119119

@@ -124,22 +124,24 @@ Within the MCP contributor community we maintain two types of collaboration form
124124
- Community moderators or Core/Lead Maintainers determine it's no longer active
125125
- The WG has no active Issue/PR for a month or has completed all planned work
126126

127-
## Facilitators
127+
## Group Leadership
128128

129-
A **Facilitator** is an informal role anyone can self-nominate for. Facilitators:
129+
Working Groups are led by **WG Leads**; Interest Groups are led by **IG Facilitators**. Both roles:
130130

131131
- Shepherd discussions and collaboration
132132
- Schedule and run meetings
133133
- Ensure notes are published
134134
- Keep the group on track
135135

136-
Being a Facilitator does **not** grant [maintainership](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/MAINTAINERS.md) in the MCP organization. Lead and Core Maintainers may modify the list of Facilitators for any WG/IG at any time.
136+
Group leadership requires [Member](/community/contributor-ladder#member) status at minimum. It does **not** grant [maintainership](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/MAINTAINERS.md) — Leads and Facilitators work with Maintainers for merge decisions. WG Leads may sponsor and triage SEPs within their scope.
137+
138+
See the [Contributor Ladder](/community/contributor-ladder#working-group-and-interest-group-leadership) for full requirements and how this role relates to advancement.
137139

138140
## Meeting Calendar
139141

140142
All IG and WG meetings are published on the public MCP community calendar at [meet.modelcontextprotocol.io](https://meet.modelcontextprotocol.io/).
141143

142-
Facilitators are responsible for posting meeting schedules in advance to enable broader participation.
144+
WG Leads and IG Facilitators are responsible for posting meeting schedules in advance to enable broader participation.
143145

144146
## FAQ
145147

docs/docs.json

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,13 @@
6262
"pages": [
6363
"docs/tools/inspector"
6464
]
65+
},
66+
{
67+
"group": "Examples",
68+
"pages": [
69+
"clients",
70+
"examples"
71+
]
6572
}
6673
]
6774
},
@@ -416,22 +423,27 @@
416423
{
417424
"tab": "Community",
418425
"pages": [
419-
"community/contributing",
420-
"community/communication",
421426
{
422-
"group": "Principles & Direction",
427+
"group": "Get Involved",
428+
"pages": [
429+
"community/contributing",
430+
"community/communication",
431+
"community/working-interest-groups"
432+
]
433+
},
434+
{
435+
"group": "Propose Changes",
423436
"pages": [
424-
"community/design-principles"
437+
"community/design-principles",
438+
"community/sep-guidelines"
425439
]
426440
},
427441
{
428442
"group": "Governance",
429443
"pages": [
430444
"community/governance",
431445
"community/contributor-ladder",
432-
"community/sep-guidelines",
433446
"community/sdk-tiers",
434-
"community/working-interest-groups",
435447
"community/antitrust"
436448
]
437449
},
@@ -440,13 +452,6 @@
440452
"pages": [
441453
"development/roadmap"
442454
]
443-
},
444-
{
445-
"group": "Examples",
446-
"pages": [
447-
"clients",
448-
"examples"
449-
]
450455
}
451456
]
452457
}

docs/extensions/overview.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ Experimental extension repositories live within the MCP GitHub organization with
6161

6262
- Every experimental extension needs to be associated with a Working Group or Interest Group
6363
- Repositories and published packages need to clearly indicate their experimental status (e.g., in the README and package name)
64-
- [Core Maintainers](/community/governance#core-maintainers) retain oversight of experimental extension repositories, including the ability to archive or remove them
64+
- [Core Maintainers](/community/contributor-ladder#core-maintainer) retain oversight of experimental extension repositories, including the ability to archive or remove them
6565

6666
### Graduation to Official Status
6767

@@ -73,7 +73,7 @@ The lifecycle for official extensions follows a SEP-based process. For full deta
7373

7474
1. **Propose**: Create a SEP in the main MCP repository using the [standard SEP guidelines](/community/sep-guidelines) with type **Extensions Track**.
7575
2. **Implement**: Build at least one reference implementation in an official SDK — this is required before the SEP can be reviewed.
76-
3. **Review**: [Core Maintainers](/community/governance#core-maintainers) review the SEP and have final authority over inclusion.
76+
3. **Review**: [Core Maintainers](/community/contributor-ladder#core-maintainer) review the SEP and have final authority over inclusion.
7777
4. **Publish**: Once approved, open a PR to add the extension to the extension repository.
7878
5. **Adopt**: After that, other clients, servers, and SDKs can implement the extension too.
7979

0 commit comments

Comments
 (0)