Repository navigation
docs(community): restructure community docs (rebase of #3363) - #3441
sarahnovotny wants to merge 4 commits into
Conversation
Rewrite the community pages as prescriptive reference docs with less duplication between them. Merge the security page into a new Project Policies page, trim Contributing to an entry point, regroup the Community nav, and add the missing Apps WG charter to the nav.
Give the Code of Conduct reporting address, require group agendas to link Project Policies, drop the SEP dormancy automation claim, and remove a redirect for a URL that never existed.
Rebase of modelcontextprotocol#3363 onto main, restoring three rules the rewrite dropped. All three were merged after the branch point. - SEP guidelines: prior discussion is required and the pull request description must link to it, and the sponsor confirms that link before setting in-review (modelcontextprotocol#3336) - SEP guidelines: the repository accepts pull requests from collaborators only, which matches the repo's pull request creation policy - CONTRIBUTING.md: point the SEP guidelines link at #workflow; the Step-by-Step Process section it referenced was renamed by this restructure Both copies of the group lists are also brought up to date, in the docs.json nav and in the Current groups section: adding the Filesystems, Governance, Infrastructure and Progressive Disclosure working groups and the Scientific Computing interest group, and replacing the Primitive Grouping interest group, which upstream renamed to Progressive Disclosure. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The contributing page said that no role is needed to open a pull request and that group membership is not required to open one or submit a SEP. Pull request creation on the specification repository is limited to maintainers, as recorded in the Maintainer Day notes of 2026-09-16 and in the Governance Working Group charter. Replace the claim with the policy and the route the decision specified: draft from a fork or a working group repository and ask a maintainer to open the pull request and name the author. The contributor ladder listed pull requests in restricted repositories as a Member privilege, which the policy does not grant. It now points at the contributing page instead of restating a competing rule. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
localden
left a comment
There was a problem hiding this comment.
First review batch - thank you for looking through this! It's a bit hard to review this by hand because there are a lot of changes here, and for future changes would recommend splitting this into more scoped PRs.
|
|
||
| Sections marked **(WG only)** are required for Working Groups and optional for Interest Groups. | ||
| - The group must already be sponsored under [Forming a group](/community/working-interest-groups#forming-a-group). | ||
| - Copy the template below into the charter file and replace the placeholders. Delete the `{/* */}` guidance comments or leave them as written: HTML comments break the MDX build, and `npm run format` corrupts a `{/* */}` comment that spans lines. |
There was a problem hiding this comment.
Can we instead have a skill or a more agent-based suggestion here? I'd love to reduce the manual copy/paste efforts.
| --- | ||
|
|
||
| Every MCP Working Group and Interest Group must maintain a charter document following this structure. Charters are stored at `docs/community/working-groups/<group-name>.mdx` or `docs/community/interest-groups/<group-name>.mdx` in the [modelcontextprotocol repository](https://github.com/modelcontextprotocol/modelcontextprotocol) and added to `docs/docs.json`. | ||
| This page gives the charter template that every working group and interest group must follow and explains how to submit a charter. The template was adopted by [SEP-2149](/seps/2149-working-group-charter-template), a Specification Enhancement Proposal (SEP), and is changed, together with the rules in [Working Groups and Interest Groups](/community/working-interest-groups), by a Process SEP. Each charter lives at `docs/community/working-groups/<name>.mdx` or `docs/community/interest-groups/<name>.mdx` in the [modelcontextprotocol repository](https://github.com/modelcontextprotocol/modelcontextprotocol), records only the group's mission, scope, leadership, membership and operations, and does not restate those rules, which apply to every group. Sections marked **(WG only)** are required for working groups and optional for interest groups. To start a group, see [Forming a group](/community/working-interest-groups#forming-a-group). |
There was a problem hiding this comment.
The SEP URLs can also be simplified, and we can use /seps/2149
| - The group must already be sponsored under [Forming a group](/community/working-interest-groups#forming-a-group). | ||
| - Copy the template below into the charter file and replace the placeholders. Delete the `{/* */}` guidance comments or leave them as written: HTML comments break the MDX build, and `npm run format` corrupts a `{/* */}` comment that spans lines. | ||
| - Open a pull request that adds the charter file, a navigation entry under Working Groups or Interest Groups in `docs/docs.json`, and a line under [Current groups](/community/working-interest-groups#current-groups). | ||
| - Run `npm run prep` before pushing. |
There was a problem hiding this comment.
Can we reorder this if this is something that we need to do before pushing?
| - Copy the template below into the charter file and replace the placeholders. Delete the `{/* */}` guidance comments or leave them as written: HTML comments break the MDX build, and `npm run format` corrupts a `{/* */}` comment that spans lines. | ||
| - Open a pull request that adds the charter file, a navigation entry under Working Groups or Interest Groups in `docs/docs.json`, and a line under [Current groups](/community/working-interest-groups#current-groups). | ||
| - Run `npm run prep` before pushing. | ||
| - Both charter directories are CODEOWNERS-gated to Core Maintainers. A Core Maintainer's approving review on the pull request is the Core Maintainer approval that [Amending or retiring a group](/community/working-interest-groups#amending-or-retiring-a-group) requires. |
There was a problem hiding this comment.
| - Both charter directories are CODEOWNERS-gated to Core Maintainers. A Core Maintainer's approving review on the pull request is the Core Maintainer approval that [Amending or retiring a group](/community/working-interest-groups#amending-or-retiring-a-group) requires. | |
| - A Core Maintainer will review the pull request, as outlined in the [Amending or retiring a group](/community/working-interest-groups#amending-or-retiring-a-group) requirements. |
| - Open a pull request that adds the charter file, a navigation entry under Working Groups or Interest Groups in `docs/docs.json`, and a line under [Current groups](/community/working-interest-groups#current-groups). | ||
| - Run `npm run prep` before pushing. | ||
| - Both charter directories are CODEOWNERS-gated to Core Maintainers. A Core Maintainer's approving review on the pull request is the Core Maintainer approval that [Amending or retiring a group](/community/working-interest-groups#amending-or-retiring-a-group) requires. | ||
| - Use [Transports](/community/working-groups/transports) (working group) or [Security](/community/interest-groups/security) (interest group) as a filled-in example. |
There was a problem hiding this comment.
This probably can be rendered as a note rather than a bulletpoint item, otherwise it reads like a step/requirement.
| The [MCP Contributor Discord](https://discord.gg/6CSzBmMkjX) is for people working on the protocol and its projects. It is not a support channel: MCP users should read the documentation and ask in GitHub Discussions. Do not market products or services on the server, and mention vendors only as examples relevant to the specification. | ||
|
|
||
| ### Public Channels (Default) | ||
| Channels are named `#general` for project-wide discussion, `#<name>-wg` and `#<name>-ig` for each working group and interest group, and `#<lang>-sdk-dev` for each SDK. Other projects have a channel such as `#inspector-dev`. Propose a new group in `#wg-ig-group-creation`. Responses are best-effort. |
There was a problem hiding this comment.
We should move away from ig - I will put a new SEP for transitioning IGs into more regular forums, so we might remove that here.
| - Community onboarding and contribution guidance | ||
| - Community feedback and collaborative brainstorming | ||
| - Public office hours and maintainer availability | ||
| Discord is not the record. A Discord discussion heading toward a technical or governance decision must move to a GitHub Discussion or Issue. Every technical or governance decision, including a Core Maintainer outcome on a SEP, is written up in a Discussion or Issue with the `notes` label, or on the SEP's pull request. Specification changes are also recorded in the [changelog](/specification/draft/changelog), and process changes in these community pages. |
There was a problem hiding this comment.
up in a Discussion or Issue with the
noteslabel
Just a discussion. We're no longer using issues for this.
| ## Join the work in progress | ||
|
|
||
| ### Join the Community | ||
| Protocol work is organized in [working groups and interest groups](/community/working-interest-groups). Their meetings are open to anyone and are listed on [meet.modelcontextprotocol.io](https://meet.modelcontextprotocol.io/). [Meetings and channels](/community/working-interest-groups#meetings-and-channels) sets out how a meeting is announced and minuted. No invitation or role is needed to attend or speak at a meeting, to comment on a pull request, or to open an issue or a discussion. Pull request creation on the specification repository is limited to maintainers: share your change as a branch on a fork or in a working group repository and ask in the group's Discord channel for a maintainer to open the pull request and name you as the author. Belonging to a group is not required, though a SEP needs [prior discussion](/community/sep-guidelines#before-you-write) with the relevant group. Every meeting runs under the [Antitrust Policy](/community/antitrust). Read it before attending, especially if you participate on behalf of an employer. |
There was a problem hiding this comment.
Let's also not really allude to interest groups - they would be discussion forums. Or we can frame it that way, but the focus is on working groups.
There was a problem hiding this comment.
Also we should scan this - let's not direct people to discussions but rather Discord for contribution/architectural discussions around the protocol, issues for reporting bugs or problems with the protocol or SDK.
| ## Fix docs or spec text | ||
|
|
||
| Verify your setup: | ||
| Open a pull request against the specification repository. For a typo or a single paragraph the GitHub web editor is enough, and CI runs the checks. Clone the repository for larger edits and run `npm run prep` before pushing. Setup and troubleshooting are in [CONTRIBUTING.md](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/CONTRIBUTING.md). |
There was a problem hiding this comment.
We have restricted who can contribute to the spec/open PRs because of AI spam, so this would no longer work. We should suggest opening an issue first to report it.
| @@ -1,67 +0,0 @@ | |||
| --- | |||
There was a problem hiding this comment.
Is there a reason we're removing this document?
|
Stacking a little contribution doc PR: sarahnovotny#2 |
Supersedes #3363. That PR should be closed once this one is open.
This is @dsp-ant's #3363 rebased onto current
main, with the merge conflicts resolved and the drift since 2026-09-15 repaired. His two commits keep his authorship; the two on top are mine.Why a new pull request instead of a rebase in place
#3363 has been a draft since 2026-09-15 and is 196 commits behind
main. Four files conflict on rebase (contributing.mdx,sep-guidelines.mdx,working-interest-groups.mdx,docs.json), and three rules that #3336 added after that branch was cut are silently removed by the restructure. Repairing that takes commits on top rather than a force-push to someone else's branch, so the work lives here and #3363 closes as superseded.Commits
da1f3cb58b39c0f14dfafae43efdf14dfaf— reconcile with upstreamRe-lands the three rules from #3336 that the restructure dropped:
in-reviewIt also repoints
CONTRIBUTING.mdat#workflow, since the restructure deletes the#step-by-step-processanchor it linked to, and brings both hand-maintained group lists back in sync — thedocs.jsonnav and the "Current groups" table inworking-interest-groups.mdx. That adds filesystems, governance, infrastructure, progressive-disclosure and scientific-computing, replaces the deletedprimitive-grouping, and keeps theappsentry @dsp-ant added, which is still missing from the nav onmain.ae43efd— pull request creation policycontributing.mdxclaimed "No invitation or role is needed to attend or speak at a meeting, to comment on a pull request, or to open one." The repository'spull_request_creation_policyiscollaborators_only, so that sentence is false as written. It now uses the wording adopted in the Governance Working Group charter (#3423): creation is limited to maintainers, with the fork / working-group-repository drafting route spelled out so an outside contributor knows what to do instead.contributor-ladder.mdxsaid Contributors "may open pull requests in restricted repositories"; it now points at Contributing rather than restating the same rule in two places.Open questions for reviewers
docs/community/contributing.mdx(−628 lines) may belong in a separate pull request. Discussion MCP Maintainer Day - September 16, 2026 (Amsterdam) #3403 assigns a contributing rewrite to another maintainer with a specific brief. The other 13 files here stand on their own, so this file can be dropped from this pull request if that work is in flight.mainas a<Note>. Q2 and Q4 need a Core Maintainer decision.Verification
prettier --checkclean on every touchedmd/mdxcheck:docs:js-commentsOK across 359 MDX filesdocs.jsonparses; 119 redirects, 85 of them under/seps/docs/community/: 0 broken links or anchors, 0 orphaned pagescheck:sepsfails, but it fails onmaintoo — 43 SEPs against**Final**: 42indocs/seps/index.mdx. This pull request touches neither file.npx mint broken-linkswas not run;mintis not installed locally🤖 Generated with Claude Code