Skip to content

Commit fe9db63

Browse files
authored
Merge pull request #2607 from modelcontextprotocol/adamj/contributing-docs
refactor(CONTRIBUTING.md): streamline contribution guidelines and improve clarity
2 parents c8fe7d9 + 4aade95 commit fe9db63

File tree

1 file changed

+18
-89
lines changed

1 file changed

+18
-89
lines changed

CONTRIBUTING.md

Lines changed: 18 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,34 @@
11
# Contributing to MCP Servers
22

3-
Thank you for your interest in contributing to the Model Context Protocol (MCP) servers! This document provides guidelines and instructions for contributing.
3+
Thanks for your interest in contributing! Here's how you can help make this repo better.
44

5-
## Types of Contributions
5+
We accept changes through [the standard GitHub flow model](https://docs.github.com/en/get-started/using-github/github-flow).
66

7-
### 1. New Servers
7+
## Server Listings
88

9-
The repository contains reference implementations, as well as a list of community servers.
10-
We generally don't accept new servers into the repository. We do accept pull requests to the [README.md](./README.md)
11-
adding a reference to your servers.
9+
We welcome PRs that add links to your servers in the [README.md](./README.md)!
1210

13-
Please keep lists in alphabetical order to minimize merge conflicts when adding new items.
11+
## Server Implementations
1412

15-
- Check the [modelcontextprotocol.io](https://modelcontextprotocol.io) documentation
16-
- Ensure your server doesn't duplicate existing functionality
17-
- Consider whether your server would be generally useful to others
18-
- Follow [security best practices](https://modelcontextprotocol.io/docs/concepts/transports#security-considerations) from the MCP documentation
19-
- Create a PR adding a link to your server to the [README.md](./README.md).
13+
We welcome:
14+
- **Bug fixes** — Help us squash those pesky bugs.
15+
- **Usability improvements** — Making servers easier to use for humans and agents.
16+
- **Enhancements that demonstrate MCP protocol features** — We encourage contributions that help reference servers better illustrate underutilized aspects of the MCP protocol beyond just Tools, such as Resources, Prompts, or Roots. For example, adding Roots support to filesystem-server helps showcase this important but lesser-known feature.
2017

21-
### 2. Improvements to Existing Servers
22-
Enhancements to existing servers are welcome! This includes:
18+
We're more selective about:
19+
- **Other new features** — Especially if they're not crucial to the server's core purpose or are highly opinionated. The existing servers are reference servers meant to inspire the community. If you need specific features, we encourage you to build enhanced versions! We think a diverse ecosystem of servers is beneficial for everyone, and would love to link to your improved server in our README.
2320

24-
- Bug fixes
25-
- Performance improvements
26-
- New features
27-
- Security enhancements
21+
We don't accept:
22+
- **New server implementations** — We encourage you to publish them yourself, and link to them from the README.
2823

29-
### 3. Documentation
30-
Documentation improvements are always welcome:
24+
## Documentation
3125

32-
- Fixing typos or unclear instructions
33-
- Adding examples
34-
- Improving setup instructions
35-
- Adding troubleshooting guides
26+
Improvements to existing documentation is welcome - although generally we'd prefer ergonomic improvements than documenting pain points if possible!
3627

37-
## Getting Started
38-
39-
1. Fork the repository
40-
2. Clone your fork:
41-
```bash
42-
git clone https://github.com/your-username/servers.git
43-
```
44-
3. Add the upstream remote:
45-
```bash
46-
git remote add upstream https://github.com/modelcontextprotocol/servers.git
47-
```
48-
4. Create a branch:
49-
```bash
50-
git checkout -b my-feature
51-
```
52-
53-
## Development Guidelines
54-
55-
### Code Style
56-
- Follow the existing code style in the repository
57-
- Include appropriate type definitions
58-
- Add comments for complex logic
59-
60-
### Documentation
61-
- Include a detailed README.md in your server directory
62-
- Document all configuration options
63-
- Provide setup instructions
64-
- Include usage examples
65-
66-
### Security
67-
- Follow security best practices
68-
- Implement proper input validation
69-
- Handle errors appropriately
70-
- Document security considerations
71-
72-
## Submitting Changes
73-
74-
1. Commit your changes:
75-
```bash
76-
git add .
77-
git commit -m "Description of changes"
78-
```
79-
2. Push to your fork:
80-
```bash
81-
git push origin my-feature
82-
```
83-
3. Create a Pull Request through GitHub
84-
85-
### Pull Request Guidelines
86-
87-
- Thoroughly test your changes
88-
- Fill out the pull request template completely
89-
- Link any related issues
90-
- Provide clear description of changes
91-
- Include any necessary documentation updates
92-
- Add screenshots for UI changes
93-
- List any breaking changes
28+
We're more selective about adding wholly new documentation, especially in ways that aren't vendor neutral (e.g. how to run a particular server with a particular client).
9429

9530
## Community
9631

97-
- Participate in [GitHub Discussions](https://github.com/orgs/modelcontextprotocol/discussions)
98-
- Follow the [Code of Conduct](CODE_OF_CONDUCT.md)
99-
100-
## Questions?
101-
102-
- Check the [documentation](https://modelcontextprotocol.io)
103-
- Ask in GitHub Discussions
32+
[Learn how the MCP community communicates](https://modelcontextprotocol.io/community/communication).
10433

105-
Thank you for contributing to MCP Servers!
34+
Thank you for helping make MCP servers better for everyone!

0 commit comments

Comments
 (0)