Thank you for your interest in contributing! Please read this guide before submitting a pull request.
git clone https://github.com/mapbox/mcp-server.git
cd mcp-server
npm install
npm testA Mapbox access token with appropriate scopes is required for most tools. Set MAPBOX_ACCESS_TOKEN in your environment.
- Keep PRs small and focused on a single change
- Always update
CHANGELOG.md— add your entry under theUnreleasedsection with the PR number - All CI checks must pass before merging (lint, format, tests)
- At least one maintainer approval is required
We do not accept PRs that add listings, badges, or manifest files for third-party directories, registries, or "discovery" services (e.g. unsolicited README.md badges linking to an external site, or files like beacon.json with no functional purpose in this project). These will be closed without review.
| Document | Contents |
|---|---|
| docs/engineering_standards.md | Complete code quality, testing, documentation, and collaboration standards |
| CLAUDE.md | Patterns and workflows for contributors using Claude Code |
| AGENTS.md | Guide for other AI coding assistants (Cursor, Continue, Aider, etc.) |
| .github/copilot-instructions.md | GitHub Copilot guidelines |
# Interactive (requires a TTY):
npx plop create-tool
# Non-interactive (for AI agents and CI):
npx plop create-tool "ToolName" "tool_name_tool"npm test # All tests must pass
npm run lint # ESLint (auto-fixed by pre-commit hook)
npm run format # Prettier (auto-fixed by pre-commit hook)## Unreleased
### Features Added
- **My Feature**: Description of what changed and why (#PR_NUMBER)- Never commit API keys or tokens — use environment variables
- Run
npm auditif you add or update dependencies