Rtfmbro

Rtfmbro

Official
marckrenn

Fetches exact version-specific documentation for packages directly from GitHub repositories. Ensures AI assistants and developers get accurate, up-to-date docs that match the exact package versions being used.

Stay ahead with instantly up-to-date, version-specific docs for any package. rtfmbro is an MCP server that delivers precise, real-time documentation from GitHub at the exact version your project uses. It supports popular ecosystems like Python and Node.js, features smart caching, full context extraction, and tight integration with coding agents. AI assistants can access READMEs, documentation trees, and search repositories, ensuring coding help is always accurate and current. Perfect for developers or AI tools needing the right docs, right when you need them—without stale data or version mismatches.

772,037 views8Remote

What it does

  • Download README files for specific package versions
  • Browse documentation folder structures
  • Read multiple documentation files at once
  • Search GitHub repositories for packages

Best for

AI coding assistants needing current package docsDevelopers working with legacy or specific package versionsTeams maintaining projects with pinned dependencies
Version-precise documentation matchingSmart caching with SHA-based updatesSupports Python PyPI and Node.js npm

About Rtfmbro

Rtfmbro is an official MCP server published by marckrenn that provides AI assistants with tools and capabilities via the Model Context Protocol. Rtfmbro is an MCP server for config management tools—get real-time, version-specific docs from GitHub for Python, Node.j It is categorized under developer tools. This server exposes 4 tools that AI clients can invoke during conversations and coding sessions.

How to install

You can install Rtfmbro in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server supports remote connections over HTTP, so no local installation is required.

License

Rtfmbro is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

Tools (4)

get_readme

Download and return the README for a package at a specific semantic version (PEP 440) and ecosystem. Args: package: Name of the package (e.g., `flask`, `lodash`) version: The version of the package (e.g., `==1.0.0`). If provided use PEP 440 version specifiers. Don't resolve the version yourself, use a literal. If no version is specified, use '*' ecosystem: The ecosystem of the package, e.g.: - `pypi`: Python Package Index - `npm`: Node Package Manager - `spm`: Swift Package Manager - `gh`: GitHub (fallback for unsupported languages, package name must be in 'owner/repo' format) Returns: The README content as a string

get_documentation_tree

List the documentation folder tree for a package at a specific semantic version (PEP 440) and ecosystem. Args: package: Name of the package (e.g., `flask`, `lodash`) version: The version of the package (e.g., `==1.0.0`). Use PEP 440 version specifier or leave blank to list all versions. ecosystem: The ecosystem of the package, e.g.: - `pypi`: Python Package Index - `npm`: Node Package Manager - `spm`: Swift Package Manager - `gh`: GitHub (fallback for unsupported languages, package name must be in 'owner/repo' format) Returns: A textual representation of the documentation folder structure and available files

read_files

Read content of multiple files from the documentation directory for a given package, version, and ecosystem. Use this after fetching the docs with `get_documentation_tree`. Args: package: Name of the package (e.g., `flask`, `lodash`) version: Version specifier (e.g., `==1.0.0`), or '*' to use latest available. ecosystem: The ecosystem of the package (e.g., `pypi: Python`, `npm: Node.js`, `spm: Swift Package Manager`, `gh: GitHub fallback for unsupported languages`). requests: List of dicts, each with: - `relative_path`: Path to the file relative to the docs root, as provided in the documentation tree. - `line_from` (optional): Starting line number (1-indexed, defaults to 1). - `line_to` (optional): Ending line number (inclusive, defaults to last line). Returns: Dictionary mapping relative paths to file contents or error messages

search_github_repositories

Search for GitHub repositories using the GitHub Search API. Args: query: Search query string. Can include qualifiers like 'language:python', 'topic:web', 'user:octocat', etc. Examples: - "machine learning language:python" - "web framework topic:javascript" - "user:microsoft azure" - "org:openai gpt" sort: Sort repositories by 'stars', 'forks', 'help-wanted-issues', 'updated'. Default: 'stars' order: Sort order 'asc' or 'desc'. Default: 'desc' per_page: Number of results to return (1-100). Default: 10 Returns: Formatted search results with repository information including name, description, stars, forks, language, and URL for each repository.

rtfmbro-mcp

rtfmbro provides always-up-to-date, version-specific package documentation as context for coding agents. An alternative to context7.

https://github.com/user-attachments/assets/dbe0b3b4-a42c-4e91-8bcd-a94d430ef0b8

Demonstration of rtfmbro in use, fetching a specific version (3.1.1) of Flask's readme and docs.

Overview

rtfmbro is a Model Context Protocol (MCP) server that provides real-time, version-aware documentation fetching for packages across multiple ecosystems. It bridges the gap between AI agents and accurate, up-to-date package documentation by fetching docs directly from GitHub repositories at the exact version your project uses.

Supported Ecosystems

EcosystemRegistryStatus
PythonPyPI✅ Full Support
Node.jsnpm✅ Full Support
SwiftSPM🚧 Alpha
GitHubDirect⚠️ Fallback

Why rtfmbro?

The Problem

  • Stale Documentation: AI models often rely on outdated training data about packages
  • Missing Context: Source code in node_modules etc. lacks high-level documentation, browsing it is usually token-consuming and inefficient
  • Version Mismatches: Generic documentation doesn't match your specific package version, especially for legacy projects or brand new packages

The Solution

rtfmbro tries to solve these issues by:

  1. Version-Precise Fetching: Retrieves documentation from the exact git tag/commit that matches your lockfile
  2. Comprehensive Coverage: Extracts all documentation files (.md, .mdx, .txt, .rst, .html) from the repository
  3. Intelligent Caching: SHA-based currency checking ensures docs stay fresh without unnecessary re-fetching
  4. Agent Integration: Seamlessly integrates with AI coding assistants via the Model Context Protocol
  5. Great DX: Zero seting up for developers, just add the server to your MCP configuration, instructions and start fetching docs

MCP Tools

The server exposes four primary tools to AI agents:

ToolPurposeParametersReturns
get_readmeFetches and returns the README file for a specific package versionpackage, version, ecosystemREADME content as string
get_documentation_treeGenerates a comprehensive folder structure of all documentation filespackage, version, ecosystemTree structure as string
read_filesReads specific documentation files with optional line range slicingpackage, version, ecosystem, requests[]Dictionary mapping paths to content
search_github_repositoriesSearches for GitHub repositories using the GitHub Search APIquery, sort, order, per_pageFormatted repository search results

Installation & Setup

Quick Start

Claude Code

claude mcp add-json rtfmbro '{ "type": "http",  "url": "https://rtfmbro.smolosoft.dev/mcp/" }'

Claude Desktop / VS Code / etc.

Add the remote server to your MCP configuration:

{
  "rtfmbro": {
    "type": "http", 
    "url": "https://rtfmbro.smolosoft.dev/mcp/"
  }
}

Cursor

Install MCP Server

Agent Integration

To truly integrate rtfmbro with your AI coding agent of choice, copy the appropriate meta-instruction file to your project:

How It Works

Documentation Workflow

  1. Registry Lookup: Queries the package registry (PyPI, npm, etc.) for metadata
  2. GitHub Discovery: Extracts the GitHub repository URL from package metadata
  3. Version Resolution: Fetches available git tags and matches them against your semantic version
  4. Smart Fetching: Clones the repository at the exact matched tag/commit
  5. Content Filtering: Extracts only documentation files, removing source code and build artifacts
  6. Caching & Currency: Stores results with SHA-based currency checking for efficient re-access

Caching Strategy

  • SHA-Based Validation: Compares current repository commit SHA with cached version
  • Automatic Invalidation: Re-fetches documentation when new commits are detected
  • Persistent Storage: Maintains local cache to avoid redundant GitHub API calls
  • Metadata Preservation: Stores documentation tree structure for fast browsing

Prerequisites

  • Package must be published to a supported registry (PyPI, npm)
  • Package metadata must contain a valid GitHub repository link
  • Repository must use git tags for version management
  • Documentation files must be present in the repository (not just generated sites)

Roadmap

Near Term

  • Ecosystem independent fallback: Implement a fallback mechanism for unsupported ecosystems
  • Provide rtfmbro source code: Open source the server codebase
  • Public docker image: Create a public Docker image for easy deployment
  • Private repo support: Allow authenticated access to private repositories
  • Add Tests: Implement unit and integration tests for core functionality
  • Enhanced Python Support: Include pydocs and docstring extraction
  • Search Capabilities: Search across documentation corpus

Future Ecosystems / Languages / Registries

Source code hosting and repository support:

  • GitHub: Support for GitHub repositories
  • Gitlab: Support for GitLab repositories
  • Bitbucket: Support for Bitbucket repositories
  • Launchpad: Support for Launchpad repositories

Known Issues

  • Some packages may have documentation in separate standalone repos
  • Large repositories may take a bit of time to clone and process initially

Similar / Additive Projects

  • mcp-package-docs: Another MCP server for package documentation, focusing on documentation extraction, LSP servers, etc. May be a great supplement to rtfmbro.
  • rust-docs-mcp-server: MCP server for Rust documentation, focused on Rust-specific features and documentation formats.
  • mcp-ragdocs: MCP server for RAG (Retrieval-Augmented Generation) documentation, aimed at improving the documentation experience for AI models.
  • godoc-mcp: MCP server for Go documentation, providing access to Go package documentation via the Model Context Protocol.
  • context7: Alternative to rtfmbro

Differences between context7 and rtfmbro

Aspectcontext7rtfmbro
ActualityScrapes documentation ahead-of-time at intransparent intervals or upon user trigger. As of writing, the "latest" Next.js docs are already 2 days old.Fetches documentation just-in-time, ensuring it's always up-to-date.
Version-specific docsTheoretically allows scraping older versions (useful for legacy or longtime projects), but the process is complicated, limiting practical availability effectively to latest versions.Fetches older documentation just-in-time, and always remains current, identical to latest docs.
Search strategyUses either A) optionally token-limited RAG search to filter/preprocess docs which can be hit-or-miss, or B) dumps all content into LLM's context, resulting in excessive token-use.Employs agentic discovery (as used by Claude Code itself)
Developer ExperienceRequires explicitly mention of context7 in every prompt.Operates via defined rules/instructions, auto-selecting appropriate package name/version from lock file ("set and forget").
SupportLanguage/ecosystem independent.Currently language/ecosystem-specific; planned additional languages/ecosystems and language-independent fallback mechanism soon.

Alternatives

Related Skills

Browse all skills
ui-design-system

UI design system toolkit for Senior UI Designer including design token generation, component documentation, responsive design calculations, and developer handoff tools. Use for creating design systems, maintaining visual consistency, and facilitating design-dev collaboration.

6
cli-builder

Guide for building TypeScript CLIs with Bun. Use when creating command-line tools, adding subcommands to existing CLIs, or building developer tooling. Covers argument parsing, subcommand patterns, output formatting, and distribution.

2
openai-knowledge

Use when working with the OpenAI API (Responses API) or OpenAI platform features (tools, streaming, Realtime API, auth, models, rate limits, MCP) and you need authoritative, up-to-date documentation (schemas, examples, limits, edge cases). Prefer the OpenAI Developer Documentation MCP server tools when available; otherwise guide the user to enable `openaiDeveloperDocs`.

0
api-documenter

Master API documentation with OpenAPI 3.1, AI-powered tools, and modern developer experience practices. Create interactive docs, generate SDKs, and build comprehensive developer portals. Use PROACTIVELY for API documentation or developer portal creation.

0
ydc-ai-sdk-integration

Integrate Vercel AI SDK applications with You.com tools (web search, AI agent, content extraction). Use when developer mentions AI SDK, Vercel AI SDK, generateText, streamText, or You.com integration with AI SDK.

0
mcp-developer

Use when building MCP servers or clients that connect AI systems with external tools and data sources. Invoke for MCP protocol compliance, TypeScript/Python SDKs, resource providers, tool functions.

0