Skip to content

Commit 5d258bc

Browse files
authored
Merge branch 'main' into fix/tool-resource-guidance
2 parents 14d8913 + 5890475 commit 5d258bc

Some content is hidden

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

74 files changed

+3307
-1025
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
package-lock.json linguist-generated=true
2+
schema/*/schema.json linguist-generated=true

.github/workflows/markdown-format.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,25 @@ on:
44
push:
55
paths:
66
- '**/*.md'
7+
- '**/*.mdx'
78
pull_request:
89
paths:
910
- '**/*.md'
11+
- '**/*.mdx'
1012

1113
jobs:
1214
format:
1315
runs-on: ubuntu-latest
1416
steps:
1517
- uses: actions/checkout@v4
16-
18+
1719
- name: Setup Node.js
1820
uses: actions/setup-node@v4
1921
with:
2022
node-version: '20'
21-
23+
2224
- name: Install dependencies
2325
run: npm ci
24-
26+
2527
- name: Check markdown formatting
26-
run: npm run format:check
28+
run: npm run format:check

CONTRIBUTING.md

Lines changed: 40 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ The following software is required to work on the spec:
1919
2. Clone your fork:
2020

2121
```bash
22-
git clone https://github.com/YOUR-USERNAME/specification.git
23-
cd specification
22+
git clone https://github.com/YOUR-USERNAME/modelcontextprotocol.git
23+
cd modelcontextprotocol
2424
```
2525

2626
3. Install dependencies:
@@ -32,8 +32,9 @@ npm install # install dependencies
3232

3333
## Making Changes
3434

35-
Note that schema changes are made to `schema.ts`. `schema.json` is generated from
36-
`schema.ts` using `npm run validate:schema`.
35+
Note that schema changes are made to `schema.ts`, and `schema.json` is generated from
36+
`schema.ts`. You should validate your `schema.ts` changes first and then generate the
37+
`schema.json`.
3738

3839
1. Create a new branch:
3940

@@ -46,15 +47,27 @@ git checkout -b feature/your-feature-name
4647

4748
```bash
4849
npm run validate:schema # validate schema
49-
npm run generate:json # generate JSON schema
5050
```
5151

52-
4. Run docs locally (optional):
52+
4. Generate the `schema.json`:
53+
54+
```bash
55+
npm run generate:json # generate JSON schema
56+
```
57+
58+
5. Run docs locally (optional):
5359

5460
```bash
5561
npm run serve:docs
5662
```
5763

64+
6. Format/lint your changes:
65+
66+
```bash
67+
npm run format:check # check formatting
68+
npm run format # apply formatting
69+
```
70+
5871
### Documentation Guidelines
5972

6073
When contributing to the documentation:
@@ -64,12 +77,31 @@ When contributing to the documentation:
6477
- Include code examples where appropriate
6578
- Use proper MDX formatting and components
6679
- Test all links and code samples
80+
- You may run `npm run check-links` to look for broken internal links.
6781
- Use appropriate headings: "When to use", "Steps", and "Tips" for tutorials
6882
- Place new pages in appropriate sections (concepts, tutorials, etc.)
69-
- Update docs.json when adding new pages
70-
- Follow existing file naming conventions (kebab-case.mdx)
83+
- Update `docs.json` when adding new pages
84+
- Follow existing file naming conventions (`kebab-case.mdx`)
7185
- Include proper frontmatter in MDX files
7286

87+
### Specification Proposal Guidelines
88+
89+
#### Principles of MCP
90+
91+
1. **Simple + Minimal**: It is much easier to add things to a specification than it is to
92+
remove them. To maintain simplicity, we keep a high bar for adding new concepts and
93+
primitives as each addition requires maintenance and compatibility consideration.
94+
2. **Concrete**: Specification changes need to be based on specific implementation
95+
challenges and not on speculative ideas.
96+
97+
### Stages of a specification proposal
98+
99+
1. **Define**: Explore the problem space, validate that other MCP users face a similar
100+
issue, and then clearly define the problem.
101+
2. **Prototype**: Build an example solution to the problem and demonstrate its practical
102+
application.
103+
3. **Write**: Based on the prototype, write a specification proposal.
104+
73105
## Submitting Changes
74106

75107
1. Push your changes to your fork

docs/clients.mdx

Lines changed: 391 additions & 51 deletions
Large diffs are not rendered by default.

docs/development/roadmap.mdx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ description: Our plans for evolving Model Context Protocol
77

88
The Model Context Protocol is rapidly evolving. This page outlines our current thinking on key priorities and direction for approximately **the next six months**, though these may change significantly as the project develops. To see what's changed recently, check out the **[specification changelog](/specification/2025-03-26/changelog/)**.
99

10-
<Note>The ideas presented here are not commitments—we may solve these challenges differently than described, or some may not materialize at all. This is also not an _exhaustive_ list; we may incorporate work that isn't mentioned here.</Note>
10+
<Note>
11+
12+
The ideas presented here are not commitments—we may solve these challenges differently than described, or some may not materialize at all. This is also not an _exhaustive_ list; we may incorporate work that isn't mentioned here.
13+
14+
</Note>
1115

1216
We value community participation! Each section links to relevant discussions where you can learn more and contribute your thoughts.
1317

docs/development/updates.mdx

Lines changed: 0 additions & 65 deletions
This file was deleted.

docs/docs.json

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@
5353
{
5454
"group": "Development",
5555
"pages": [
56-
"development/updates",
5756
"development/roadmap",
5857
"development/contributing"
5958
]
@@ -188,6 +187,7 @@
188187
"specification/draft/basic/lifecycle",
189188
"specification/draft/basic/transports",
190189
"specification/draft/basic/authorization",
190+
"specification/draft/basic/security_best_practices",
191191
{
192192
"group": "Utilities",
193193
"pages": [
@@ -202,7 +202,8 @@
202202
"group": "Client Features",
203203
"pages": [
204204
"specification/draft/client/roots",
205-
"specification/draft/client/sampling"
205+
"specification/draft/client/sampling",
206+
"specification/draft/client/elicitation"
206207
]
207208
},
208209
{
@@ -226,25 +227,17 @@
226227
},
227228
{
228229
"group": "Resources",
229-
"pages": [
230-
"specification/versioning",
231-
"specification/contributing"
232-
]
230+
"pages": ["specification/versioning", "specification/contributing"]
233231
}
234232
]
235233
}
236234
],
237235
"global": {
238236
"anchors": [
239237
{
240-
"anchor": "Python SDK",
241-
"href": "https://github.com/modelcontextprotocol/python-sdk",
242-
"icon": "python"
243-
},
244-
{
245-
"anchor": "TypeScript SDK",
246-
"href": "https://github.com/modelcontextprotocol/typescript-sdk",
247-
"icon": "square-js"
238+
"anchor": "C# SDK",
239+
"href": "https://github.com/modelcontextprotocol/csharp-sdk",
240+
"icon": "square-c"
248241
},
249242
{
250243
"anchor": "Java SDK",
@@ -257,9 +250,24 @@
257250
"icon": "square-k"
258251
},
259252
{
260-
"anchor": "C# SDK",
261-
"href": "https://github.com/modelcontextprotocol/csharp-sdk",
262-
"icon": "square-c"
253+
"anchor": "Python SDK",
254+
"href": "https://github.com/modelcontextprotocol/python-sdk",
255+
"icon": "python"
256+
},
257+
{
258+
"anchor": "Ruby SDK",
259+
"href": "https://github.com/modelcontextprotocol/ruby-sdk",
260+
"icon": "gem"
261+
},
262+
{
263+
"anchor": "Swift SDK",
264+
"href": "https://github.com/modelcontextprotocol/swift-sdk",
265+
"icon": "swift"
266+
},
267+
{
268+
"anchor": "TypeScript SDK",
269+
"href": "https://github.com/modelcontextprotocol/typescript-sdk",
270+
"icon": "square-js"
263271
}
264272
]
265273
}
@@ -303,9 +311,6 @@
303311
}
304312
],
305313
"contextual": {
306-
"options": [
307-
"copy",
308-
"view"
309-
]
314+
"options": ["copy", "view"]
310315
}
311316
}

0 commit comments

Comments
 (0)