AGZ Rust MCP

io.github.agzyazilim由 GitHub 账号 agzyazilim 发布v0.5.0更新于 Oct 31, 2026

Rust development tools for offline context, compiler diagnostics, focused tests and Cargo execution.

发布方自己的服务:rust.wiki

已验证STDIO仅桌面知识与记忆开发者工具

概览

AI 生成的概览

本地 stdio MCP 服务器,为助手提供 Rust 开发工具:离线工作区检查、编译器诊断、定向测试、Cargo 运行与代码导航。

可以做什么
  • 离线检查 Cargo 工作区:梳理包、目标、特性与依赖,搜索源码并读取限定范围的片段
  • 运行有界的 Cargo check、Clippy、测试、文档或完整校验,并分析重建行为
  • 按精确名称发现、编译并运行选定测试,执行二进制或示例并传入字面参数
  • 核对 crate 版本与精确版本文档,解析 API 签名或对代码片段做类型检查
  • 借助 Rust Analyzer 导航代码:符号、定义、引用、实现、悬停信息与调用层级
  • 在服务器自有暂存区生成不写入工作区的重命名、重构、变更、修复与工作包
适用场景
适合助手处理 Rust 项目时使用:需要可靠的项目上下文、最新的编译器反馈、有针对性的测试运行或代码导航,而不必粘贴大量文件。库、命令行工具、服务和多包 Cargo 工作区都适用。
运行要求
作为本地进程运行;可通过 cargo install agz-rust-mcp(需 Rust 1.88.0 或更高版本)或 Linux x86_64、macOS arm64、Windows x86_64 的预编译包安装。仅限桌面端。未声明认证或环境变量;可用可选的 AGZ_RUST_MCP_* 变量和 --config TOML 文件调整行为。项目目录需为工作目录,或以绝对路径 dir 或 --allow-root 指定。
安装前请注意
并非操作系统沙箱:构建脚本、测试、过程宏、本地 rustdoc 以及启用的 Rust Analyzer 工作区代码都以服务器用户的权限执行,需要该隔离边界时应使用容器或系统沙箱。测试和二进制会以项目代码的常规副作用运行。本地遥测默认开启。服务器不修改工作区源码,但编辑包只生成而不应用。

安装

在 SourceWeft 中

  1. 打开 控制台中的 AGZ Rust MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

AGZ Rust MCP

[CI] [crates.io] [License: MIT]

English | Türkçe

An AGZ Yazılım product. agz-rust-mcp is a standalone MCP server with stdio and Streamable HTTP transports for general-purpose Rust development grounded in Cargo and rustc. Discover a project offline, collect focused source context and compiler diagnostics, select individual tests, and run binaries/examples. Exact-version dependency docs, Rust Analyzer navigation and write-free change/refactor packages support deeper work.

Everyday workflow

The same workflow works with a library, CLI, service or multi-package Cargo workspace. No framework-specific project structure or particular MCP client is required.

NeedTool call
Map packages, declared targets, features and dependencies without compilingworkspace(action="inspect")
Locate code and read bounded, numbered sourceworkspace(action="search", query="parse_record"), then workspace(action="read", path="src/lib.rs", line=1, lineCount=80)
Get fresh compiler diagnosticscheck(target="check", options={"packages":["my_crate"]})
Discover actual test namestest(action="list", packages=["my_crate"])
Run one library test by its full nametest(action="run", packages=["my_crate"], cargoTarget={"kind":"lib"}, filter="tests::parses_record", exact=true)
Compile tests without executing themtest(action="compile", packages=["my_crate"])
Execute a binary or examplerun(package="my_crate", target={"kind":"example","name":"demo"}, args=["input.json"], timeoutMs=30000)
Resolve an unfamiliar dependency APIdocs with its exact version; api for deeper resolution/probing

Pass an absolute dir for the active project when the client starts elsewhere. A function is exercised through a test or executable example. run is a typed Cargo runner; program arguments remain literal, including spaces and shell metacharacters. Tests and applications execute project code with its ordinary side effects. Empty selections return NO_TESTS, not a passing test verdict.

Use agz-rust-mcp --toolset core for a compact catalog of six everyday tools: workspace, check, test, run, docs, and crate_lookup. The default --toolset full preserves every existing tool plus the new additions. Individual --tools-<name> false switches can disable tools further. See the full reference for limits and result states.

Install

bash
# installer script (Linux x86_64): download install.sh and SHA256SUMS from the# latest release, verify the script, then run itbash install.sh
# crates.io (requires Rust 1.91.0 or newer)cargo install agz-rust-mcp --lockedagz-rust-mcp --version

Prebuilt .tar.gz archives with .sha256 files are available for Linux x86_64, macOS arm64, and Windows x86_64. Releases up to 0.2.0 use the legacy agz-rust-coder-* asset names; from 0.3.0 onward the names are agz-rust-mcp-*.

Step-by-step instructions, per-OS notes, checksum verification, and troubleshooting: docs/install.md · Türkçe.

MCP Client Setup

Use the installed executable with any client supporting local stdio MCP. Supply these fields in the client's own server configuration format:

json
{  "command": "agz-rust-mcp",  "args": ["--allow-root", "/absolute/path/to/project"],  "env": {"AGZ_RUST_MCP_SERVER__TOOLSET": "core"}}

For a client that uses HTTP, start the same binary as a local Streamable HTTP server and configure http://127.0.0.1:8787/mcp as its MCP URL:

bash
agz-rust-mcp --transport http --http-bind 127.0.0.1:8787 \  --allow-root /absolute/path/to/project

The HTTP listener is loopback-only. It supports the session lifecycle used by 2025-11-25 clients and the stateless 2026-07-28 protocol. Client-side display prefixes, configuration file locations, and automatic prompt selection belong to the client; the server depends on none of them. The canonical working directory is the default authorized root; client-provided roots can only narrow configured access. See connection details.

Built-in skills

Four offline skills ship inside the executable: agz-rust-workflow, agz-rust-repair, agz-rust-refactor, and agz-rust-performance. They are available immediately through all three standard MCP interfaces:

  • Tools: workspace(action="skills") lists the catalog; workspace(action="skills", skill="agz-rust-workflow") reads a skill.
  • Prompts: prompts/list and prompts/get expose workflow, repair, refactor, and performance.
  • Resources: resources/read exposes agz-rust-mcp://skills/<skill-name>.

A client that only exposes tools can use the complete skill content. Version and SHA-256 metadata identify the exact bundled instructions. No skill installation or separate MCP is required. Optional agz-rust-mcp skills export --dir <new-directory> creates files for clients that also support filesystem skills; existing files are never overwritten. See built-in skills.

Documentation

Read the documentation in this order:

  1. Install and client setup - every install method and client configuration.
  2. Tool and configuration reference - tools, actions, result semantics, and all configuration keys.
  3. Architecture - process model, protocol lifecycle, and authority boundaries.
  4. Validation and benchmark protocol - smokes, gates, and evidence.
  5. Security policy and Contributing.

The bilingual index with the full reading path is docs/README.md / docs/README.tr.md.

Identity

ContractValue
Crate, binary, serveragz-rust-mcp
MCP Registryio.github.agzyazilim/rust-mcp
Source version0.6.0
First release0.1.0
Release tagagz-rust-mcp-v<version>
Rust edition / MSRV2024 / 1.91.0
Rust MCP SDKrmcp 3.8.0
Default / discovered protocol2025-11-25 / 2026-07-28

MCP package ownership marker: mcp-name: io.github.agzyazilim/rust-mcp.

Tools

These are the exact server tool names. Use the names returned by tools/list; a client may display its own namespace or prefix.

MCP toolDefaultPurpose
workspaceenabledRead built-in skills, inspect manifests/lockfiles, search source and read excerpts offline.
testenabledDiscover, compile or run selected tests with exact names, ignored-test controls and bounded execution.
runenabledRun an exact Cargo binary/example with literal arguments, a deadline and bounded output.
checkenabledRun bounded Cargo check, Clippy, tests, docs, or the full gate.
profileenabledAnalyze observed Cargo rebuild behavior and compare bounded build evidence without claiming unmeasured speedups.
auditenabledScan Rust source for bounded static findings.
crate_lookupenabledVerify a crate and optional exact version on crates.io.
docsenabledResolve exact-version docs from cache, local sources, or docs.rs.
contextenabledPrepare, expand, or delta a revision-bound semantic context capsule with per-item reasons.
apienabledResolve an API signature from bounded analyzer evidence or type-check a candidate snippet in an isolated copy of the workspace configuration.
explainenabledExplain macro expansion provenance, trait obligations, or cfg enablement.
verifyenabledPlan or run a bounded feature, target, toolchain, and stage matrix.
symbolenabledRead Rust Analyzer hover data for one symbol.
referencesenabledFind bounded references.
definitionenabledFind the selected definition.
symbolsenabledList symbols in one Rust file.
implementationsenabledFind implementations.
hierarchyenabledTrace a bounded call hierarchy.
renameenabledProduce a verified rename edit package without applying it.
refactorenabledProduce a verified refactor edit package without applying it.
changeenabledCreate, stage, migrate, and validate a revision-bound changeset in server-owned scratch without writing the workspace.
repairenabledAnalyze, try, compare, and minimize compiler-driven repair candidates for a failing change revision without writing the workspace.
workenabledDrive a typed intent through change/validate with explicit gates and budgets, returning honest gate evidence or a bounded single-use handoff.

Every tool returns deterministic structured data plus an equivalent bounded text fallback. External data stays under untrustedData. Expected domain outcomes such as compiler failure, missing crates, or unavailable docs are typed results; invalid input, authorization failure, resource exhaustion, and unavailable semantic infrastructure are protocol errors.

Configuration

Precedence is CLI, then AGZ_RUST_MCP_* environment variables, then the explicit --config TOML file, then defaults. Environment keys use __ between sections, for example AGZ_RUST_MCP_GATE__HARD_TIMEOUT_MS=600000.

KeyDefaultMeaning
server.transportstdioMCP transport: stdio or http.
server.http_bind127.0.0.1:8787Loopback address for the HTTP /mcp endpoint.
server.allow_rootscanonical CWDWorkspace read/command boundary.
server.allow_dependency_rootsemptyExplicit external path-dependency roots.
gate.hard_timeout_ms600000Cargo operation deadline.
gate.scopeshadowValidation target: workspace, shadow, or affected.
gate.cacheautoCache policy: auto, project, or isolated.
rust_analyzer.workspace_codedenyReject RA startup unless workspace code is disabled.
docs.fallbackautoDocumentation source policy.
profile.max_report_bytes4194304Bounded read/store cap for one Cargo timing artifact.
profile.max_runs4Fresh Cargo runs available to one profile call.
profile.compare_samples3Required samples per side before any speed claim.
limits.tool_output_bytes49152Maximum serialized tool result size.
change.max_bytes268435456Maximum captured candidate bytes per changeset.
repair.max_candidates4Candidates one repair action may try.
repair.max_compiles4Cargo validations one repair action may run.
repair.wall_time_ms120000Wall-clock budget for one repair action.
repair.minimize_max_candidates32Compile-evaluated reduction attempts one repair(action=minimize) may try.
repair.minimize_max_compiles16Cargo runs one repair(action=minimize) may execute, including reproduction and export verification.
work.max_candidates4Host candidate revisions one work item may stage.
work.max_compiles12Gate validations one work item may run.
work.wall_time_ms600000Wall-time budget for one work item.
telemetry.enabledtrueBounded local activity records without prompts or source.

profile evidence is bounded: the latest 64 records stay in memory, and persisted timing artifacts under the server-owned profile-evidence directory are pruned after 24 hours or beyond 64 files. The profile result reports this retention policy, so expired evidence is visible instead of silently reused.

Run agz-rust-mcp --help for every CLI field. The complete behavior and default table is in docs/tools.md.

Security

The server does not modify workspace source, but it is not an operating-system sandbox. Cargo build scripts, tests, procedural macros, local rustdoc, and opted-in Rust Analyzer workspace code execute with the server user's authority. Use a container or OS sandbox when that boundary is required. Workspace, dependency, cache, lease, journal, docs, and telemetry paths are canonicalized, bounded, and fail closed, and stdout is reserved for MCP framing. Report vulnerabilities privately as described in SECURITY.md.

Links

License

MIT, Copyright (c) 2026 Ugur Murat Altintas.

来源:README.md,提交 a74794b

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:该软件包类型无法在沙箱中运行。

版本历史

1
  1. v0.5.0最新Oct 31, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Rust 集成