Contributions are welcome. Please keep them focused and practical.
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-tool - Make your changes
- Test inside the container:
docker exec -w /app devops-mcp python3 your_test.py - Open a pull request with a clear description
- Create
tools/your_tool.pywith anasync def your_tool(args: dict) -> dictfunction - Add validation logic to
security.pyif needed - Register in
server.py:- Import at the top
- Add to
_TOOL_MODULESlist (for hot reload) - Add
Tool(...)definition to_TOOLS - Add to
_DISPATCHdict
- Document in
README.md
- Python 3.12+
- No external formatters required, but keep it readable
- All tool functions must return
dict(never raise exceptions to the caller) - Dangerous operations must require
confirmed=true
- Never add tools that bypass the security layer in
security.py - All new SSH/file/DB operations must go through validation
- Destructive actions must require explicit confirmation