rtfmbro-mcp

by marckrenn

90 stars
450 downloads
Not rated
GitHub

About

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

Details

Author
marckrenn
GitHub stars
90
Downloads
450
Categories
Other, Knowledge Base

- Fetches docs from the exact git tag matching your package version
- Supports Python (PyPI) and Node.js (npm) fully
- SHA‑based caching with automatic invalidation on new commits
- Four primary MCP tools for reading docs and searching repos
- Agent integration via project‑root instruction files (Copilot, Claude, Cursor)
- Zero setup for developers—just add the server config and start fetching

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name rtfmbro-mcp
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Add the server to your MCP configuration using the HTTP URL https://rtfmbro.smolosoft.dev/mcp/. Optionally copy the provided meta-instruction file for your agent—e.g., .github/copilot-instructions.md for GitHub Copilot or CLAUDE.md for Claude Code—to your project root. Once configured, AI agents can call four tools: get_readme, get_documentation_tree, read_files, and search_github_repositories.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

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

McpServers

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

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

| Ecosystem | Registry | Status |
|-----------|----------|--------|
| Python | PyPI | ✅ Full Support |
| Node.js | npm | ✅ Full Support |
| Swift | SPM | 🚧 Alpha |
| GitHub | Direct | ⚠️ 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:

| Tool | Purpose | Parameters | Returns |
|------|---------|------------|---------|
| get_readme | Fetches and returns the README file for a specific package version | package, version, ecosystem | README content as string |
| get_documentation_tree | Generates a comprehensive folder structure of all documentation files | package, version, ecosystem | Tree structure as string |
| read_files | Reads specific documentation files with optional line range slicing | package, version, ecosystem, requests[] | Dictionary mapping paths to content |
| search_github_repositories | Searches for GitHub repositories using the GitHub Search API | query, sort, order, per_page | Formatted 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:

- GitHub Copilot: Copy .github/copilot-instructions.md to your project
- Claude Code: Copy CLAUDE.md to your project root
- Cursor: Copy .cursor/rules to your project root
- Other agents: Adapt the instructions from either file above to your agent's format

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

- [x] 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

- [ ] Rust (crates.io) - [ ] Go (pkg.go.dev) - [ ] Java/Kotlin (Maven Central) - [ ] C#/.NET (NuGet) - [ ] Ruby (RubyGems)

Source code hosting and repository support:

- [x] 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

|Aspect|context7|rtfmbro| |------|--------|-------| | Actuality | Scrapes 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 docs | Theoretically 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 strategy | Uses 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 Experience | Requires explicitly mention of context7 in every prompt. | Operates via defined rules/instructions, auto-selecting appropriate package name/version from lock file ("set and forget"). | | Support | Language/ecosystem independent. | Currently language/ecosystem-specific; planned additional languages/ecosystems and language-independent fallback mechanism soon. |
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.