Contributor Communication
This document explains how to communicate and collaborate within the Model Context Protocol (MCP) project.
Communication Channels
| Channel | Purpose | When to Use |
|---|---|---|
| Discord | Real-time discussion | Quick questions, coordination, WG/IG discussions |
| Live calls | Sync up | WG/IG presentations, progress reports |
| GitHub Discussions | Structured discussion | Proposals, roadmap planning, longer-form debate |
| GitHub Issues | Actionable tasks | Bug reports, documentation fixes |
| Vulnerability reports | Security issues | Vulnerabilities - never post publicly |
All communication is governed by our Code of Conduct. We expect respectful, professional, and inclusive interactions across all channels.
Discord
The MCP Contributor Discord is for real-time contributor discussion and collaboration. The server is designed for MCP contributors and is not intended for general MCP support.
Public Channels (Default)
Purpose: Open community engagement, collaborative development, and transparent project coordination.
Primary use cases:
- SDK and tooling development (e.g.,
#typescript-sdk-dev,#inspector-dev) - Working Group and Interest Group discussions (e.g.,
#auth-wg,#security-ig) - Community onboarding and contribution guidance
- Community feedback and collaborative brainstorming
- Public office hours and maintainer availability
Avoid:
- MCP user support - Read official documentation and use GitHub Discussions for questions
- Service or product marketing - Keep discussions vendor-neutral; mentions of brands are discouraged except as examples relevant to the specification
Private Channels (Exceptions)
Purpose: Confidential coordination and sensitive matters. Access is restricted to designated maintainers.
Criteria for private use:
- Security incidents (CVEs, protocol vulnerabilities)
- People matters (maintainer discussions, code of conduct issues)
- Coordination requiring immediate or focused response with a limited audience
- Some channels are read-only for maintainer decision-making
Transparency requirements:
- All technical and governance decisions affecting the community must be documented in GitHub Discussions and/or Issues, labeled with
notes - Private channels are temporary “incident rooms,” not for routine development
- Some matters related to individual contributors may remain private when appropriate
Any significant discussion on Discord that leads to a potential decision or proposal must be moved to GitHub Discussion or Issue for a persistent, searchable record.
GitHub Discussions
Use for structured, long-form discussion and debate on project direction.
When to use:
- Project roadmap planning and milestone discussions
- Announcements and release communications
- Community polls and consensus-building
- Feature requests with context and rationale
- If a repository doesn’t have Discussions enabled, use GitHub Issues instead
GitHub Issues
Use for bug reports and actionable development tasks. Feature requests should go to GitHub Discussions.
When to use:
- Bug reports with reproducible steps
- Documentation improvements with specific scope
- CI/CD problems and infrastructure issues
- Release tasks and milestone tracking
Note: SEP proposals are submitted as pull requests to the seps/ directory, not as GitHub Issues. See the SEP Guidelines.
Security Issues
Do not post security issues publicly.
- Use the private security reporting process in SECURITY.md
- Contact Lead or Core Maintainers directly
- Follow responsible disclosure guidelines
Decision Records
All MCP decisions are documented in public channels:
| Type | Location |
|---|---|
| Technical decisions | GitHub Issues and SEPs |
| Specification changes | Changelog |
| Process changes | Community documentation |
| Governance decisions | GitHub Issues and SEPs |
When documenting decisions, we retain as much context as possible:
- Decision makers
- Background context and motivation
- Options considered
- Rationale for chosen approach
- Implementation steps