Skip to content

Commit 90cbb25

Browse files
Merge branch 'main' into feat/spec-annotator
2 parents c64e4aa + fe36698 commit 90cbb25

57 files changed

Lines changed: 3175 additions & 708 deletions

Some content is hidden

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

.github/CODEOWNERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,9 @@
1414
/docs/specification/**/authorization.mdx @modelcontextprotocol/core-maintainers @modelcontextprotocol/auth-wg
1515
/docs/specification/**/security_best_practices.mdx @modelcontextprotocol/core-maintainers @modelcontextprotocol/auth-wg
1616
/docs/docs/tutorials/security/security_best_practices.mdx @modelcontextprotocol/core-maintainers @modelcontextprotocol/auth-wg
17+
18+
# GitHub configuration (workflows, issue templates, etc.)
19+
/.github/ @modelcontextprotocol/core-maintainers @modelcontextprotocol/docs-maintainers
20+
21+
# Agent documentation
22+
/AGENTS.md @modelcontextprotocol/core-maintainers @modelcontextprotocol/docs-maintainers
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Report a bug
2+
description: >
3+
An aspect of the MCP specification doesn't work as expected, or our
4+
documentation is wrong.
5+
labels: [bug, needs-triage]
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Use this form for problems with the **MCP specification itself** or
11+
with the **documentation on modelcontextprotocol.io**.
12+
13+
- If the bug is in a specific SDK (TypeScript, Python, etc.), file
14+
it in [that SDK's repository](https://modelcontextprotocol.io/docs/sdk)
15+
instead.
16+
- If the bug is in how **Claude** (Claude Desktop, claude.ai) uses
17+
MCP, file it at [anthropics/claude-ai-mcp](https://github.com/anthropics/claude-ai-mcp).
18+
- If you want to propose a new feature or a breaking change, that's
19+
a [SEP](https://modelcontextprotocol.io/community/sep-guidelines),
20+
not a bug.
21+
22+
- type: dropdown
23+
id: kind
24+
attributes:
25+
label: What's broken?
26+
options:
27+
- The spec defines behavior that doesn't work in practice
28+
- The spec is ambiguous or self-contradictory
29+
- The spec doesn't cover a case it clearly should
30+
- The JSON schema is wrong (incorrect type, constraint, or field)
31+
- The JSON schema disagrees with the spec prose
32+
- The spec conflicts with an RFC or standard it references
33+
- An example in the spec is wrong or won't run
34+
- The documentation is wrong or misleading
35+
- A docs page is missing or a link is broken
36+
validations:
37+
required: true
38+
39+
- type: input
40+
id: location
41+
attributes:
42+
label: Where in the spec or docs?
43+
description: >
44+
Link to the spec section, schema file, or docs page. Include a
45+
version tag or permalink if the content might change.
46+
placeholder: https://modelcontextprotocol.io/specification/2025-06-18/...
47+
validations:
48+
required: true
49+
50+
- type: textarea
51+
id: expected
52+
attributes:
53+
label: What should happen?
54+
description: What you expected the spec to say, or what behavior you expected.
55+
validations:
56+
required: true
57+
58+
- type: textarea
59+
id: actual
60+
attributes:
61+
label: What actually happens?
62+
description: >
63+
Quote the spec text, describe the broken behavior, or paste the
64+
error. If two implementations disagree, say which ones and how.
65+
validations:
66+
required: true
67+
68+
- type: textarea
69+
id: context
70+
attributes:
71+
label: Anything else?
72+
description: >
73+
Relevant SDK versions, related issues, or workarounds you've found.
74+
validations:
75+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Submit a Spec Enhancement Proposal (SEP)
4+
url: https://modelcontextprotocol.io/community/sep-guidelines
5+
about: >
6+
SEPs are the mechanism for proposing new protocol features, breaking
7+
changes, or governance changes. They are submitted as pull requests
8+
adding a file to the seps/ directory — not as issues. Read the SEP
9+
guidelines before opening your PR.
10+
- name: Report an SDK bug
11+
url: https://modelcontextprotocol.io/docs/sdk
12+
about: >
13+
Bugs in a specific SDK (TypeScript, Python, Go, etc.) should be filed
14+
in that SDK's own repository. The SDK documentation lists every
15+
official SDK with a link to its issue tracker.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Work tracking
2+
description: >
3+
Track work that's already been discussed and agreed on — not a new
4+
proposal.
5+
labels: [tracking]
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
This template is for work that's **already been discussed and
11+
agreed on** — in a SEP, a working group, a maintainer sync,
12+
a prior issue, wherever. It gives that work a place to be assigned,
13+
linked from PRs, and closed.
14+
15+
If you're proposing something **new**, this is the wrong template.
16+
Open a [SEP](https://modelcontextprotocol.io/community/sep-guidelines)
17+
for protocol changes, or a bug report for things that are broken.
18+
19+
- type: input
20+
id: source
21+
attributes:
22+
label: Where was this agreed?
23+
description: >
24+
Link to the discussion. If it was a synchronous conversation
25+
without a link, say where and when.
26+
placeholder: https://github.com/modelcontextprotocol/modelcontextprotocol/discussions/...
27+
validations:
28+
required: true
29+
30+
- type: textarea
31+
id: description
32+
attributes:
33+
label: Description
34+
description: >
35+
Whatever's useful. Summary, task list, acceptance criteria, open
36+
questions — structure it however fits the work.
37+
validations:
38+
required: false

.github/workflows/deploy-blog.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
with:
3838
working-directory: blog
3939
mode: production
40-
base-url: ${{ steps.pages.outputs.base_url }}/
40+
base-url: https://blog.modelcontextprotocol.io/
4141

4242
- name: Upload artifact
4343
uses: actions/upload-pages-artifact@v4

AGENTS.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,19 @@ npm run check:seps # Check SEP documents
6868
npm run prep # Full prep before committing (check, generate, format)
6969
```
7070

71+
## Issue Creation
72+
73+
Blank issues are disabled. `gh issue create` and the API bypass the template
74+
chooser, so when filing via CLI or API you **must** use one of the forms in
75+
`.github/ISSUE_TEMPLATE/` and fill in its required fields.
76+
77+
Before filing, check `.github/ISSUE_TEMPLATE/config.yml` — some categories
78+
are redirected out of this repo entirely:
79+
80+
- **SEPs** are pull requests adding a file to `seps/`, not issues
81+
- **SDK bugs** belong in the individual SDK repository
82+
- **Claude MCP behavior** belongs in `anthropics/claude-ai-mcp`
83+
7184
## Commit Guidelines
7285

7386
- Do not include model names or details (e.g., "Claude", "Opus") in commit messages

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

blog/archetypes/default.md

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
1-
+++
2-
date = '{{ .Date }}'
3-
draft = true
4-
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
5-
+++
1+
---
2+
title: '{{ replace .File.ContentBaseName "-" " " | title }}'
3+
date: "{{ .Date }}"
4+
draft: true
5+
6+
# One-sentence SEO summary. PaperMod emits this as BlogPosting.description
7+
# and <meta name="description">. Without it, both fall back to the first ~70
8+
# words of the post body.
9+
description: ""
10+
11+
# PaperMod emits each entry as a schema.org Person in BlogPosting.author.
12+
author:
13+
- ""
14+
15+
tags: []
16+
17+
# Optional per-post image for JSON-LD and OpenGraph (falls back to site
18+
# og-image.png). Place under static/posts/<slug>/ and reference relative to
19+
# static/.
20+
# cover:
21+
# image: posts/{{ .File.ContentBaseName }}/cover.png
22+
---

0 commit comments

Comments
 (0)