Skip to content

Support crates.io as a package registry type #1055

@Wolfe-Jam

Description

@Wolfe-Jam

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

Metadata

Metadata

Labels

help wantedExtra attention is needed

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions