Skip to main content
Glama
aserper

RTFD (Read The F*****g Docs)

by aserper

crates_metadata

Retrieve comprehensive metadata for Rust crates from crates.io, including version details, documentation links, repository URLs, and license information to support development decisions.

Instructions

        Get detailed metadata for a specific Rust crate from crates.io.

        USE THIS WHEN: You need comprehensive information about a specific Rust crate.

        RETURNS: Detailed crate metadata including version, URLs, downloads, and license.
        Does NOT include full documentation content.

        The response includes:
        - Crate name, version, description
        - Documentation URL (docs.rs) - can be passed to WebFetch for full API docs
        - Repository URL (usually GitHub) - can be used with GitHub provider
        - Homepage, license, categories, keywords
        - Download statistics, creation/update dates
        - Minimum Rust version required

        Args:
            crate: Crate name (e.g., "serde", "tokio", "actix-web")

        Returns:
            JSON with comprehensive crate metadata

        Example: crates_metadata("serde") → Returns metadata with docs.rs link and GitHub repo
        

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
crateYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: it returns metadata but 'Does NOT include full documentation content,' clarifies what the response includes (e.g., URLs for docs.rs and GitHub), and mentions that outputs can be passed to other tools (WebFetch, GitHub provider). However, it doesn't cover potential errors, rate limits, or authentication needs, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (purpose, usage guidelines, returns, details, args, returns, example). Each sentence adds value, such as clarifying exclusions ('Does NOT include full documentation content') and providing actionable context ('can be passed to WebFetch'). There is no redundant or wasted text, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description does a good job covering the tool's behavior, parameters, and return details. It lists what the response includes and provides an example. However, it doesn't explicitly mention error cases (e.g., invalid crate names) or potential limitations (e.g., network failures), which would enhance completeness for a tool with no structured output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides a dedicated 'Args' section explaining the single parameter 'crate' with examples ('serde', 'tokio', 'actix-web'), adding meaning beyond the schema's minimal title. The description fully documents the parameter's purpose and format, effectively compensating for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get detailed metadata for a specific Rust crate from crates.io.' It specifies the verb ('Get'), resource ('Rust crate'), and source ('crates.io'), distinguishing it from sibling tools like npm_metadata or pypi_metadata that target other ecosystems. The description is specific and avoids tautology.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes an explicit 'USE THIS WHEN' section: 'You need comprehensive information about a specific Rust crate.' It distinguishes this tool from search_crates (which likely returns multiple results) and fetch_*_docs tools (which retrieve documentation content). The guidance is clear and provides context for when to use this tool versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aserper/RTFD'

If you have feedback or need assistance with the MCP directory API, please join our Discord server