Skip to content

Commit 57a6181

Browse files
authored
Merge branch 'modelcontextprotocol:main' into mcp-logging-best-practices
2 parents c5165ff + ec14189 commit 57a6181

File tree

29 files changed

+2071
-37
lines changed

29 files changed

+2071
-37
lines changed

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
package-lock.json linguist-generated=true
22
schema/*/schema.json linguist-generated=true
3+
docs/specification/*/schema.md linguist-generated=true
4+
docs/specification/*/schema.mdx linguist-generated=true

.github/workflows/main.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,8 @@ jobs:
2121
- name: Check TypeScript definitions
2222
run: npm run check:schema:ts
2323

24-
- name: Verify that `npm run generate:json` did not change outputs (if it did, please re-run it and re-commit!)
24+
- name: Check schema.json files are up to date
2525
run: npm run check:schema:json
26+
27+
- name: Check schema.mdx files are up to date
28+
run: npm run check:schema:md

.prettierignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
docs/specification/*/schema.md
2+
docs/specification/*/schema.mdx

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ git checkout -b feature/your-feature-name
4747

4848
```bash
4949
npm run check:schema:ts
50-
npm run generate:json
50+
npm run generate:schema
5151
```
5252

5353
4. Validate documentation changes and apply formatting:

docs/clients.mdx

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,13 @@ This page provides an overview of applications that support the Model Context Pr
3636
| [Daydreams Agents][Daydreams] |||||||| Support for drop in Servers to Daydreams agents |
3737
| [Emacs Mcp][Mcp.el] |||||||| Supports tools in Emacs. |
3838
| [fast-agent][fast-agent] |||||||| Full multimodal MCP support, with end-to-end tests |
39+
| [FlowDown][FlowDown] | ❌ | ❌ | ✅ | ❓ | ❌ | ❌ | ❌ | Supports tools.
3940
| [FLUJO][FLUJO] |||||||| Support for resources, Prompts and Roots are coming soon |
4041
| [Genkit][Genkit] | ⚠️ ||||||| Supports resource list and lookup through tools. |
4142
| [Glama][Glama] |||||||| Supports tools. |
43+
| [Gemini CLI][Gemini CLI] |||||||| Supports tools. |
4244
| [GenAIScript][GenAIScript] |||||||| Supports tools. |
45+
| [GitHub Copilot coding agent][GitHubCopilotCodingAgent] |||||||| Supports tools. |
4346
| [Goose][Goose] |||||||| Supports tools. |
4447
| [gptme][gptme] |||||||| Supports tools. |
4548
| [HyperAgent][HyperAgent] |||||||| Supports tools. |
@@ -84,6 +87,7 @@ This page provides an overview of applications that support the Model Context Pr
8487
| [Zed][Zed] |||||||| Prompts appear as slash commands |
8588
| [Zencoder][Zencoder] |||||||| Supports tools |
8689

90+
8791
{/* prettier-ignore-end */}
8892

8993
[Resources]: /docs/concepts/resources
@@ -118,10 +122,13 @@ This page provides an overview of applications that support the Model Context Pr
118122
[Klavis AI]: https://www.klavis.ai/
119123
[Mcp.el]: https://github.com/lizqwerscott/mcp.el
120124
[fast-agent]: https://github.com/evalstate/fast-agent
125+
[FlowDown]: https://github.com/Lakr233/FlowDown
121126
[FLUJO]: https://github.com/mario-andreschak/flujo
122127
[Glama]: https://glama.ai/chat
128+
[Gemini CLI]: https://goo.gle/gemini-cli
123129
[Genkit]: https://github.com/firebase/genkit
124130
[GenAIScript]: https://microsoft.github.io/genaiscript/reference/scripts/mcp-tools/
131+
[GitHubCopilotCodingAgent]: https://docs.github.com/en/enterprise-cloud@latest/copilot/concepts/about-copilot-coding-agent
125132
[Goose]: https://block.github.io/goose/docs/goose-architecture/#interoperability-with-extensions
126133
[JetBrains AI Assistant]: https://plugins.jetbrains.com/plugin/22282-jetbrains-ai-assistant
127134
[Kilo Code]: https://github.com/Kilo-Org/kilocode
@@ -439,6 +446,23 @@ The Claude desktop application provides comprehensive support for MCP, enabling
439446
- Built in support for "Building Effective Agents" workflows.
440447
- Deploy Agents as MCP Servers
441448

449+
### FlowDown
450+
451+
[FlowDown](https://github.com/Lakr233/FlowDown) is a blazing fast and smooth client app for using AI/LLM, with a strong emphasis on privacy and user experience. It supports MCP servers to extend its capabilities with external tools, allowing users to build powerful, customized workflows.
452+
453+
**Key features:**
454+
455+
- **Seamless MCP Integration**: Easily connect to MCP servers to utilize a wide range of external tools.
456+
- **Privacy-First Design**: Your data stays on your device. We don't collect any user data, ensuring complete privacy.
457+
- **Lightweight & Efficient**: A compact and optimized design ensures a smooth and responsive experience with any AI model.
458+
- **Broad Compatibility**: Works with all OpenAI-compatible service providers and supports local offline models through MLX.
459+
- **Rich User Experience**: Features beautifully formatted Markdown, blazing-fast text rendering, and intelligent, automated chat titling.
460+
461+
**Learn more:**
462+
463+
- [FlowDown website](https://flowdown.ai/)
464+
- [FlowDown documentation](https://apps.qaq.wiki/docs/flowdown/)
465+
442466
### FLUJO
443467

444468
Think n8n + ChatGPT. FLUJO is an desktop application that integrates with MCP to provide a workflow-builder interface for AI interactions. Built with Next.js and React, it supports both online and offline (ollama) models, it manages API Keys and environment variables centrally and can install MCP Servers from GitHub. FLUJO has an ChatCompletions endpoint and flows can be executed from other AI applications like Cline, Roo or Claude.
@@ -496,6 +520,16 @@ Programmatically assemble prompts for LLMs using [GenAIScript](https://microsoft
496520
- Goose allows you to extend its functionality by [building your own MCP servers](https://block.github.io/goose/docs/tutorials/custom-extensions).
497521
- Includes built-in tools for development, web scraping, automation, memory, and integrations with JetBrains and Google Drive.
498522

523+
### GitHub Copilot coding agent
524+
525+
Delegate tasks to [GitHub Copilot coding agent](https://docs.github.com/en/copilot/concepts/about-copilot-coding-agent) and let it work in the background while you stay focused on the highest-impact and most interesting work
526+
527+
**Key features:**
528+
529+
- Delegate tasks to Copilot from GitHub Issues, Visual Studio Code, GitHub Copilot Chat or from your favorite MCP host using the GitHub MCP Server
530+
- Tailor Copilot to your project by [customizing the agent's development environment](https://docs.github.com/en/enterprise-cloud@latest/copilot/how-tos/agents/copilot-coding-agent/customizing-the-development-environment-for-copilot-coding-agent#preinstalling-tools-or-dependencies-in-copilots-environment) or [writing custom instructions](https://docs.github.com/en/enterprise-cloud@latest/copilot/how-tos/agents/copilot-coding-agent/best-practices-for-using-copilot-to-work-on-tasks#adding-custom-instructions-to-your-repository)
531+
- [Augment Copilot's context and capabilities with MCP tools](https://docs.github.com/en/enterprise-cloud@latest/copilot/how-tos/agents/copilot-coding-agent/extending-copilot-coding-agent-with-mcp), with support for both local and remote MCP servers
532+
499533
### gptme
500534

501535
[gptme](https://github.com/gptme/gptme) is a open-source terminal-based personal AI assistant/agent, designed to assist with programming tasks and general knowledge work.

docs/community/governance.mdx

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
---
2+
title: Governance and Stewardship
3+
description: Learn about the Model Context Protocol's governance structure and how to participate in the community
4+
---
5+
6+
The Model Context Protocol (MCP) follows a formal governance model to ensure transparent decision-making and community participation. This document outlines how the project is organized and how decisions are made.
7+
8+
## Technical Governance
9+
10+
The MCP project adopts a hierarchical structure, similar to Python, PyTorch and other open source projects:
11+
12+
- A community of **contributors** who file issues, make pull requests, and contribute to the project.
13+
- A small set of **maintainers** drive components within the MCP project, such as SDKs, documentation, and others.
14+
- Contributors and maintainers are overseen by **core maintainers**, who drive the overall project direction.
15+
- The core maintainers have two **lead core maintainers** who are the catch-all decision makers.
16+
- Maintainers, core maintainers, and lead core maintainers form the **MCP steering group**.
17+
18+
All maintainers are expected to have a strong bias towards MCP's design philosophy. Membership in the technical governance process is for individuals, not companies. That is, there are no seats reserved for specific companies, and membership is associated with the person rather than the company employing that person. This ensures that maintainers act in the best interests of the protocol itself and the open source community.
19+
20+
### Channels
21+
22+
Technical Governance is facilitated through a shared Discord server of all **maintainers, core maintainers** and **lead 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 core group Discord server.
23+
24+
### Maintainers
25+
26+
Maintainers are responsible for individual projects or technical working 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. Maintainers may adopt their own rules and procedures for making decisions. Maintainers are expected to make decisions for their respective projects independently, but can defer or escalate to the core maintainers when needed.
27+
28+
Maintainers are responsible for the:
29+
30+
- Thoughtful and productive engagement with community contributors,
31+
- Maintaining and improving their respective area of the MCP project,
32+
- Supporting documentation, roadmaps and other adjacent parts of the MCP project,
33+
- Present ideas from community to core.
34+
35+
Maintainers are encouraged to propose additional maintainers when needed. Maintainers can only be appointed and removed by core maintainers or lead core maintainers at any time and without reason.
36+
37+
Maintainers have write and/or admin access to their respective repositories.
38+
39+
### Core Maintainers
40+
41+
The core maintainers are expected to have a deep understanding of the Model Context Protocol and its specification. Their responsibilities include:
42+
43+
- Designing, reviewing and steering the evolution of the MCP specification, as well as all other parts of the MCP project, such as documentation,
44+
- Articulating a cohesive long-term vision for the project,
45+
- Mediating and resolving contentious issues with fairness and transparency, seeking consensus where possible while making decisive choices when necessary,
46+
- Appoint or remove maintainers,
47+
- Stewardship of the MCP project in the best interest of MCP.
48+
49+
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.
50+
51+
Core maintainers generally have write and admin access to all MCP repositories, but should use the same contribution (usually pull-requests) mechanism as outside contributors. Exceptions can be made based on security considerations.
52+
53+
### Lead Maintainers (BDFL)
54+
55+
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. 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.
56+
57+
The Lead Maintainers are responsible for confirming or removing core maintainers.
58+
59+
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.
60+
61+
### Decision Process
62+
63+
The core maintainer group meets every two weeks to discuss and vote on proposals, as well as discuss any topics needed. The shared Discord server can be used to discuss and vote on smaller proposals if needed.
64+
65+
The lead maintainer, core maintainer, and maintainer group should attempt to meet in person every three to six months.
66+
67+
## Processes
68+
69+
Core and lead maintainers are responsible for all aspects of Model Context Protocol, including documentation, issues, suggestions for content, and all other parts under the [MCP project](https://github.com/modelcontextprotocol). Maintainers are responsible for documentation, issues, and suggestions of content for their area of the MCP project, but are encouraged to partake in general maintenance of the MCP projects. Maintainers, core maintainers, and lead maintainers should use the same contribution process as external contributors, rather than making direct changes to repos. This provides insight into intent and opportunity for discussion.
70+
71+
### Projects and Working Groups
72+
73+
The MCP project is organized into two main structures: projects and working groups.
74+
75+
Projects are concrete components maintained in dedicated repositories. These include the Specification, TypeScript SDK, Go SDK, Inspector, and other implementation artifacts.
76+
77+
Working groups are forums for collaboration where interested parties discuss specific aspects of MCP without maintaining code repositories. These include groups focused on transport protocols, client implementation, and other cross-cutting concerns.
78+
79+
#### Governance Principles
80+
81+
All projects and working groups are self-governed while adhering to these core principles:
82+
83+
1. Clear contribution and decision-making processes
84+
2. Open communication and transparent decisions
85+
86+
Both must:
87+
88+
- Document their contribution process
89+
- Maintain transparent communication
90+
- Make decisions publicly (working groups must publish meeting notes and proposals)
91+
92+
Projects and working groups without specified processes default to:
93+
94+
- GitHub pull requests and issues for contributions
95+
- A public channel in the official MCP Discord (TBD)
96+
97+
#### Maintenance Responsibilities
98+
99+
Components without dedicated maintainers (such as documentation) fall under core maintainer responsibility. These follow standard contribution guidelines through pull requests, with maintainers handling reviews and escalating to core maintainer review for any significant changes.
100+
101+
Core maintainers and maintainers are encouraged to improve any part of the MCP project, regardless of formal maintenance assignments.
102+
103+
### Specification Project
104+
105+
#### Specification Enhancement Proposal (SEP)
106+
107+
Proposed changes to the specification must come in the form of a written version, starting with a summary of the proposal, outlining the **problem** it tries to solve, propose **solution**, **alternatives**, **considerations, outcomes** and **risks**. The [SEP Guidelines](/community/sep-guidelines) outline information on the expected structure of SEPs. SEP's should be created as issues in the [specification repository](https://github.com/modelcontextprotocol/specification) and tagged with the labels `proposal, sep`.
108+
109+
All proposals must have a **sponsor** from the MCP steering group (maintainer, core maintainer or lead core maintainer). The sponsor is responsible for ensuring that the proposal is actively developed, meets the quality standard for proposals and is responsible for presenting and discussing it in meetings of core maintainers. Maintainer and Core Maintainer groups should review open proposals without sponsors in regular intervals. Proposals that do not find a sponsor within six months are automatically rejected.
110+
111+
Once proposals have a sponsor, they are assigned to the sponsor and are tagged `draft`.
112+
113+
## Communication
114+
115+
### Core Maintainer Meetings
116+
117+
The core maintainer group meets on a bi-weekly basis to discuss proposals and the project. Notes on proposals should be made public. The core maintainer group will strive to meet in person every 3-6 months.
118+
119+
### Public Chat
120+
121+
The MCP project maintains a public Discord server with open chats for interest groups. The MCP project may have private channels for certain communications.
122+
123+
## Nominating, Confirming and Removing Maintainers
124+
125+
### The Principles
126+
127+
- Membership in module 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.
128+
- For membership in the **maintainer** group the individual has to demonstrate strong and continued alignment with the overall MCP principles.
129+
- No term limits for module maintainers or core maintainers
130+
- 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.
131+
- The membership is for an individual, not a company.
132+
133+
### Nomination and Removal
134+
135+
- Core Maintainers are responsible for adding and removing maintainers. They will take the consideration of existing maintainers into account.
136+
- The lead maintainers are responsible for adding and removing core maintainers.
137+
138+
## Current Core Maintainers
139+
140+
- Inna Harper
141+
- Basil Hosmer
142+
- Paul Carleton
143+
- Nick Cooper
144+
- Nick Aldridge
145+
- Che Liu
146+
- Den Delimarsky

0 commit comments

Comments
 (0)