-
Notifications
You must be signed in to change notification settings - Fork 676
Description
Summary
Request to add "registryType": "cargo" (or "crates") support to the MCP Registry, enabling Rust-based MCP servers published on crates.io to be listed.
Context
The registry currently supports 5 package types: npm, pypi, nuget, oci, and mcpb. There is no path for Rust crates published on crates.io.
Meanwhile, crates.io has ~1,800 MCP-related packages — a significant and growing ecosystem with no direct route to the official registry.
Proposed server.json
{
"packages": [
{
"registryType": "cargo",
"identifier": "rust-faf-mcp",
"version": "0.2.2",
"transport": {
"type": "stdio"
}
}
]
}Verification approach
Similar to npm/PyPI — the registry could validate against the crates.io API:
GET https://crates.io/api/v1/crates/{name}/{version}
This returns package metadata including repository URL, which can be cross-referenced with server.json fields.
For mcpName verification, Cargo.toml supports [package.metadata] for custom fields:
[package.metadata]
mcpName = "io.github.username/server-name"Use case
I maintain 5 MCP servers across npm (3), PyPI (1), and crates.io (1). The Rust server (rust-faf-mcp) is the only one that can't be listed via its native package registry. Currently the workaround is MCPB binary packaging, but native crates.io support would be cleaner and consistent with how npm/PyPI are handled.
Ecosystem size
- ~1,800 MCP-related crates on crates.io
- Major Rust MCP SDKs:
rmcp(official, 1.1+),rust-mcp-sdk(87k downloads) - Rust MCP servers growing fast — same trajectory npm MCP servers had 6 months ago