Contributing¶
Contributions are welcome! This page covers the development workflow.
Development setup¶
git clone https://github.com/MathiasPaulenko/wavexis-mcp.git
cd wavexis-mcp
python -m venv .venv-dev
.\.venv-dev\Scripts\Activate.ps1 # Windows
# source .venv-dev/bin/activate # Unix
pip install -e ".[dev]"
Running tests¶
Linting and formatting¶
Regenerating tool docs¶
When you add or modify tools, regenerate the documentation:
Project structure¶
wavexis-mcp/
wavexis_mcp/
__init__.py
server.py # FastMCP server + tool registration
session.py # SessionManager
models.py # Pydantic input models
formatter.py # Response formatting
security.py # SSRF protection, path sandboxing
tools/
session.py # Session management tools
navigation.py # Navigation tools
capture.py # Screenshot/PDF tools
dom.py # DOM tools
input.py # Input interaction tools
javascript.py # JS evaluation tools
cookies.py # Cookie tools
tabs.py # Tab management tools
network.py # Network tools
storage.py # Storage tools
emulation.py # Emulation tools
a11y.py # Accessibility tools
interactions.py # Dialog/permission tools
devtools.py # DevTools tools
vision.py # Lighthouse/WebAuthn tools
video.py # Video recording tools
testing.py # Testing tools
workflows.py # Multi-action YAML tools
data.py # Data extraction tools
experimental.py # Raw protocol tools
utility.py # Utility tools
playwright_parity.py # Playwright-parity tools
tests/
unit/ # Unit tests
integration/ # Integration tests
docs/ # MkDocs documentation
scripts/ # Helper scripts
PR workflow¶
- Fork the repository
- Create a feature branch (
git checkout -b feat/my-feature) - Make your changes
- Run tests and linting
- Commit with a clear message
- Open a pull request
Good first issues¶
Check issues labeled good first issue for beginner-friendly tasks.
Full contributing guide¶
See CONTRIBUTING.md for the complete guide.