Skip to main content
Glama
Timwal78

ScriptDocs MCP Server

Get Package README

docs_get_readme
Read-onlyIdempotent

Fetch the verbatim README for npm, PyPI, or Cargo packages directly from the registry, with optional version selection and source URL for verification.

Instructions

Fetch the real README/description for a package, straight from the registry — not a summary, not a paraphrase, not AI-generated.

For npm this reads the registry's stored README, falling back to the published README.md file via jsDelivr if the registry copy is missing (verbatim markdown). For PyPI this reads the exact long_description shown on the package's PyPI page (verbatim). For Cargo (Rust/crates.io) this reads crates.io's stored README — note: crates.io only stores a pre-rendered HTML version, not the original markdown source, so this is that HTML converted to plain text, not byte-for-byte source.

Args:

  • ecosystem ('npm' | 'pypi' | 'cargo')

  • package_name (string): exact package name

  • version (string, optional): specific version; defaults to latest

Returns JSON with: readme (truncated to 12000 chars if longer — check 'truncated'), truncated (boolean), source_url (exact URL fetched, for verification), fetched_at.

Error Handling:

  • Returns "Error: ..." if the package or its README cannot be found — never fabricates content to fill the gap.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
versionNoSpecific version to fetch. Defaults to the latest published version if omitted.
ecosystemYesWhich package registry to query: 'npm', 'pypi', or 'cargo'.
package_nameYesExact package name as published on the registry.
Behavior5/5

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

Annotations declare read-only, idempotent, open-world, and non-destructive, and the description adds substantial behavioral detail beyond that: verbatim markdown for npm/PyPI, HTML-converted-to-text for Cargo, truncation at 12000 chars with a 'truncated' flag, fallback via jsDelivr, and explicit 'never fabricates content' error handling. This is rich, non-obvious context that fully informs the agent of side effects and output nuances.

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

Conciseness4/5

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

The description is well-structured with clear paragraphs: purpose, ecosystem nuances, args, return format, error handling. It is longer than average, but the complexity of three registries and important caveats (truncation, HTML conversion, fallback) justifies the length. The 'Args' section is somewhat redundant with the schema, preventing a perfect score, but every other sentence earns its place.

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

Completeness5/5

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

There is no output schema, so the description must document return values, and it does: 'readme', 'truncated', 'source_url', 'fetched_at'. It also covers truncation length, error behavior, fallback logic, and per-ecosystem differences. Combined with rich annotations and a small param count, this description is exceptionally complete for the tool's complexity.

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

Parameters3/5

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

The input schema already provides 100% coverage of all three parameters, including defaults ('version' description notes it defaults to latest) and enums. The description's 'Args' section largely repeats this schema information without adding new parameter-level semantics. The ecosystem-specific differences (e.g., Cargo returns HTML-converted-to-text) are more behavioral than parameter semantics, so the description adds only marginal value beyond the schema.

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 opens with a highly specific verb and resource: 'Fetch the real README/description for a package, straight from the registry.' It immediately distinguishes itself from sibling tools by emphasizing 'not a summary, not a paraphrase, not AI-generated,' which contrasts with docs_search_docs or docs_get_package_info. The per-ecosystem details further clarify scope.

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

Usage Guidelines4/5

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

The description clearly indicates when to use this tool: when you need the exact, unmodified README rather than a synthesized or summarized description. It explains the behavior across npm, PyPI, and Cargo, giving context on what 'real' means per ecosystem. However, it does not explicitly name sibling tools or state when not to use this tool, so it lacks explicit exclusions/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/Timwal78/scriptdocs-mcp-server'

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