Skip to main content
Glama
michaelwaves

Hugging Face Hub MCP Server

by michaelwaves
README.md
# 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

A3.6/5.0

Scored across 8 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues