what is Hugging Face MCP Server?
The Hugging Face MCP Server is a Model Context Protocol server that provides read-only access to the Hugging Face Hub APIs, allowing large language models (LLMs) to interact with Hugging Face's models, datasets, spaces, papers, and collections.
how to use Hugging Face MCP Server?
To use the server, install it via Smithery or configure it manually, and then utilize the provided prompt templates to access various Hugging Face resources and functionalities.
key features of Hugging Face MCP Server?
- Custom
hf://
URI scheme for accessing models, datasets, and spaces. - Prompt templates for comparing models and summarizing research papers.
- Tools for searching and retrieving detailed information about models, datasets, spaces, and papers.
use cases of Hugging Face MCP Server?
- Accessing and comparing different Hugging Face models.
- Summarizing research papers for quick insights.
- Searching for datasets and spaces relevant to specific queries.
FAQ from Hugging Face MCP Server?
- Can I access private models and datasets?
Yes, with a valid Hugging Face API token, you can access private resources.
- Is there a configuration required to use the server?
No, but optional authentication can enhance performance and access.
- How do I troubleshoot issues with the server?
Check server logs for errors and ensure internet connectivity to the Hugging Face API.
🤗 Hugging Face MCP Server 🤗
A Model Context Protocol (MCP) server that provides read-only access to the Hugging Face Hub APIs. This server allows LLMs like Claude to interact with Hugging Face's models, datasets, spaces, papers, and collections.
Components
Resources
The server exposes popular Hugging Face resources:
- Custom
hf://
URI scheme for accessing resources - Models with
hf://model/{model_id}
URIs - Datasets with
hf://dataset/{dataset_id}
URIs - Spaces with
hf://space/{space_id}
URIs - All resources have descriptive names and JSON content type
Prompts
The server provides two prompt templates:
-
compare-models
: Generates a comparison between multiple Hugging Face models- Required
model_ids
argument (comma-separated model IDs) - Retrieves model details and formats them for comparison
- Required
-
summarize-paper
: Summarizes a research paper from Hugging Face- Required
arxiv_id
argument for paper identification - Optional
detail_level
argument (brief/detailed) to control summary depth - Combines paper metadata with implementation details
- Required
Tools
The server implements several tool categories:
-
Model Tools
search-models
: Search models with filters for query, author, tags, and limitget-model-info
: Get detailed information about a specific model
-
Dataset Tools
search-datasets
: Search datasets with filtersget-dataset-info
: Get detailed information about a specific dataset
-
Space Tools
search-spaces
: Search Spaces with filters including SDK typeget-space-info
: Get detailed information about a specific Space
-
Paper Tools
get-paper-info
: Get information about a paper and its implementationsget-daily-papers
: Get the list of curated daily papers
-
Collection Tools
search-collections
: Search collections with various filtersget-collection-info
: Get detailed information about a specific collection
Configuration
The server does not require configuration, but supports optional Hugging Face authentication:
- Set
HF_TOKEN
environment variable with your Hugging Face API token for:- Higher API rate limits
- Access to private repositories (if authorized)
- Improved reliability for high-volume requests
Quickstart
Install
Installing via Smithery
To install huggingface-mcp-server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @shreyaskarnik/huggingface-mcp-server --client claude
Claude Desktop
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
Development/Unpublished Servers Configuration
"mcpServers": {
"huggingface": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/huggingface-mcp-server",
"run",
"huggingface_mcp_server.py"
],
"env": {
"HF_TOKEN": "your_token_here" // Optional
}
}
}
Development
Building and Publishing
To prepare the package for distribution:
- Sync dependencies and update lockfile:
uv sync
- Build package distributions:
uv build
This will create source and wheel distributions in the dist/
directory.
- Publish to PyPI:
uv publish
Note: You'll need to set PyPI credentials via environment variables or command flags:
- Token:
--token
orUV_PUBLISH_TOKEN
- Or username/password:
--username
/UV_PUBLISH_USERNAME
and--password
/UV_PUBLISH_PASSWORD
Debugging
Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.
You can launch the MCP Inspector via npm
with this command:
npx @modelcontextprotocol/inspector uv --directory /path/to/huggingface-mcp-server run huggingface_mcp_server.py
Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
Example Prompts for Claude
When using this server with Claude, try these example prompts:
- "Search for BERT models on Hugging Face with less than 100 million parameters"
- "Find the most popular datasets for text classification on Hugging Face"
- "What are today's featured AI research papers on Hugging Face?"
- "Summarize the paper with arXiv ID 2307.09288 using the Hugging Face MCP server"
- "Compare the Llama-3-8B and Mistral-7B models from Hugging Face"
- "Show me the most popular Gradio spaces for image generation"
- "Find collections created by TheBloke that include Mixtral models"
Troubleshooting
If you encounter issues with the server:
-
Check server logs in Claude Desktop:
- macOS:
~/Library/Logs/Claude/mcp-server-huggingface.log
- Windows:
%APPDATA%\Claude\logs\mcp-server-huggingface.log
- macOS:
-
For API rate limiting errors, consider adding a Hugging Face API token
-
Make sure your machine has internet connectivity to reach the Hugging Face API
-
If a particular tool is failing, try accessing the same data through the Hugging Face website to verify it exists