Skip to content

Commit f729829

Browse files
authored
Merge branch 'main' into fix-issue-933
2 parents 517997e + 3837479 commit f729829

File tree

164 files changed

+17847
-14900
lines changed

Some content is hidden

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

164 files changed

+17847
-14900
lines changed

.github/CODEOWNERS

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# CODEOWNERS file for MCP Specification repository
2+
3+
# General documentation ownership - @modelcontextprotocol/docs-maintaners and core-maintainers own all of /docs
4+
/docs/ @modelcontextprotocol/docs-maintaners @modelcontextprotocol/core-maintainers
5+
6+
# Specific ownership - @core-maintainer team owns docs/specification and schema/ directories
7+
/docs/specification/ @modelcontextprotocol/core-maintainers
8+
/schema/ @modelcontextprotocol/core-maintainers
9+
10+
# Authorization-related files - @auth team should be notified
11+
/docs/specification/**/authorization.mdx @modelcontextprotocol/core-maintainers @modelcontextprotocol/auth-wg
12+
/docs/specification/**/security_best_practices.mdx @modelcontextprotocol/core-maintainers @modelcontextprotocol/auth-wg

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1+
.claude/
12
node_modules/
23
.DS_Store
4+
.idea/

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v20.16.0
1+
v20.17.0

.prettierrc.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"printWidth": 140,
3+
"tabWidth": 4,
4+
"useTabs": false,
5+
"semi": true,
6+
"singleQuote": true,
7+
"trailingComma": "none",
8+
"bracketSpacing": true,
9+
"bracketSameLine": false,
10+
"proseWrap": "always",
11+
"arrowParens": "avoid",
12+
"overrides": [
13+
{
14+
"files": "**/*.md",
15+
"options": {
16+
"printWidth": 280
17+
}
18+
}
19+
]
20+
}

ANTITRUST.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
**MCP Project Antitrust Policy**
2+
3+
**Antitrust Policy**
4+
5+
Effective: September 29, 2025
6+
7+
**Introduction**
8+
9+
The goal of the Model Context Protocol open source project (the “Project”) is to develop a universal standard for model-to-world interactions, including enabling LLMs and agents to seamlessly connect with and utilize external data sources and tools. The purpose of this Antitrust Policy (the “Policy”) is to avoid antitrust risks in carrying out this pro-competitive mission.
10+
11+
Participants in and contributors to the Project (collectively, “participants”) will use their best reasonable efforts to comply in all respects with all applicable state and federal antitrust and trade regulation laws, and applicable antitrust/competition laws of other countries (collectively, the “Antitrust Laws”).
12+
13+
The goal of Antitrust Laws is to encourage vigorous competition. Nothing in this Policy prohibits or limits the ability of participants to make, sell or use any product, or otherwise to compete in the marketplace. This Policy provides general guidance on compliance with Antitrust Law. Participants should contact their respective legal counsel to address specific questions.
14+
15+
This Policy is conservative and is intended to promote compliance with the Antitrust Laws, not to create duties or obligations beyond what the Antitrust Laws actually require. In the event of any inconsistency between this Policy and the Antitrust Laws, the Antitrust Laws preempt and control.
16+
17+
**Participation**
18+
19+
Technical participation in the Project shall be open to all, subject only to compliance with the provisions of the Project’s charter and other governance documents.
20+
21+
**Conduct of Meetings**
22+
23+
At meetings among actual or potential competitors, there is a risk that participants in those meetings may improperly disclose or discuss information in violation of the Antitrust Laws or otherwise act in an anti-competitive manner. To avoid this risk, participants must adhere to the following policies when participating in Project-related or sponsored meetings, conference calls, or other forums (collectively, “Project Meetings”).
24+
25+
Participants must not, in fact or appearance, discuss or exchange information regarding:
26+
27+
- An individual company’s current or projected prices, price changes, price differentials, markups, discounts, allowances, terms and conditions of sale, including credit terms, etc., or data that bear on prices, including profits, margins or cost.
28+
- Industry-wide pricing policies, price levels, price changes, differentials, or the like.
29+
- Actual or projected changes in industry production, capacity or inventories.
30+
- Matters relating to bids or intentions to bid for particular products, procedures for responding to bid invitations or specific contractual arrangements.
31+
- Plans of individual companies concerning the design, characteristics, production, distribution, marketing or introduction dates of particular products, including proposed territories or customers.
32+
- Matters relating to actual or potential individual suppliers that might have the effect of excluding them from any market or of influencing the business conduct of firms toward such suppliers.
33+
- Matters relating to actual or potential customers that might have the effect of influencing the business conduct of firms toward such customers.
34+
- Individual company current or projected cost of procurement, development or manufacture of any product.
35+
- Individual company market shares for any product or for all products.
36+
- Confidential or otherwise sensitive business plans or strategy.
37+
38+
In connection with all Project Meetings, participants must do the following:
39+
40+
- Adhere to prepared agendas.
41+
- Insist that meeting minutes be prepared and distributed to all participants, and that meeting minutes accurately reflect the matters that transpired.
42+
- Consult with their respective counsel on all antitrust questions related to Project Meetings.
43+
- Protest against any discussions that appear to violate these policies or the Antitrust Laws, leave any meeting in which such discussions continue, and either insist that such protest be noted in the minutes.
44+
45+
**Requirements/Standard Setting**
46+
47+
The Project may establish standards, technical requirements and/or specifications for use (collectively, “requirements”). Participants shall not enter into agreements that prohibit or restrict any participant from establishing or adopting any other requirements. Participants shall not undertake any efforts, directly or indirectly, to prevent any firm from manufacturing, selling, or supplying any product not conforming to a requirement.
48+
49+
The Project shall not promote standardization of commercial terms, such as terms for license and sale.
50+
51+
**Contact Information**
52+
53+
To contact the Project regarding matters addressed by this Antitrust Policy, please send an email to antitrust@modelcontextprotocol.io, and reference “Antitrust Policy” in the subject line.

CONTRIBUTING.md

Lines changed: 89 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
# Contributing to Model Context Protocol
22

3-
Thank you for your interest in contributing to the Model Context Protocol specification!
3+
Thank you for your interest in contributing to the Model Context Protocol specification, schemas, or docs!
44
This document outlines how to contribute to this project.
55

6-
## Prerequisites
6+
Also see the [overall MCP communication guidelines in our docs](https://modelcontextprotocol.io/community/communication), which explains how and where discussions about changes happen.
7+
8+
## General prerequisites
79

810
The following software is required to work on the spec:
911

@@ -13,57 +15,72 @@ The following software is required to work on the spec:
1315
- [Mintlify](https://mintlify.com/) (optional, for docs)
1416
- nvm (optional, for managing Node versions)
1517

16-
## Getting Started
18+
### Getting Started
19+
20+
1. [Fork the repository](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo)
1721

18-
1. Fork the repository
1922
2. Clone your fork:
2023

21-
```bash
22-
git clone https://github.com/YOUR-USERNAME/modelcontextprotocol.git
23-
cd modelcontextprotocol
24-
```
24+
```bash
25+
git clone https://github.com/YOUR-USERNAME/modelcontextprotocol.git
26+
cd modelcontextprotocol
27+
```
2528

2629
3. Install dependencies:
2730

28-
```bash
29-
nvm install # install correct Node version
30-
npm install # install dependencies
31-
```
31+
```bash
32+
nvm install # install correct Node version
33+
npm install # install dependencies
34+
```
35+
36+
4. Create a new branch:
3237

33-
## Making Changes
38+
```bash
39+
git checkout -b feature/your-feature-name
40+
```
3441

35-
Note that schema changes are made to `schema.ts`, and `schema.json` is generated from
36-
`schema.ts`.
42+
## Schema changes
3743

38-
1. Create a new branch:
44+
Schema changes go in `schema/draft/schema.ts`. To validate your changes, run:
3945

4046
```bash
41-
git checkout -b feature/your-feature-name
47+
npm run check:schema:ts
4248
```
4349

44-
2. Make your changes.
45-
46-
3. Validate schema changes and generate `schema.json`:
50+
`schema/draft/schema.json` and `docs/specification/draft/schema.mdx` are generated from `schema/draft/schema.ts`; do not edit them directly. To generate them, run:
4751

4852
```bash
49-
npm run check:schema:ts
5053
npm run generate:schema
5154
```
5255

53-
4. Validate documentation changes and apply formatting:
56+
## Documentation changes
57+
58+
Documentation is written in MDX format and in the [`docs`](./docs) directory.
59+
60+
You can preview documentation changes locally by running:
61+
62+
```bash
63+
npm run serve:docs
64+
```
65+
66+
And lint them with:
5467

5568
```bash
5669
npm run check:docs
5770
npm run format
5871
```
5972

60-
5. Preview documentation locally (optional):
73+
## Blog changes
74+
75+
The blog is built using [Hugo](https://gohugo.io/installation/) and located in the [`blog`](./blog) directory.
76+
77+
To preview blog changes locally:
6178

6279
```bash
63-
npm run serve:docs
80+
npm run serve:blog
6481
```
6582

66-
### Documentation Guidelines
83+
## Documentation Guidelines
6784

6885
When contributing to the documentation:
6986

@@ -79,9 +96,9 @@ When contributing to the documentation:
7996
- Follow existing file naming conventions (`kebab-case.mdx`)
8097
- Include proper frontmatter in MDX files
8198

82-
### Specification Proposal Guidelines
99+
## Specification Proposal Guidelines
83100

84-
#### Principles of MCP
101+
### Principles of MCP
85102

86103
1. **Simple + Minimal**: It is much easier to add things to a specification than it is to
87104
remove them. To maintain simplicity, we keep a high bar for adding new concepts and
@@ -104,14 +121,54 @@ When contributing to the documentation:
104121
3. Follow the pull request template
105122
4. Wait for review
106123

107-
## Code of Conduct
124+
## AI Contributions
125+
126+
> [!IMPORTANT]
127+
>
128+
> If you are using **any kind of AI assistance** to contribute to Model Context Protocol,
129+
> it must be disclosed in the pull request or issue.
130+
131+
We welcome and encourage the use of AI tools to help improve Model Context Protocol. Many valuable contributions
132+
have been enhanced with AI assistance for code generation, issue detection, and feature definition.
133+
134+
That being said, if you are using any kind of AI assistance (e.g., agents such as Claude Code, ChatGPT)
135+
while contributing to Model Context Protocol, **this must be disclosed in the pull request or issue**,
136+
along with the extent to which AI assistance was used (e.g., documentation comments vs. code generation).
137+
138+
If your PR responses or comments are being generated by an AI, disclose that as well.
139+
140+
As an exception, trivial spacing or typo fixes don't need to be disclosed, so long as the changes are
141+
limited to small parts of the code or short phrases.
142+
143+
An example disclosure:
144+
145+
> This PR was written primarily by Claude Code.
146+
147+
Or a more detailed disclosure:
148+
149+
> I consulted ChatGPT to understand the codebase but the solution
150+
> was fully authored manually by myself.
151+
152+
Failure to disclose this is first and foremost rude to the human operators on the other end of the pull request,
153+
but it also makes it difficult to determine how much scrutiny to apply to the contribution.
154+
155+
In a perfect world, AI assistance would produce equal or higher quality work than any human. That isn't the world
156+
we live in today, and in most cases where human supervision or expertise is not in the loop, it's generating code
157+
or changes that cannot be reasonably maintained or evolved.
158+
159+
### What we're looking for
160+
161+
When submitting AI-assisted contributions, please ensure they include:
108162

109-
This project follows a Code of Conduct. Please review it in
110-
[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md).
163+
- **Clear disclosure of AI use** - You are transparent about AI use and degree to which you're using it for the contribution
164+
- **Human understanding** - You personally understand what the changes do
165+
- **Clear rationale** - You can explain why the change is needed and how it fits within Model Context Protocol goals
166+
- **Concrete evidence** - Include test cases, scenarios, or examples that demonstrate the improvement
167+
- **Your own analysis** - Share your thoughts on the end-to-end experience
111168

112-
## Questions
169+
### What we'll close
113170

114-
If you have questions, please create an issue in the repository.
171+
We reserve the right to close submissions that appear to not follow the disclosure policy.
115172

116173
## License
117174

0 commit comments

Comments
 (0)