This is a Model Context Protocol (MCP) server that fetches and returns documentation for Rust crates providing essential context for LLM's when working with Rust code.
- Fetches documentation for any Rust crate available on docs.rs
- Strips HTML and formats the content for readability
- Limits response size to prevent overwhelming the client
- Uses the latest MCP SDK (v1.6.1)
# Clone the repository
git https://github.com/0xKoda/mcp-rust-docs.git
cd mcp-rust-docs
# Install dependencies
npm install
- Node.js
- npm
# Start the server directly
npm start
Add the following to your Claude Desktop configuration file (claude_desktop_config.json
):
{
"mcpServers": {
"rust-docs": {
"command": "node",
"args": ["/absolute/path/to/index.js"]
}
}
}
Replace /absolute/path/to/index.js
with the absolute path to the index.js file in this repository.
Once the server is running and configured with your AI assistant, you can ask questions like:
- "Look up the documentation for the 'tokio' crate"
- "What features does the 'serde' crate provide?"
- "Show me the documentation for 'ratatui'"
- "Can you explain the main modules in the 'axum' crate?"
The AI will use the lookup_crate_docs
tool to fetch and display the relevant documentation.
You can test this server using the MCP Inspector:
npx @modelcontextprotocol/inspector
Then select the "Connect to a local server" option and follow the prompts.
This server implements a single MCP tool called lookup_crate_docs
that:
- Takes a Rust crate name as input (optional, defaults to 'tokio' if not provided)
- Fetches the documentation from docs.rs
- Converts the HTML to plain text using the html-to-text library
- Truncates the content if it exceeds 8000 characters
- Returns the formatted documentation in the proper MCP response format
This server uses the MCP SDK with carefully structured import paths. If you're modifying the code, be aware that:
- The SDK requires importing from specific paths (e.g.,
@modelcontextprotocol/sdk/server/mcp.js
) - We use the high-level McpServer API rather than the low-level tools
- The tool definition uses Zod for parameter validation
- Console output is redirected to stderr to avoid breaking the MCP protocol
- The tool returns properly formatted MCP response objects
Contributions are welcome! Please feel free to submit a Pull Request.
MIT