AGZ Rust Coder

io.github.ugur-murat-alt由 GitHub 账号 ugur-murat-alt 发布v0.2.0更新于 Oct 24, 2026

Bounded, source-write-free Rust correctness tools grounded in Cargo and rustc output.

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

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

概览

AI 生成的概览

一个本地 stdio MCP 服务器,为助手提供基于 Cargo、rustc 与 Rust Analyzer 的有界 Rust 正确性工具,且不写入工作区源码。

可以做什么
运行有界的 Cargo check、Clippy、测试、文档或完整门禁,并用 profile 与 verify 矩阵比较构建证据,同时审计源码静态问题、解释宏展开、trait 约束与 cfg 启用情况。在 crates.io 上核对 crate 及精确版本,并从缓存、本地源码或 docs.rs 解析对应版本文档。借助 Rust Analyzer 导航代码:悬停信息、定义、引用、实现、符号、调用层级与 API 签名。生成经过验证的重命名与重构编辑包,并在服务器自有暂存区中创建绑定修订的变更集或编译器驱动的修复候选,而不写入工作区。以显式门禁和预算驱动类型化意图完成变更与验证。
适用场景
适合助手处理 Rust 项目、需要基于编译器和分析器的实证而非猜测时使用:检查构建、诊断失败、了解不熟悉的 crate,或准备供人工审阅的重命名与重构。适合希望获得验证结果和编辑包、但自己动手应用改动的开发者。
运行要求
以本地二进制通过 stdio 运行;可用 Cargo 从 crates.io 安装(需 Rust 1.88.0 或更新版本),或使用 Linux x86_64、macOS arm64、Windows x86_64 的预编译包。验证需要 Rust 工具链与 Cargo,查询 crates.io 和 docs.rs 需要网络访问。默认仅授权当前目录,可用 --allow-root 添加根目录。可通过 AGZ_RUST_MCP_* 环境变量和 --config TOML 文件调整行为。
安装前请注意
它不修改工作区源码,但不是操作系统沙箱:Cargo 构建脚本、测试、过程宏、本地 rustdoc 以及启用的 Rust Analyzer 工作区代码会以服务器用户的权限执行,若需要该隔离边界请使用容器或系统沙箱。Cargo 操作可能耗时较长,受超时与编译预算限制。本地遥测默认开启,记录有界活动但不含提示词或源码。重命名与重构工具只生成编辑包,不会自动应用。

安装

在 SourceWeft 中

  1. 打开 控制台中的 AGZ Rust Coder,将其添加到工作区。
  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.2.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

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

  • 近 30 天内可连通25 分

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

  • 已声明认证方式10 分

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

  • 已列出工具15 分

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

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

其他 Rust 集成