An MCP server for interacting with the Hugging Face Dataset Viewer API, providing capabilities to browse and analyze datasets hosted on the Hugging Face Hub.
- Uses
dataset://
URI scheme for accessing Hugging Face datasets - Supports dataset configurations and splits
- Provides paginated access to dataset contents
- Handles authentication for private datasets
- Supports searching and filtering dataset contents
- Provides dataset statistics and analysis
The server provides the following tools:
-
validate
- Check if a dataset exists and is accessible
- Parameters:
dataset
: Dataset identifier (e.g. 'stanfordnlp/imdb')auth_token
(optional): For private datasets
-
get_info
- Get detailed information about a dataset
- Parameters:
dataset
: Dataset identifierauth_token
(optional): For private datasets
-
get_rows
- Get paginated contents of a dataset
- Parameters:
dataset
: Dataset identifierconfig
: Configuration namesplit
: Split namepage
(optional): Page number (0-based)auth_token
(optional): For private datasets
-
get_first_rows
- Get first rows from a dataset split
- Parameters:
dataset
: Dataset identifierconfig
: Configuration namesplit
: Split nameauth_token
(optional): For private datasets
-
get_statistics
- Get statistics about a dataset split
- Parameters:
dataset
: Dataset identifierconfig
: Configuration namesplit
: Split nameauth_token
(optional): For private datasets
-
search_dataset
- Search for text within a dataset
- Parameters:
dataset
: Dataset identifierconfig
: Configuration namesplit
: Split namequery
: Text to search forauth_token
(optional): For private datasets
-
filter
- Filter rows using SQL-like conditions
- Parameters:
dataset
: Dataset identifierconfig
: Configuration namesplit
: Split namewhere
: SQL WHERE clause (e.g. "score > 0.5")orderby
(optional): SQL ORDER BY clausepage
(optional): Page number (0-based)auth_token
(optional): For private datasets
-
get_parquet
- Download entire dataset in Parquet format
- Parameters:
dataset
: Dataset identifierauth_token
(optional): For private datasets
- Python 3.12 or higher
- uv - Fast Python package installer and resolver
- Clone the repository:
git clone https://github.com/privetin/dataset-viewer.git
cd dataset-viewer
- Create a virtual environment and install:
# Create virtual environment
uv venv
# Activate virtual environment
# On Unix:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate
# Install in development mode
uv add -e .
HUGGINGFACE_TOKEN
: Your Hugging Face API token for accessing private datasets
Add the following to your Claude Desktop config file:
On Windows: %APPDATA%\Claude\claude_desktop_config.json
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"dataset-viewer": {
"command": "uv",
"args": [
"run",
"dataset-viewer"
]
}
}
}
- Validate a dataset:
{
"dataset": "stanfordnlp/imdb"
}
- Get dataset information:
{
"dataset": "stanfordnlp/imdb"
}
- Search dataset contents:
{
"dataset": "stanfordnlp/imdb",
"config": "plain_text",
"split": "train",
"query": "great movie"
}
- Filter and sort rows:
{
"dataset": "stanfordnlp/imdb",
"config": "plain_text",
"split": "train",
"where": "label = 'positive'",
"orderby": "text DESC",
"page": 0
}
- Get dataset statistics:
{
"dataset": "stanfordnlp/imdb",
"config": "plain_text",
"split": "train"
}
MIT License - see LICENSE for details