Contributing
Thank you for wanting to contribute to BondMCP! We welcome pull requests and issues from the community.
Opening Issues
Search existing issues before filing a new one.
Include as much detail as possible: environment info, steps to reproduce, logs, and expected vs. actual behavior.
For security concerns please email [email protected] rather than opening a public issue.
Development Setup
Clone the repository and install dependencies:
git clone https://github.com/bondmcp/mcp.git cd mcp python -m pip install --upgrade pip pip install -e '.[dev]' cd sdks/typescript && npm install
Optional: install Go tools if you plan to work with the Go SDK.
Running Tests
From the repository root run:
pytest # Python tests
node --test tests/test_bondmcp_node.js # Node tests
go test ./... # Go tests (if any)
Linting
Before submitting a pull request ensure all linters pass:
black --check .
isort --check .
flake8
mypy
cd sdks/typescript && npm run lint
# For Go code
gofmt -d $(git ls-files '*.go') | read; go vet ./...
Submitting Pull Requests
Create a feature branch from
main
.Make your changes with clear commits and add tests when applicable.
Run the linters and tests described above.
Open a pull request describing what was changed and why.
Releasing and Versioning
Python SDK
Update the version in
pyproject.toml
andbondmcp_sdk/__init__.py
.Build and publish:
hatch build hatch publish # requires PyPI credentials
TypeScript/Node SDK
Update
sdks/typescript/package.json
with the new version.Build and publish:
cd sdks/typescript npm run build npm publish --access public
Go SDK
Tag a release matching the module version, e.g.
git tag sdks/go/vX.Y.Z
and push the tag.Users will fetch the new version via
go get
.
After publishing, update the CHANGELOG and create a GitHub release.
Last updated
Was this helpful?