Hugging Face Hub MCP Server
# Hugging Face Hub MCP Server
A Model Context Protocol (MCP) server that provides access to the Hugging Face Hub API, allowing you to search and retrieve information about models, datasets, and their metadata.
## Features
- **Models API**: Search models, get detailed model info, and retrieve model tags
- **Datasets API**: Search datasets, get dataset info, access parquet files, and Croissant metadata
- **Full Hub Integration**: Access all public repositories and metadata from Hugging Face Hub
## Tools
### Models
- `hf_list_models` - List and search models with filtering options
- `hf_get_model_info` - Get detailed information about a specific model
- `hf_get_model_tags` - Get all available model tags
### Datasets
- `hf_list_datasets` - List and search datasets with filtering options
- `hf_get_dataset_info` - Get detailed information about a specific dataset
- `hf_get_dataset_parquet` - Get parquet file information for datasets
- `hf_get_croissant` - Get Croissant metadata for datasets
- `hf_get_dataset_tags` - Get all available dataset tags
## Installation
```bash
npm install
npm run build
```
## Usage
### STDIO (for Claude Desktop)
```bash
npm run dev:stdio
```
### HTTP Server
```bash
npm run dev:shttp
# or specify port
npm start --port 3003
```
## Configuration
The server uses the Hugging Face Hub public API endpoints. No authentication is required for public repositories.
Environment variables:
- `HF_BASE_URL`: Base URL for Hugging Face API (default: https://huggingface.co)
- `PORT`: HTTP server port (default: 3003)
## Examples
Search for text classification models:
```javascript
{
"name": "hf_list_models",
"arguments": {
"filter": "text-classification",
"limit": 10
}
}
```
Get information about a specific model:
```javascript
{
"name": "hf_get_model_info",
"arguments": {
"repo_id": "microsoft/DialoGPT-medium"
}
}
```
Search for datasets by author:
```javascript
{
"name": "hf_list_datasets",
"arguments": {
"author": "huggingface",
"limit": 5
}
}
```TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose with no overlap: there are separate tools for datasets vs. models, and within each category, tools for getting info, listing all, getting tags, and dataset-specific tools for Croissant metadata and parquet files. The descriptions make the boundaries explicit, preventing misselection.
All tools follow a consistent 'hf_' prefix with verb_noun pattern (e.g., hf_get_dataset_info, hf_list_models). The naming is uniform across the set, using snake_case and clear verbs like 'get', 'list', and 'get' for specific actions, making it predictable and readable.
With 8 tools, this server is well-scoped for interacting with the Hugging Face Hub. It covers core operations for datasets and models (info, listing, tags) plus dataset-specific features like Croissant and parquet files, avoiding bloat while providing essential functionality.
The tool set covers read operations comprehensively for datasets and models, including metadata, listings, tags, and file access. A minor gap is the lack of write operations (e.g., upload or modify datasets/models), but for a read-focused server, it handles the domain well with no dead ends.