cargo-mcp
Cargo MCP
Documentation
Cargo MCP Server
A Model Context Protocol (MCP) server that provides tools for running Cargo commands. This server allows AI agents to interact with Rust projects through Cargo, enabling automated builds, tests, documentation generation, and more.
Features
The server provides the following Cargo tools:
- `cargo_build` - Build a Rust project with Cargo
- `cargo_test` - Run tests for a Rust project
- `cargo_run` - Run a Rust binary
- `cargo_check` - Check a project for errors without building
- `cargo_clippy` - Run Clippy linter
- `cargo_fmt` - Format Rust code using rustfmt
- `cargo_doc` - Generate documentation
- `cargo_clean` - Clean build artifacts
- `cargo_tree` - Display dependency tree
- `cargo_update` - Update dependencies in Cargo.lock
- `cargo_bench` - Run benchmarks
Installation
Prerequisites
- Python 3.8 or higher
- Rust and Cargo installed on your system
- Access to install Python packages
Install from source
1. Clone this repository:
git clone
cd cargo-mcp2. Install the package:
pip install -e .Usage
With Claude Desktop
Add the server to your `claude_desktop_config.json`:
MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
Windows: `%APPDATA%/Claude/claude_desktop_config.json`
{
"mcpServers": {
"cargo-mcp": {
"command": "cargo-mcp"
}
}
}With other MCP clients
The server can be used with any MCP-compatible client. Start the server using:
cargo-mcpTesting with MCP Inspector
You can test the server using the MCP Inspector:
npx @modelcontextprotocol/inspector cargo-mcpTool Documentation
cargo_build
Build a Rust project with Cargo.
Parameters:
- `release` (boolean, optional): Build in release mode with optimizations
- `features` (array, optional): List of features to activate
- `target` (string, optional): Build for the given target triple
- `workspace_path` (string, optional): Path to the workspace root (auto-detected if not provided)
cargo_test
Run tests for a Rust project.
Parameters:
- `test_name` (string, optional): Name of specific test to run
- `release` (boolean, optional): Run tests in release mode
- `features` (array, optional): List of features to activate
- `workspace_path` (string, optional): Path to the workspace root
cargo_run
Run a Rust binary.
Parameters:
- `bin_name` (string, optional): Name of the binary to run (for multi-binary projects)
- `args` (array, optional): Arguments to pass to the binary
- `release` (boolean, optional): Run in release mode
- `features` (array, optional): List of features to activate
- `workspace_path` (string, optional): Path to the workspace root
cargo_check
Check a Rust project for errors without building it.
Parameters:
- `features` (array, optional): List of features to activate
- `workspace_path` (string, optional): Path to the workspace root
cargo_clippy
Run Clippy linter on a Rust project.
Parameters:
- `fix` (boolean, optional): Automatically apply suggested fixes
- `features` (array, optional): List of features to activate
- `workspace_path` (string, optional): Path to the workspace root
cargo_fmt
Format Rust code using rustfmt.
Parameters:
- `check` (boolean, optional): Check if files are formatted without modifying them
- `workspace_path` (string, optional): Path to the workspace root
cargo_doc
Generate documentation for a Rust project.
Parameters:
- `open` (boolean, optional): Open documentation in browser after generation
- `no_deps` (boolean, optional): Don't build documentation for dependencies
- `workspace_path` (string, optional): Path to the workspace root
cargo_clean
Clean build artifacts.
Parameters:
- `workspace_path` (string, optional): Path to the workspace root
cargo_tree
Display dependency tree.
Parameters:
- `package` (string, optional): Package to display tree for
- `features` (array, optional): List of features to activate
- `workspace_path` (string, optional): Path to the workspace root
cargo_update
Update dependencies in Cargo.lock.
Parameters:
- `package` (string, optional): Specific package to update
- `workspace_path` (string, optional): Path to the workspace root
cargo_bench
Run benchmarks.
Parameters:
- `bench_name` (string, optional): Name of specific benchmark to run
- `features` (array, optional): List of features to activate
- `workspace_path` (string, optional): Path to the workspace root
Project Structure Detection
The server automatically detects Rust projects by searching for `Cargo.toml` files. It walks up the directory tree from the current working directory to find the nearest `Cargo.toml` file and uses that directory as the workspace root.
You can override this behavior by providing the `workspace_path` parameter to any tool.
Error Handling
The server provides detailed error messages and logs for troubleshooting:
- Checks if Cargo is installed and available in PATH
- Validates that Cargo.toml exists in the target directory
- Captures both stdout and stderr from Cargo commands
- Provides detailed command execution information
Development
Setup
1. Clone the repository
2. Install development dependencies:
pip install -e ".[dev]"Testing
Run tests using pytest:
pytestCode Formatting
Format code using black:
black src/Lint code using ruff:
ruff check src/License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Support
For issues and questions:
- Create an issue on GitHub
- Check the MCP documentation for general MCP questions
Frequently asked questions
What is cargo-mcp?
cargo-mcp is Cargo MCP
How do I install cargo-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is cargo-mcp open source?
Yes — it is hosted on GitHub at https://github.com/seemethere/cargo-mcp and has 2 stars.
Related MCP tools
Cognee is the open-source AI memory platform for agents. Give your AI agents persistent long-term memory across sessions with a self-hosted knowledge graph engine.
Automate browser based workflows with AI
Hindsight: Agent Memory That Learns
A privacy-first app that strips AI watermarks from content you own.
Agent framework and applications built upon Qwen>=3.0, featuring Function Calling, MCP, Code Interpreter, RAG, Chrome extension, etc.
The power of Claude Code / GeminiCLI / CodexCLI + [Gemini / OpenAI / OpenRouter / Azure / Grok / Ollama / Custom Model / All Of The Above] working as one.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP