About Cratesio MCP
Cratesio MCP is an MCP server in the Science category: mCP server for querying crates.io - the Rust package registry.
Install
git clone https://github.com/joshrotenberg/cratesio-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (29)
audit_dependenciesCheck deps against OSV.dev vulnerability database
Parameters not published.
compare_cratesCompare two or more crates side by side (downloads, versions, dependencies, freshness)
Parameters not published.
get_alternativesFind and compare alternative crates based on keywords, downloads, and recent activity
Parameters not published.
get_categoriesBrowse crates.io categories
Parameters not published.
get_categoryDetails for a specific category
Parameters not published.
get_crate_authorsAuthors listed in Cargo.toml
Parameters not published.
get_crate_changelogChangelog content from a crate's GitHub repository, optionally filtered to a version
Parameters not published.
get_crate_docsBrowse documentation structure from docs.rs
Parameters not published.
get_crate_featuresFeature flags and their sub-feature activations
Parameters not published.
get_crate_healthComprehensive health report (maturity, adoption, maintenance, security, dependency weight)
Parameters not published.
Show all 29 tools
get_crate_infoDetailed crate metadata (description, links, stats)
Parameters not published.
get_crate_readmeREADME content for a crate version
Parameters not published.
get_crate_versionDetailed metadata for a specific version
Parameters not published.
get_crate_versionsVersion history with release dates and download counts
Parameters not published.
get_dependenciesDependencies for a specific version
Parameters not published.
get_dependency_treeFull transitive dependency tree with configurable depth and deduplication markers
Parameters not published.
get_doc_itemFull docs for a specific item (fn, struct, trait)
Parameters not published.
get_downloadsDownload statistics and trends
Parameters not published.
get_keywordDetails for a specific keyword
Parameters not published.
get_keywordsBrowse crates.io keywords
Parameters not published.
get_ownersCrate owners and maintainers
Parameters not published.
get_release_timelineVersion-over-version registry-metadata diff: feature changes, MSRV bumps, yanked status, release cadence
Parameters not published.
get_reverse_dependenciesCrates that depend on a given crate
Parameters not published.
get_summarycrates.io global statistics
Parameters not published.
get_userUser profile by GitHub username
Parameters not published.
get_user_statsTotal download stats for a user's crates
Parameters not published.
get_version_downloadsDaily download stats for a specific version
Parameters not published.
search_cratesSearch for crates by name or keywords
Parameters not published.
search_docsSearch for items by name within a crate's docs
Parameters not published.
Ask AI
Ask AI about Cratesio MCP
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
cratesio-mcp
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)
| Tool | Description |
|---|---|
search_crates |
Search for crates by name or keywords |
get_crate_info |
Detailed crate metadata (description, links, stats) |
get_crate_versions |
Version history with release dates and download counts |
get_crate_version |
Detailed metadata for a specific version |
get_crate_readme |
README content for a crate version |
get_crate_features |
Feature flags and their sub-feature activations |
get_crate_docs |
Browse documentation structure from docs.rs |
get_doc_item |
Full docs for a specific item (fn, struct, trait) |
search_docs |
Search for items by name within a crate's docs |
get_dependencies |
Dependencies for a specific version |
get_reverse_dependencies |
Crates that depend on a given crate |
audit_dependencies |
Check deps against OSV.dev vulnerability database |
get_downloads |
Download statistics and trends |
get_version_downloads |
Daily download stats for a specific version |
get_crate_authors |
Authors listed in Cargo.toml |
get_owners |
Crate owners and maintainers |
get_user |
User profile by GitHub username |
get_user_stats |
Total download stats for a user's crates |
get_summary |
crates.io global statistics |
get_categories |
Browse crates.io categories |
get_category |
Details for a specific category |
get_keywords |
Browse crates.io keywords |
get_keyword |
Details for a specific keyword |
Resources (4)
| Resource | Description |
|---|---|
crates://{name}/info |
Crate metadata |
crates://{name}/readme |
Crate README content |
crates://{name}/docs |
Documentation structure |
| Recent searches | Recent search queries and results |
Prompts (2)
| Prompt | Description |
|---|---|
analyze_crate |
Guided comprehensive crate analysis |
compare_crates |
Compare 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
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.