search_cratesLABSCO SUMMARY
The dependency questions you would otherwise answer across six browser tabs, answered where you are working.
Search and metadata are the easy part. What earns the connection are the derived tools: a health report spanning maturity, maintenance and dependency weight, a side-by-side comparison, alternatives found from keywords and recent activity, and a release timeline that surfaces MSRV bumps and yanked versions. Running the OSV audit in the same place means the security question and the choice happen in one sitting, and since it reads only public data there is nothing to authorise.
What it is
A Rust server over crates.io and docs.rs. It searches crates, reads their metadata, features and documentation, walks dependencies in both directions, audits them against OSV.dev, and compares candidates side by side.
What you get
- search_crates by name or keyword, then get_crate_info, get_crate_versions with release dates and download counts, get_crate_version, get_crate_readme, and get_crate_features showing which sub-features each flag activates
- docs.rs without leaving the conversation: get_crate_docs for the structure, search_docs to find an item by name, get_doc_item for the full documentation on one function, struct or trait
- get_dependencies for a version, get_reverse_dependencies for what depends on it, and get_dependency_tree for the full transitive tree with configurable depth and deduplication markers
- audit_dependencies checks the dependencies against the OSV.dev vulnerability database
- get_crate_health reports across maturity, adoption, maintenance, security and dependency weight; compare_crates puts several crates side by side on downloads, versions, dependencies and freshness; get_alternatives finds candidates from keywords, downloads and recent activity
- get_crate_changelog pulls the changelog out of the crate's GitHub repository, optionally filtered to one version, and get_release_timeline diffs registry metadata version over version — feature changes, MSRV bumps, yanked status and release cadence
- Download statistics overall and day by day for a version, plus owners, authors, user profiles and totals, categories, keywords and the crates.io global summary
- Every successful call returns readable Markdown in content and typed JSON in structuredContent, with the matching JSON Schema advertised as outputSchema at discovery
- Six prompts ship with it — analyze_crate, compare_crates_analysis, stack_review, evaluate_dependencies, recommend_crates and migration_guide — and three resources expose a crate's info, README and docs structure
Requirements
Nothing, if you use the public instance: point an HTTP client at https://cratesio-mcp.fly.dev/. To run your own, cargo install cratesio-mcp and launch it over stdio, or use the ghcr.io/joshrotenberg/cratesio-mcp image; --transport http --port 3000 serves Streamable HTTP instead, behind a middleware stack with timeouts, rate limiting, concurrency control and optional response caching. No credentials of any kind — it reads only public crates.io and docs.rs data.
Setup effort
One command — cargo install cratesio-mcp
USE CASES
Choosing between two crates that do the same thing
Compare them on downloads, versions, dependencies and freshness, read the health report for each, and see what else exists that you have not considered.
Checking a dependency tree for known vulnerabilities
Expand the transitive tree to the depth you care about, then audit the result against OSV.dev.
Working out how to call something
Search inside the crate's documentation for the item by name, then read its full docs without opening docs.rs.
Understanding what a feature flag actually turns on
get_crate_features lists the flags and the sub-features each one activates, which the README usually does not.
Deciding whether an upgrade is safe
The release timeline shows feature changes, MSRV bumps and yanked releases between versions; the changelog gives the author's own account.
Judging whether a crate is still maintained
Release cadence from the version history, download trend over time, and who owns it now.
29 tools
Listed in project docs. Your client may show a different list.
get_crate_infoget_crate_versionsget_crate_versionget_crate_readmeget_crate_featuresget_crate_docsget_doc_itemsearch_docsget_dependenciesget_reverse_dependenciesaudit_dependenciesget_downloadsget_version_downloadsget_crate_authorsget_ownersget_userget_user_statsget_summaryget_categoriesget_categoryget_keywordsget_keywordcompare_cratesget_dependency_treeget_crate_healthget_alternativesget_crate_changelogget_release_timelineBEFORE YOU INSTALL
What to know first
Tools you get
29 tools named in the project's documentation.
Where it runs
Of the 4 documented setups, 3 run the server on your machine and 1 connects to a hosted endpoint.
INSTALLATION
Connect your client
Server setup
cargo
cargo install cratesio-mcpHosted endpoint
https://cratesio-mcp.fly.dev/Add this hosted endpoint to your MCP client.
MCP Clients
Any MCP client — remote
{
"mcpServers": {
"cratesio-mcp": {
"type": "http",
"url": "https://cratesio-mcp.fly.dev/"
}
}
}Claude Code — stdio, Claude Desktop — stdio
{
"mcpServers": {
"cratesio-mcp": {
"command": "cratesio-mcp"
}
}
}Claude Code — local HTTP
{
"mcpServers": {
"cratesio-mcp": {
"type": "http",
"url": "http://localhost:3000/"
}
}
}