Contributing
Join the conversation
- Discord — chat with other users and contributors
- GitHub Discussions — ask questions, share ideas, show off your setup
- GitHub Issues — report bugs or request features
Contributing to the ROS-MCP Module
The ROS-MCP module is open source (Apache 2.0) and welcomes contributions of all kinds:
- Bug reports — found something broken? Open an issue
- Documentation — clarify steps, add tutorials, or share demos
- Code — bug fixes, new features, refactors, or tests
- Examples — show how you use ROS-MCP with your robot
How to submit a pull request
-
Fork the ros-mcp-server repository
-
Create a branch for your changes:
git checkout -b your-branch-name -
Make your changes. When adding a new function, include:
- The function name and format
- A brief description of its functionality
- Parameter and return type documentation
-
Commit and push:
git commit -m "your commit message"git push origin your-branch-name -
Open a pull request targeting the
developbranch (notmain)
Code style
We use Ruff for linting and formatting. CI requires both checks to pass:
ruff format --check .
ruff check .
The easiest way to stay compliant:
# Option A: auto-fix on commit (recommended)
pre-commit install
# Option B: run manually before pushing
ruff format .
ruff check --fix .
Devcontainer
A devcontainer is available with ROS2 Humble, Python 3.10+, ruff, pre-commit, uv, and git pre-installed. Open the repository in VS Code and select "Reopen in Container" when prompted.
See the full devcontainer setup guide for details on GUI app support (turtlesim, rviz, Gazebo).
License
By contributing, you agree that your contributions will be licensed under Apache License 2.0. You retain copyright to your contributions.