Skip to main content

A MCP server for fetching HuggingFace daily papers

Project description

HuggingFace Daily Papers MCP Server

A MCP (Model Context Protocol) server for fetching HuggingFace daily papers.

Features

  • Fetch today's, yesterday's or specific date HuggingFace papers
  • Provides paper title, authors, abstract, tags, votes, and submitted by info
  • Includes paper links and PDF download links
  • Supports MCP tools and resource interfaces
  • ArXiv integration for complete author lists
  • Complete error handling and logging
  • Comprehensive test coverage

Installation & Usage

Option 1: Direct execution with uvx (Recommended)

Install and run directly using uvx:

uvx huggingface-daily-paper-mcp

This will automatically install the package and its dependencies, then start the MCP server.

Option 2: Local development

For local development, clone the repository and install dependencies:

git clone https://github.com/huangxinping/huggingface-daily-paper-mcp.git
cd huggingface-daily-paper-mcp
uv sync

Local usage commands

Run as MCP Server (for development):

python main.py

Test Scraper Function:

python scraper.py

Run Tests:

uv run -m pytest test_mcp_server.py -v

Build Package:

uv build

MCP Interface

Tools

  1. get_papers_by_date

    • Description: Get HuggingFace papers for a specific date
    • Parameters: date (YYYY-MM-DD format)
  2. get_today_papers

    • Description: Get today's HuggingFace papers
    • Parameters: None
  3. get_yesterday_papers

    • Description: Get yesterday's HuggingFace papers
    • Parameters: None

Resources

  1. papers://today

    • Today's papers JSON data
  2. papers://yesterday

    • Yesterday's papers JSON data

Project Structure

huggingface-daily-paper-mcp/
├── main.py                    # MCP server main program
├── scraper.py                 # HuggingFace papers scraper module
├── test_mcp_server.py         # MCP server test cases
├── README.md                  # Project documentation
├── .gitignore                 # Git ignore file
├── pyproject.toml             # Project configuration file
└── uv.lock                    # Dependency lock file

Tech Stack

  • Python 3.10+: Programming language
  • MCP: Model Context Protocol framework
  • Requests: HTTP request library
  • BeautifulSoup4: HTML parsing library
  • pytest: Testing framework
  • uv: Python package manager

Development Standards

  • Use uv native commands for package management
  • Follow Python PEP 8 coding standards
  • Include type hints and docstrings
  • Complete error handling and logging
  • Write unit tests to ensure code quality

Example Output

Single paper data structure:

{
  "title": "CMPhysBench: A Benchmark for Evaluating Large Language Models in Condensed Matter Physics",
  "authors": ["Weida Wang", "Dongchen Huang", "Jiatong Li", "..."],
  "abstract": "CMPhysBench evaluates LLMs in condensed matter physics using calculation problems...",
  "tags": ["machine-learning", "physics"],
  "url": "https://huggingface.co/papers/2508.18124",
  "pdf_url": "https://arxiv.org/pdf/2508.18124.pdf",
  "votes": 15,
  "submitted_by": "researcher123",
  "scraped_at": "2025-08-27T10:30:00.123456"
}

MCP Tool output format:

Title: CMPhysBench: A Benchmark for Evaluating Large Language Models in Condensed Matter Physics
Authors: Weida Wang, Dongchen Huang, Jiatong Li, Tengchao Yang, Ziyang Zheng...
Abstract: CMPhysBench evaluates LLMs in condensed matter physics using calculation problems...
URL: https://huggingface.co/papers/2508.18124
PDF: https://arxiv.org/pdf/2508.18124.pdf
Tags: machine-learning, physics
Votes: 15
Submitted by: researcher123
--------------------------------------------------

AI IDE/CLI Configuration

Claude Code (CLI)

Add to your MCP configuration:

{
  "mcpServers": {
    "huggingface-papers": {
      "command": "uvx",
      "args": ["huggingface-daily-paper-mcp"]
    }
  }
}

Cursor IDE

Add to your .cursorrules or MCP settings:

{
  "mcp": {
    "servers": {
      "huggingface-papers": {
        "command": "uvx",
        "args": ["huggingface-daily-paper-mcp"],
        "env": {}
      }
    }
  }
}

Windsurf IDE

Add to your Windsurf MCP configuration:

{
  "mcpServers": {
    "huggingface-papers": {
      "command": "uvx",
      "args": ["huggingface-daily-paper-mcp"]
    }
  }
}

VS Code with Continue Extension

Add to your continue configuration:

{
  "mcp": {
    "servers": {
      "huggingface-papers": {
        "command": "uvx",
        "args": ["huggingface-daily-paper-mcp"]
      }
    }
  }
}

Other MCP-Compatible Tools

For any MCP-compatible client, use:

# Command
uvx huggingface-daily-paper-mcp

# Or with Python path
python -m main

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

huggingface_daily_paper_mcp-0.1.3.tar.gz (71.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

huggingface_daily_paper_mcp-0.1.3-py3-none-any.whl (78.8 kB view details)

Uploaded Python 3

File details

Details for the file huggingface_daily_paper_mcp-0.1.3.tar.gz.

File metadata

File hashes

Hashes for huggingface_daily_paper_mcp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 ce59b5e62b2a29577821763ee743e556d3be44678eaf148a18d5bcf827608a9a
MD5 e9a1a4e2b37ccac7cc8c04715539361d
BLAKE2b-256 85b6e9fbbc67952d1fef3b81fd7f1298934402cb720a491f7ed90c2b3b8e5471

See more details on using hashes here.

File details

Details for the file huggingface_daily_paper_mcp-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for huggingface_daily_paper_mcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b31f9e83b9b7cbe4e9eeddeafad256fdc8230e396db12e96e3837cd5bd5a8d0b
MD5 e45160a36f4da246acbd3c09fbaa862b
BLAKE2b-256 1867311be4782e3319eaf6811d15e56bb4e58eea348251a65df495a88bde47b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page