Dataset Viewer MCP Server

Dataset Viewer MCP Server

By privetin GitHub

MCP server for interacting with Hugging Face dataset viewer API, providing dataset browsing, filtering, and statistics capabilities

dataset-viewer hugging-face
Overview

what is Dataset Viewer?

Dataset Viewer is an MCP server designed for interacting with the Hugging Face Dataset Viewer API, enabling users to browse, filter, and analyze datasets hosted on the Hugging Face Hub.

how to use Dataset Viewer?

To use Dataset Viewer, clone the repository from GitHub, set up a virtual environment, and run the server. You can then interact with the API to validate datasets, retrieve information, and perform searches.

key features of Dataset Viewer?

  • Access datasets using the dataset:// URI scheme.
  • Support for dataset configurations and splits.
  • Paginated access to dataset contents.
  • Authentication handling for private datasets.
  • Search and filter capabilities for dataset contents.
  • Dataset statistics and analysis tools.

use cases of Dataset Viewer?

  1. Validating the existence and accessibility of datasets.
  2. Retrieving detailed information about specific datasets.
  3. Searching for specific text within datasets.
  4. Filtering dataset rows based on SQL-like conditions.
  5. Downloading entire datasets in Parquet format.

FAQ from Dataset Viewer?

  • What is the purpose of the Dataset Viewer?

The Dataset Viewer allows users to easily interact with datasets on the Hugging Face Hub, providing tools for browsing, filtering, and analyzing data.

  • Is there a cost to use the Dataset Viewer?

No, the Dataset Viewer is free to use.

  • What are the prerequisites for using the Dataset Viewer?

You need Python 3.12 or higher and the uv package for installation.

Content

Dataset Viewer MCP Server

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.

Features

Resources

  • 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

Tools

The server provides the following tools:

  1. validate

    • Check if a dataset exists and is accessible
    • Parameters:
      • dataset: Dataset identifier (e.g. 'stanfordnlp/imdb')
      • auth_token (optional): For private datasets
  2. get_info

    • Get detailed information about a dataset
    • Parameters:
      • dataset: Dataset identifier
      • auth_token (optional): For private datasets
  3. get_rows

    • Get paginated contents of a dataset
    • Parameters:
      • dataset: Dataset identifier
      • config: Configuration name
      • split: Split name
      • page (optional): Page number (0-based)
      • auth_token (optional): For private datasets
  4. get_first_rows

    • Get first rows from a dataset split
    • Parameters:
      • dataset: Dataset identifier
      • config: Configuration name
      • split: Split name
      • auth_token (optional): For private datasets
  5. get_statistics

    • Get statistics about a dataset split
    • Parameters:
      • dataset: Dataset identifier
      • config: Configuration name
      • split: Split name
      • auth_token (optional): For private datasets
  6. search_dataset

    • Search for text within a dataset
    • Parameters:
      • dataset: Dataset identifier
      • config: Configuration name
      • split: Split name
      • query: Text to search for
      • auth_token (optional): For private datasets
  7. filter

    • Filter rows using SQL-like conditions
    • Parameters:
      • dataset: Dataset identifier
      • config: Configuration name
      • split: Split name
      • where: SQL WHERE clause (e.g. "score > 0.5")
      • orderby (optional): SQL ORDER BY clause
      • page (optional): Page number (0-based)
      • auth_token (optional): For private datasets
  8. get_parquet

    • Download entire dataset in Parquet format
    • Parameters:
      • dataset: Dataset identifier
      • auth_token (optional): For private datasets

Installation

Prerequisites

  • Python 3.12 or higher
  • uv - Fast Python package installer and resolver

Setup

  1. Clone the repository:
git clone https://github.com/privetin/dataset-viewer.git
cd dataset-viewer
  1. 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 .

Configuration

Environment Variables

  • HUGGINGFACE_TOKEN: Your Hugging Face API token for accessing private datasets

Claude Desktop Integration

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"
      ]
    }
  }
}

Usage Examples

  1. Validate a dataset:
{
  "dataset": "stanfordnlp/imdb"
}
  1. Get dataset information:
{
  "dataset": "stanfordnlp/imdb"
}
  1. Search dataset contents:
{
  "dataset": "stanfordnlp/imdb",
  "config": "plain_text",
  "split": "train",
  "query": "great movie"
}
  1. Filter and sort rows:
{
  "dataset": "stanfordnlp/imdb",
  "config": "plain_text",
  "split": "train",
  "where": "label = 'positive'",
  "orderby": "text DESC",
  "page": 0
}
  1. Get dataset statistics:
{
  "dataset": "stanfordnlp/imdb",
  "config": "plain_text",
  "split": "train"
}

License

MIT License - see LICENSE for details

No tools information available.
No content found.