cratesio-mcp

MCP server for querying crates.io - the Rust package registry

cratesio-mcp

Crates.io Documentation CI License MSRV

MCP server for querying crates.io -- the Rust package registry. Built with tower-mcp.

Gives your AI agent access to crate search, documentation, dependency analysis, download stats, and security auditing -- everything it needs to make informed decisions about Rust dependencies.

Quick start

Hosted (no install)

A public instance is running at https://cratesio-mcp.fly.dev/. Add to your MCP client config:

{
  "mcpServers": {
    "cratesio-mcp": {
      "type": "http",
      "url": "https://cratesio-mcp.fly.dev/"
    }
  }
}

Install from crates.io

cargo install cratesio-mcp

Build from source

git clone https://github.com/joshrotenberg/cratesio-mcp
cd cratesio-mcp
cargo install --path .

Docker

docker run -p 3000:3000 ghcr.io/joshrotenberg/cratesio-mcp:latest

MCP client configuration

Claude Code (stdio)

{
  "mcpServers": {
    "cratesio-mcp": {
      "command": "cratesio-mcp"
    }
  }
}

Claude Code (HTTP, local or remote)

{
  "mcpServers": {
    "cratesio-mcp": {
      "type": "http",
      "url": "http://localhost:3000/"
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "cratesio-mcp": {
      "command": "cratesio-mcp"
    }
  }
}

What's included

Tools (23)

ToolDescription
search_cratesSearch for crates by name or keywords
get_crate_infoDetailed crate metadata (description, links, stats)
get_crate_versionsVersion history with release dates and download counts
get_crate_versionDetailed metadata for a specific version
get_crate_readmeREADME content for a crate version
get_crate_featuresFeature flags and their sub-feature activations
get_crate_docsBrowse documentation structure from docs.rs
get_doc_itemFull docs for a specific item (fn, struct, trait)
search_docsSearch for items by name within a crate's docs
get_dependenciesDependencies for a specific version
get_reverse_dependenciesCrates that depend on a given crate
audit_dependenciesCheck deps against OSV.dev vulnerability database
get_downloadsDownload statistics and trends
get_version_downloadsDaily download stats for a specific version
get_crate_authorsAuthors listed in Cargo.toml
get_ownersCrate owners and maintainers
get_userUser profile by GitHub username
get_user_statsTotal download stats for a user's crates
get_summarycrates.io global statistics
get_categoriesBrowse crates.io categories
get_categoryDetails for a specific category
get_keywordsBrowse crates.io keywords
get_keywordDetails for a specific keyword

Resources (4)

ResourceDescription
crates://{name}/infoCrate metadata
crates://{name}/readmeCrate README content
crates://{name}/docsDocumentation structure
Recent searchesRecent search queries and results

Prompts (2)

PromptDescription
analyze_crateGuided comprehensive crate analysis
compare_cratesCompare multiple crates side by side

Transports

  • stdio (default) -- for Claude Desktop, Claude Code, and other MCP clients
  • HTTP/SSE -- Streamable HTTP with server-sent events (MCP 2025-11-25 spec)
# stdio (default)
cratesio-mcp

# HTTP
cratesio-mcp --transport http --port 3000

The HTTP transport includes a tower middleware stack: timeout, rate limiting, bulkhead concurrency control, optional response caching, and structured tracing.

Library usage

The crate also exposes a typed async client for the crates.io API:

use std::time::Duration;
use cratesio_mcp::client::{CratesIoClient, CratesQuery, Sort};

let client = CratesIoClient::new("my-app", Duration::from_secs(1))?;

// Search for crates
let query = CratesQuery::builder()
    .search("tower")
    .sort(Sort::Downloads)
    .build();
let results = client.crates(query).await?;

// Get crate details
let info = client.get_crate("tower-mcp").await?;

The client covers 46 endpoints across crates, versions, owners, categories, keywords, users, teams, tokens, publishing, and trusted publishing.

License

MIT OR Apache-2.0

Máy chủ liên quan

NotebookLM Web Importer

Nhập trang web và video YouTube vào NotebookLM chỉ với một cú nhấp. Được tin dùng bởi hơn 200.000 người dùng.

Cài đặt tiện ích Chrome