🧪 MCP Tooling in Rust: Reducing Installation Friction
还没有人认领这个 Issue。
评估
调研方向
Start by reviewing the issue's comparison of cargo install, cargo-binstall, cargo-run-bin, and pkgx, then read the linked pkgx and Cargo-related references. A complete result would define a concrete Rust-first installation and execution pattern for MCP servers, but the issue does not identify files, tests, or an implementation entry point.
由索引模型根据 Issue 内容生成。
描述
MCP servers are soooo hot right now. https://modelcontextprotocol.io/introduction
When moving between different hosts, having a shared vscode profile having "self installing" mcp servers in project specific settings in mcp_settings.json is a dream come true. Currently afaik Rust has no mechanism to install + execute using cargo.
Rust is a wonderful language for MCP "vibe code" & agentic AI code generation because if rustc compiles, the executable is devoid of a huge class of memory overflow & other types of errors the compiler guarantees won't be present, as well as advanced linting. Fast & meaningful linting or access to the editors LSP is super important when LLMs are in play. MCP plays a critical role in the IDE by connecting the AI agent to the LLM using an instruction protocol.
Despite MCP being a language-neutral specification, the Rust MCP SDK isn't stable (or even useful afaik), whereas the Python and NodeJS libraries at github.com/modelcontextprotocol are more mature right now. I'm sure the Rust SDK will be awesome when it's stable.
However, there's another issue I want to address: how to do low-friction installation of MCP tools in Rust/cargo.
By frictionless, I mean:
You paste the JSON into the
mcpServerinmcp_settings.jsonand the provider simply turns green & starts working. ✅
🧰 Existing Approaches
- Node.js has
npx&bunx - Python has
uvx,pipx
Both ecosystems support downloading + installing + running MCP servers.
Most Python projects still specify
pip, and only a few suggest first installinguv, then usinguvx.
Node.js npx and bunx are the easiest — but both often run into problems with outdated NodeJS runtimes in environments like VSCode extension hosts.
Trying to debug that? High friction.
🦀 What About Rust?
I've always found cargo quite novel — Rust is one of the few languages with its own packaging system. I realize they are separate, but also at this point quite inseparable.
In this case, MCP is still new, and perhaps there’s opportunity to enhance cargo. That’s the discussion I’d like to start.
I think the best approach for Rust is probably to build on top of pkgx, though several options scratch the itch in different ways — none of them fully support the MCP use case yet.
🔍 Tool Comparison
| Tool | Category | Crates.io | GitHub | Installs to | Auto-run | Comments |
|---|---|---|---|---|---|---|
cargo install |
Built-in Cargo | ✅ | ✅ (SO ref) | ~/.cargo/bin |
❌ | Default method; installs CLI but doesn’t auto-execute. |
cargo-binstall |
Cargo subcommand | ✅ | ✅ (GitHub) | ~/.cargo/bin |
❌ | Prefers prebuilt binaries for fast install; falls back to compiling. |
cargo-run-bin |
Cargo subcommand | ✅ | ✅ (GitHub) | Workspace cache | ✅ (via alias) | Runs tools in Cargo.toml w/ locked versions. Not for ad-hoc use. |
pkgx |
Standalone CLI | 🚫 | ✅ (published binaries) | Transient (no install) | ✅ | Cleanest UX so far; own registry/pantry. |
💭 Final Thoughts
Does anybody have thoughts on how to reduce the MCP server friction?
Should we unify around a standard Rust-first install + run pattern for MCP tooling?
Drop your thoughts below ⬇️
- 主要语言
- Rust
- 星标
- 9.9k
- 派生
- 1.4k
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
我们还没有检查这个项目的环境配置文件。先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
pkgxdev/pkgx 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 45/100
-
难度 4/5 3-5 天 新手友好度 35/100
-
`pkgx --update`未关闭
难度 4/5 3-5 天 新手友好度 52/100
-
难度 4/5 3-5 天 新手友好度 25/100
-
难度 4/5 3-5 天 新手友好度 35/100
相似的 Issue
-
`categorize_command` has no `uv` arm, so every `rtk uv …` row counts as `other` in the ecosystem mix未关闭area:api bug good first issue priority:low
难度 1/5 1 小时以内 新手友好度 92/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 92/100
维护者通常 1 天内回复
-
area/cli kind/bug
难度 2/5 1-3 小时 新手友好度 90/100
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 72/100
-
good first issue open-endedness: low type: new feature
难度 2/5 1-3 小时 新手友好度 72/100