# 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:
```bash
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:
```bash
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)**:
```bash
python main.py
```
**Test Scraper Function**:
```bash
python scraper.py
```
**Run Tests**:
```bash
uv run -m pytest test_mcp_server.py -v
```
**Build Package**:
```bash
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:
```json
{
"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...",
"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
Votes: 15
Submitted by: researcher123
--------------------------------------------------
```
## AI IDE/CLI Configuration
### Claude Code (CLI)
Add to your MCP configuration:
```json
{
"mcpServers": {
"huggingface-papers": {
"command": "uvx",
"args": ["huggingface-daily-paper-mcp"]
}
}
}
```
### Cursor IDE
Add to your `.cursorrules` or MCP settings:
```json
{
"mcp": {
"servers": {
"huggingface-papers": {
"command": "uvx",
"args": ["huggingface-daily-paper-mcp"],
"env": {}
}
}
}
}
```
### Windsurf IDE
Add to your Windsurf MCP configuration:
```json
{
"mcpServers": {
"huggingface-papers": {
"command": "uvx",
"args": ["huggingface-daily-paper-mcp"]
}
}
}
```
### VS Code with Continue Extension
Add to your `continue` configuration:
```json
{
"mcp": {
"servers": {
"huggingface-papers": {
"command": "uvx",
"args": ["huggingface-daily-paper-mcp"]
}
}
}
}
```
### Other MCP-Compatible Tools
For any MCP-compatible client, use:
```bash
# Command
uvx huggingface-daily-paper-mcp
# Or with Python path
python -m main
```
## License
MIT License
Raw data
{
"_id": null,
"home_page": null,
"name": "huggingface-paper-mcp",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "ai, huggingface, mcp, papers, server",
"author": null,
"author_email": "jianjungki <jianjungki@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/4a/63/f5cc116458ff8f1c17564b012253cca290bf81e30ff14e77d6d39a39fb13/huggingface_paper_mcp-0.1.5.tar.gz",
"platform": null,
"description": "# HuggingFace Daily Papers MCP Server\n\nA MCP (Model Context Protocol) server for fetching HuggingFace daily papers.\n\n## Features\n\n- Fetch today's, yesterday's or specific date HuggingFace papers\n- Provides paper title, authors, abstract, tags, votes, and submitted by info\n- Includes paper links and PDF download links \n- Supports MCP tools and resource interfaces\n- ArXiv integration for complete author lists\n- Complete error handling and logging\n- Comprehensive test coverage\n\n## Installation & Usage\n\n### Option 1: Direct execution with uvx (Recommended)\n\nInstall and run directly using uvx:\n\n```bash\nuvx huggingface-daily-paper-mcp\n```\n\nThis will automatically install the package and its dependencies, then start the MCP server.\n\n### Option 2: Local development\n\nFor local development, clone the repository and install dependencies:\n\n```bash\ngit clone https://github.com/huangxinping/huggingface-daily-paper-mcp.git\ncd huggingface-daily-paper-mcp\nuv sync\n```\n\n### Local usage commands\n\n**Run as MCP Server (for development)**:\n```bash\npython main.py\n```\n\n**Test Scraper Function**:\n```bash\npython scraper.py\n```\n\n**Run Tests**:\n```bash\nuv run -m pytest test_mcp_server.py -v\n```\n\n**Build Package**:\n```bash\nuv build\n```\n\n## MCP Interface\n\n### Tools\n\n1. **get_papers_by_date**\n - Description: Get HuggingFace papers for a specific date\n - Parameters: `date` (YYYY-MM-DD format)\n\n2. **get_today_papers**\n - Description: Get today's HuggingFace papers\n - Parameters: None\n\n3. **get_yesterday_papers**\n - Description: Get yesterday's HuggingFace papers\n - Parameters: None\n\n### Resources\n\n1. **papers://today**\n - Today's papers JSON data\n\n2. **papers://yesterday**\n - Yesterday's papers JSON data\n\n## Project Structure\n\n```\nhuggingface-daily-paper-mcp/\n\u251c\u2500\u2500 main.py # MCP server main program\n\u251c\u2500\u2500 scraper.py # HuggingFace papers scraper module\n\u251c\u2500\u2500 test_mcp_server.py # MCP server test cases\n\u251c\u2500\u2500 README.md # Project documentation\n\u251c\u2500\u2500 .gitignore # Git ignore file\n\u251c\u2500\u2500 pyproject.toml # Project configuration file\n\u2514\u2500\u2500 uv.lock # Dependency lock file\n```\n\n## Tech Stack\n\n- **Python 3.10+**: Programming language\n- **MCP**: Model Context Protocol framework\n- **Requests**: HTTP request library\n- **BeautifulSoup4**: HTML parsing library\n- **pytest**: Testing framework\n- **uv**: Python package manager\n\n## Development Standards\n\n- Use uv native commands for package management\n- Follow Python PEP 8 coding standards\n- Include type hints and docstrings\n- Complete error handling and logging\n- Write unit tests to ensure code quality\n\n## Example Output\n\nSingle paper data structure:\n\n```json\n{\n \"title\": \"CMPhysBench: A Benchmark for Evaluating Large Language Models in Condensed Matter Physics\",\n \"authors\": [\"Weida Wang\", \"Dongchen Huang\", \"Jiatong Li\", \"...\"],\n \"abstract\": \"CMPhysBench evaluates LLMs in condensed matter physics using calculation problems...\",\n \"url\": \"https://huggingface.co/papers/2508.18124\",\n \"pdf_url\": \"https://arxiv.org/pdf/2508.18124.pdf\",\n \"votes\": 15,\n \"submitted_by\": \"researcher123\",\n \"scraped_at\": \"2025-08-27T10:30:00.123456\"\n}\n```\n\nMCP Tool output format:\n```\nTitle: CMPhysBench: A Benchmark for Evaluating Large Language Models in Condensed Matter Physics\nAuthors: Weida Wang, Dongchen Huang, Jiatong Li, Tengchao Yang, Ziyang Zheng...\nAbstract: CMPhysBench evaluates LLMs in condensed matter physics using calculation problems...\nURL: https://huggingface.co/papers/2508.18124\nPDF: https://arxiv.org/pdf/2508.18124.pdf\nVotes: 15\nSubmitted by: researcher123\n--------------------------------------------------\n```\n\n## AI IDE/CLI Configuration\n\n### Claude Code (CLI)\n\nAdd to your MCP configuration:\n\n```json\n{\n \"mcpServers\": {\n \"huggingface-papers\": {\n \"command\": \"uvx\",\n \"args\": [\"huggingface-daily-paper-mcp\"]\n }\n }\n}\n```\n\n### Cursor IDE\n\nAdd to your `.cursorrules` or MCP settings:\n\n```json\n{\n \"mcp\": {\n \"servers\": {\n \"huggingface-papers\": {\n \"command\": \"uvx\",\n \"args\": [\"huggingface-daily-paper-mcp\"],\n \"env\": {}\n }\n }\n }\n}\n```\n\n### Windsurf IDE\n\nAdd to your Windsurf MCP configuration:\n\n```json\n{\n \"mcpServers\": {\n \"huggingface-papers\": {\n \"command\": \"uvx\",\n \"args\": [\"huggingface-daily-paper-mcp\"]\n }\n }\n}\n```\n\n### VS Code with Continue Extension\n\nAdd to your `continue` configuration:\n\n```json\n{\n \"mcp\": {\n \"servers\": {\n \"huggingface-papers\": {\n \"command\": \"uvx\",\n \"args\": [\"huggingface-daily-paper-mcp\"]\n }\n }\n }\n}\n```\n\n### Other MCP-Compatible Tools\n\nFor any MCP-compatible client, use:\n\n```bash\n# Command\nuvx huggingface-daily-paper-mcp\n\n# Or with Python path\npython -m main\n```\n\n## License\n\nMIT License",
"bugtrack_url": null,
"license": "MIT",
"summary": "A MCP server for fetching HuggingFace papers",
"version": "0.1.5",
"project_urls": {
"Homepage": "https://github.com/jianjungki/huggingface-daily-paper-mcp",
"Issues": "https://github.com/jianjungki/huggingface-daily-paper-mcp/issues",
"Repository": "https://github.com/jianjungki/huggingface-daily-paper-mcp.git"
},
"split_keywords": [
"ai",
" huggingface",
" mcp",
" papers",
" server"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6642b1949ea89f1f310c290b687a3039a2de503af8b4fc61c6c6d60d7e2acb51",
"md5": "8fed3753053f2b45c71a36ab99b82587",
"sha256": "03d283b397cb842ca6411a86eb3082240138e7bf9c7b14fc206fd98227282351"
},
"downloads": -1,
"filename": "huggingface_paper_mcp-0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8fed3753053f2b45c71a36ab99b82587",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 83932,
"upload_time": "2025-10-09T02:17:11",
"upload_time_iso_8601": "2025-10-09T02:17:11.290200Z",
"url": "https://files.pythonhosted.org/packages/66/42/b1949ea89f1f310c290b687a3039a2de503af8b4fc61c6c6d60d7e2acb51/huggingface_paper_mcp-0.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4a63f5cc116458ff8f1c17564b012253cca290bf81e30ff14e77d6d39a39fb13",
"md5": "041ee3fe8ad6c710fe1b1962e5545a0a",
"sha256": "24abd0a260ec84c6e13aac5d1b602064e3e040973f19ac821133e33decf14ab1"
},
"downloads": -1,
"filename": "huggingface_paper_mcp-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "041ee3fe8ad6c710fe1b1962e5545a0a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 76997,
"upload_time": "2025-10-09T02:17:13",
"upload_time_iso_8601": "2025-10-09T02:17:13.187431Z",
"url": "https://files.pythonhosted.org/packages/4a/63/f5cc116458ff8f1c17564b012253cca290bf81e30ff14e77d6d39a39fb13/huggingface_paper_mcp-0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-09 02:17:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jianjungki",
"github_project": "huggingface-daily-paper-mcp",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "huggingface-paper-mcp"
}