Skip to main content

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:

  1. Code Contributions: Improve the core SDKs or create new integrations
  2. Documentation: Help improve or translate the documentation
  3. Bug Reports: Report bugs in the SDKs, tools, or documentation
  4. Feature Requests: Suggest new features or improvements
  5. Community Support: Help other users in forums and discussion channels
  6. Examples & Templates: Create example applications or templates
  7. 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:

  1. Node.js: Version 16 or higher
  2. Git: For version control
  3. 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

  1. Fork the Repository: Create your own fork of the repository
  2. Create a Branch: Create a branch for your changes
  3. Make Changes: Implement your changes with appropriate tests
  4. Commit Changes: Use clear, descriptive commit messages
  5. 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 feature
  • fix: A bug fix
  • docs: Documentation changes
  • style: Code style changes (formatting, etc.)
  • refactor: Code changes that neither fix bugs nor add features
  • perf: Performance improvements
  • test: Adding or fixing tests
  • chore: 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

  1. Ensure your code passes all tests and linting
  2. Update documentation if your changes affect API or behavior
  3. Add tests for new features or bug fixes
  4. Update the CHANGELOG.md file with your changes
  5. Submit the PR with a clear description of the changes

Documentation Contributions

Documentation is crucial for the MCP ecosystem. To contribute:

  1. Navigate to the docs directory
  2. Make your changes following the existing style
  3. Preview changes locally with npm run docs:dev
  4. 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:

  1. A clear, descriptive title
  2. Steps to reproduce the issue
  3. Expected behavior
  4. Actual behavior
  5. Environment information (OS, Node.js version, etc.)
  6. Sample code or screenshots if applicable

Feature Requests

Feature requests should include:

  1. A clear description of the feature
  2. The problem it solves or value it adds
  3. Potential implementation approaches
  4. 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:

Next Steps