Thank you for your interest in contributing to MCPLint!
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/mcplint.git - Create a feature branch:
git checkout -b feature/your-feature - Make your changes
- Run tests:
cargo test - Run lints:
cargo clippy - Format code:
cargo fmt - Commit your changes
- Push to your fork and submit a pull request
# Install Rust (if not already installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Build the project
cargo build
# Run tests
cargo test
# Run with debug output
cargo run -- -vvv validate node your-server.js- Follow Rust conventions and idioms
- Run
cargo fmtbefore committing - Ensure
cargo clippypasses without warnings - Add tests for new functionality
Security rules are defined in src/rules/mod.rs. Each rule should have:
- A unique ID following the pattern
MCP-<CATEGORY>-### - Categories:
injection,auth,transport,protocol,data,dos - Clear name and description
- Appropriate severity level
- References to CWE or CVE where applicable
- Keep PRs focused on a single feature or fix
- Update documentation if needed
- Add tests for new functionality
- Ensure CI passes before requesting review
When reporting bugs, please include:
- MCPLint version (
mcplint --version) - Operating system and version
- Steps to reproduce
- Expected vs actual behavior
- Any relevant error messages
By contributing, you agree that your contributions will be licensed under the MIT License.