Cargo MCP
Interact with Rust projects using Cargo commands like build, test, and run.
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 Cargocargo_test- Run tests for a Rust projectcargo_run- Run a Rust binarycargo_check- Check a project for errors without buildingcargo_clippy- Run Clippy lintercargo_fmt- Format Rust code using rustfmtcargo_doc- Generate documentationcargo_clean- Clean build artifactscargo_tree- Display dependency treecargo_update- Update dependencies in Cargo.lockcargo_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
- Clone this repository:
git clone <repository-url>
cd cargo-mcp
- 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-mcp
Testing with MCP Inspector
You can test the server using the MCP Inspector:
npx @modelcontextprotocol/inspector cargo-mcp
Tool Documentation
cargo_build
Build a Rust project with Cargo.
Parameters:
release(boolean, optional): Build in release mode with optimizationsfeatures(array, optional): List of features to activatetarget(string, optional): Build for the given target tripleworkspace_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 runrelease(boolean, optional): Run tests in release modefeatures(array, optional): List of features to activateworkspace_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 binaryrelease(boolean, optional): Run in release modefeatures(array, optional): List of features to activateworkspace_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 activateworkspace_path(string, optional): Path to the workspace root
cargo_clippy
Run Clippy linter on a Rust project.
Parameters:
fix(boolean, optional): Automatically apply suggested fixesfeatures(array, optional): List of features to activateworkspace_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 themworkspace_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 generationno_deps(boolean, optional): Don't build documentation for dependenciesworkspace_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 forfeatures(array, optional): List of features to activateworkspace_path(string, optional): Path to the workspace root
cargo_update
Update dependencies in Cargo.lock.
Parameters:
package(string, optional): Specific package to updateworkspace_path(string, optional): Path to the workspace root
cargo_bench
Run benchmarks.
Parameters:
bench_name(string, optional): Name of specific benchmark to runfeatures(array, optional): List of features to activateworkspace_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
- Clone the repository
- Install development dependencies:
pip install -e ".[dev]"
Testing
Run tests using pytest:
pytest
Code 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
Servidores relacionados
Alpha Vantage MCP Server
patrocinadorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
HED MCP Server
An MCP server for Hierarchical Event Descriptors (HED) that automates sidecar creation and annotation for BIDS event files using LLMs.
BlueMouse
The "Prefrontal Cortex" for LLMs. A local, data-driven logic gate that interviews AI to prevent hallucinations.
Code Knowledge Tool
A knowledge management tool for code repositories using vector embeddings, powered by a local Ollama service.
Roblox Studio MCP Server
An AI-powered MCP server for Roblox Studio development, featuring advanced NLP, semantic analysis, and multi-turn conversation capabilities.
Engram
Prevents regression by providing Blast Radius data to AI based on your git history
Mobile Next
A platform-agnostic server for scalable mobile automation and development across iOS, Android, simulators, and emulators.
REI Crypto MCP Server - Beta
A FastMCP implementation of the in-house MCP servers used by Units of the Rei Network.
Seiro MCP
Seiro MCP is an MCP server and Skills that enables autonomous build workflows for visionOS (Swift) apps using Codex CLI / App.
MCP Jupyter Complete
A server for Jupyter notebook manipulation with position-based operations and VS Code integration.
NestJS MCP Server Module
A NestJS module for building MCP servers to expose tools and resources for AI, with support for multiple transport types.