CRAN Package README MCP Server - Secure MCP Server by ALMC Security 2025

CRAN Package README MCP Server

View on GitHub

CRAN Package README MCP Server

licensenpm versionnpm downloadsGitHub stars

An MCP (Model Context Protocol) server that enables AI assistants to fetch comprehensive information about CRAN (Comprehensive R Archive Network) packages, including README content, package metadata, and search functionality.

Features

  • Package README Retrieval: Fetch formatted README content with usage examples from R/CRAN packages hosted on CRAN repository
  • Package Information: Get comprehensive package metadata including dependencies, versions, maintainer information, and documentation
  • Package Search: Search CRAN repository with filtering by category, topic, and popularity
  • Smart Caching: Intelligent caching system to optimize API usage and improve response times
  • GitHub Integration: Seamless integration with GitHub API for enhanced README fetching from package repositories
  • Error Handling: Robust error handling with automatic retry logic and fallback strategies

MCP Client Configuration

Add this server to your MCP client configuration:

{
  "mcpServers": {
    "cran-package-readme": {
      "command": "npx",
      "args": ["cran-package-readme-mcp-server"],
      "env": {
        "GITHUB_TOKEN": "your_github_token_here"
      }
    }
  }
}

Note: The GITHUB_TOKEN is optional but recommended for higher API rate limits when fetching README content from GitHub.

Available Tools

get_package_readme

Retrieves comprehensive README content and usage examples for CRAN packages.

Parameters:

{
  "package_name": "ggplot2",
  "version": "latest",
  "include_examples": true
}
  • package_name (string, required): CRAN package name (e.g., "ggplot2", "dplyr")
  • version (string, optional): Specific package version or "latest" (default: "latest")
  • include_examples (boolean, optional): Include usage examples and code snippets (default: true)

Returns: Formatted README content with installation instructions, usage examples, and function documentation.

get_package_info

Fetches detailed package metadata, dependencies, and maintainer information from CRAN.

Parameters:

{
  "package_name": "dplyr",
  "include_dependencies": true,
  "include_dev_dependencies": false
}
  • package_name (string, required): CRAN package name
  • include_dependencies (boolean, optional): Include runtime dependencies (default: true)
  • include_dev_dependencies (boolean, optional): Include development dependencies (default: false)

Returns: Package metadata including version info, maintainer details, license, download stats, and dependency information.

search_packages

Searches CRAN repository for packages with filtering capabilities.

Parameters:

{
  "query": "machine learning",
  "limit": 20,
  "category": "MachineLearning"
}
  • query (string, required): Search terms (package name, description, keywords)
  • limit (number, optional): Maximum number of results to return (default: 20, max: 100)
  • category (string, optional): Filter by package category (Graphics, Statistics, MachineLearning, etc.)

Returns: List of matching packages with names, descriptions, maintainers, and popularity metrics.

Error Handling

The server handles common error scenarios gracefully:

  • Package not found: Returns clear error messages with similar package suggestions
  • Rate limiting: Implements automatic retry with exponential backoff
  • Network timeouts: Configurable timeout with retry logic
  • Invalid package names: Validates package name format and provides guidance
  • CRAN mirror failures: Fallback strategies when primary CRAN mirror is unavailable

License

MIT

Related in Development - Secure MCP Servers

ServerSummaryActions
MermaidGenerate mermaid diagram and chart with AI MCP dynamically. Also you can use mcp-server-chart to gen...View
Random NumberEssential random number generation utilities from the Python standard library, including pseudorando...View
OpenFGAManage and query your OpenFGA server using AI agents and tooling. Unlock the power of OpenFGA and Au...View
Simple MCP ServerA simple Model Context Protocol (MCP) server implementation using TypeScript and the official MCP SD...View
d2-mcpA Model Context Protocol (MCP) server for working with D2: Declarative Diagramming, enabling seamles...View
JinniJinni is a tool to efficiently provide Large Language Models the context of your projects. It gives...View