Contributing
Thank you for your interest in contributing to the Falcon MCP Server! This guide covers the contribution workflow, commit standards, and how to get help.
How to Contribute
Section titled “How to Contribute”-
Find an issue in the GitHub Issues section, or identify a feature to add.
-
Fork the repository to your GitHub account.
-
Clone your fork:
Terminal window git clone https://github.com/your-username/falcon-mcp.gitcd falcon-mcp -
Create a branch:
Terminal window git checkout -b my-feature-branch -
Install dependencies:
Terminal window uv sync --all-extrassource .venv/bin/activate -
Make your changes following the coding standards below.
-
Run linting:
Import sorting uv run ruff check . --select IGeneral linting uv run ruff check .Auto-fix issues uv run ruff check --fix . -
Commit using Conventional Commits (see below).
-
Push and open a pull request to the upstream repository.
Conventional Commits
Section titled “Conventional Commits”This project uses Conventional Commits for automated releases and semantic versioning.
Format: <type>[optional scope]: <description>
Common types:
feat:— new feature (triggers minor version bump)fix:— bug fix (triggers patch version bump)docs:— documentation changesrefactor:— code changes that neither fix bugs nor add featurestest:— adding or correcting testschore:— build process or tooling changes
Examples with scopes (preferred):
git commit -m "feat(modules/cloud): add list kubernetes clusters tool"git commit -m "fix(modules/detections): resolve authentication error"git commit -m "docs(contributing): update conventional commits guidance"git commit -m "feat(resources): add FQL guide for hosts module"Breaking changes:
git commit -m "feat!: change API authentication method"# or include BREAKING CHANGE: in the footerStaying in Sync
Section titled “Staying in Sync”Rebase frequently to keep your fork current with upstream:
git fetch upstreamgit rebase upstream/mainSee GitHub’s fork syncing docs for details.
Running Tests
Section titled “Running Tests”Unit tests:
uv run pytestIntegration tests (requires API credentials):
uv run pytest --run-integration tests/integration/E2E tests (requires API credentials + OpenAI key):
uv run pytest --run-e2e tests/e2e/Getting Help
Section titled “Getting Help”- Open an issue in the project repository
- For broader CrowdStrike community questions, open a community discussion