Vaiz/rust-mcp-server
If you are the rightful owner of rust-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Rust MCP Server is a bridge between a large language model (LLM) and a local Rust development environment, enhancing productivity by automating tasks and managing projects.
Rust MCP Server
rust-mcp-server is a server that implements the Model Context Protocol (MCP). It acts as a bridge between a large language model (LLM) like GitHub Copilot and your local Rust development environment.
By exposing local tools and project context to the LLM, rust-mcp-server allows the model to perform actions on your behalf, such as building, testing, and analyzing your Rust code.
Table of Contents
- Why use
rust-mcp-server? - Features
- Command Line Arguments
- Configuring with VS Code
- GitHub Copilot Coding Agent Integration
Why use rust-mcp-server?
Integrating an LLM with your local development environment via rust-mcp-server can significantly enhance your productivity. The LLM can:
- Automate common tasks: Run
cargo check,cargo build,cargo test, andcargo fmtdirectly. - Manage dependencies: Add new dependencies with
cargo add, find unused dependencies withcargo-machete - Apply Rust best practices: Use
cargo clippyto lint your code and catch common mistakes, ensuring adherence to Rust guidelines. The LLM can also leverage other tools to help you write idiomatic and robust Rust code.
Essentially, it turns your AI assistant into an active participant in your development workflow, capable of executing commands and helping you manage your project.
Features
rust-mcp-server exposes a comprehensive set of Rust development tools to the LLM:
Core Cargo Commands
cargo-build: Compile your packagecargo-check: Analyze the current package and report errors, but don't build itcargo-test: Run the testscargo-doc: Build documentation for your package (recommended with--no-depsand specific--packagefor faster builds)cargo-fmt: Format the code according to the project's stylecargo-clippy: Check for common mistakes and improve code quality using Clippycargo-clean: Clean the target directory
Project Management
cargo-new: Create a new cargo packagecargo-generate_lockfile: Generate or update the Cargo.lock filecargo-package: Assemble the local package into a distributable tarballcargo-list: List installed cargo commands
Dependency Management
cargo-add: Add dependencies to yourCargo.tomlcargo-remove: Remove dependencies from yourCargo.tomlcargo-update: Update dependencies to newer versionscargo-metadata: Output project metadata in machine-readable format (JSON)cargo-search: Search for packages in the registrycargo-info: Display information about a package
Code Quality & Security
cargo-deny-check: Check for security advisories, license compliance, and banned cratescargo-deny-init: Create a cargo-deny config from a templatecargo-deny-list: List all licenses and the crates that use themcargo-deny-install: Install cargo-deny toolcargo-machete: Find unused dependenciescargo-machete-install: Install cargo-machete toolcargo-hack: Advanced testing and feature validation with powerset testing, version compatibility checks, and CI optimizationcargo-hack-install: Install cargo-hack tool
Rust Toolchain Management
rustc-explain: Provide detailed explanations of Rust compiler error codesrustup-show: Show the active and installed toolchainsrustup-toolchain-add: Install or update toolchainsrustup-update: Update Rust toolchains and rustup
For a complete list with detailed descriptions and parameters, see .
Command Line Arguments
The rust-mcp-server supports several command line arguments to customize its behavior:
--log-level <LOG_LEVEL>
Sets the logging level for the server
Options: error, warn, info, debug, trace
Default: info
Example: --log-level debug
--log-file <LOG_FILE>
Specifies a file path for logging output. If not provided, logs are written to stderr
Default: None (logs to stderr)
Example: --log-file /var/log/rust-mcp-server.log
--disable-tool <TOOL_NAME>
Disables a specific tool by name. Can be specified multiple times to disable multiple tools
Default: None (all tools enabled)
Example: --disable-tool cargo-test --disable-tool cargo-clippy
--workspace <WORKSPACE>
Specifies the Rust project workspace path for the server to operate in
Default: Current directory
Example: --workspace /path/to/rust/project
--generate-docs <OUTPUT_FILE>
Generates markdown documentation file and exits without starting the server
Default: None
Example: --generate-docs tools.md
--no-recommendations
Disables experimental recommendations for agents in tool responses
Default: Recommendations are enabled
-h, --help
Displays help information about available command line arguments
-V, --version
Displays the version information of the server
Configuring with VS Code
To make GitHub Copilot in VS Code use this MCP server, you need to update your VS Code settings.
-
Install
rust-mcp-server
cargo install rust-mcp-server -
Enable MCP server in VS Code settings -
-
Add new MCP server into
.vscode/mcp.json.{ "servers": { "rust-mcp-server": { "type": "stdio", "command": "C:/path/to/your/rust-mcp-server.exe", "args": ["--log-file", "log/folder/rust-mcp-server.log"], } } } -
Start the server
More information you can find by this link.
GitHub Copilot Coding Agent Integration
The Rust MCP Server can be integrated with GitHub Copilot's coding agent to create a powerful autonomous development workflow. For detailed setup instructions for using the Rust MCP Server with GitHub Copilot's coding agent, see .