Contributing to TRMX MCP
This guide explains how you can contribute to the Model Context Protocol ecosystem.
Ways to Contribute
There are many ways to contribute to the MCP ecosystem:
- Code Contributions: Improve the core SDKs or create new integrations
- Documentation: Help improve or translate the documentation
- Bug Reports: Report bugs in the SDKs, tools, or documentation
- Feature Requests: Suggest new features or improvements
- Community Support: Help other users in forums and discussion channels
- Examples & Templates: Create example applications or templates
- Tools & Extensions: Build tools that extend the MCP ecosystem
Getting Started
Setting Up Your Development Environment
To contribute to the MCP codebase, you'll need:
- Node.js: Version 16 or higher
- Git: For version control
- npm or Yarn: For package management
# Clone the repository
git clone https://github.com/trmx/mcp.git
cd mcp
# Install dependencies
npm install
# Run tests
npm test
Project Structure
The MCP project is organized into several packages:
@trmx/client
: Client SDK for connecting to MCP servers@trmx/server
: Server SDK for creating MCP servers@trmx/context-mongodb
: MongoDB context store implementation@trmx/context-redis
: Redis context store implementation@trmx/cli
: Command-line tools for MCP development
Contribution Guidelines
Code Style & Quality
We follow these coding standards:
- TypeScript for type safety
- ESLint for code quality
- Prettier for code formatting
- Jest for testing
Run linting and tests before submitting:
# Lint code
npm run lint
# Format code
npm run format
# Run tests
npm run test
Git Workflow
- Fork the Repository: Create your own fork of the repository
- Create a Branch: Create a branch for your changes
- Make Changes: Implement your changes with appropriate tests
- Commit Changes: Use clear, descriptive commit messages
- Submit a Pull Request: Open a PR against the main repository
Commit Message Format
We follow the Conventional Commits specification:
<type>(<scope>): <description>
[optional body]
[optional footer]
Types include:
feat
: A new featurefix
: A bug fixdocs
: Documentation changesstyle
: Code style changes (formatting, etc.)refactor
: Code changes that neither fix bugs nor add featuresperf
: Performance improvementstest
: Adding or fixing testschore
: Changes to the build process or tools
Example:
feat(server): add support for custom authentication
This adds a customAuth option to the server configuration
that allows developers to implement their own authentication logic.
Closes #123
Pull Request Process
- Ensure your code passes all tests and linting
- Update documentation if your changes affect API or behavior
- Add tests for new features or bug fixes
- Update the CHANGELOG.md file with your changes
- Submit the PR with a clear description of the changes
Documentation Contributions
Documentation is crucial for the MCP ecosystem. To contribute:
- Navigate to the
docs
directory - Make your changes following the existing style
- Preview changes locally with
npm run docs:dev
- Submit a PR with your changes
Documentation Style Guide
- Use clear, concise language
- Include examples for API methods
- Organize content with appropriate headings
- Use code blocks for code examples
- Include diagrams where helpful
Reporting Issues
When reporting issues, please include:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Environment information (OS, Node.js version, etc.)
- Sample code or screenshots if applicable
Feature Requests
Feature requests should include:
- A clear description of the feature
- The problem it solves or value it adds
- Potential implementation approaches
- Any relevant examples or references
Community Guidelines
Our community values:
- Respect: Treat all community members with respect
- Inclusivity: Welcome contributors of all backgrounds
- Collaboration: Work together to improve the project
- Quality: Strive for high-quality code and documentation
- Open Communication: Discuss ideas openly and constructively
Code of Conduct
We follow the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to conduct@trmx.ai.
Recognition
All contributors are recognized in our CONTRIBUTORS.md file. Major contributors may be invited to join the core team.
Getting Help
If you need help with your contribution:
- Discord: Join our Discord server
- GitHub Discussions: Use the discussions tab for questions
- Community Forum: Post on our community forum