mcp-clients
收藏MCP Clients 数据集概述
数据集基本信息
- 数据集名称: MCP Clients Dataset
- 托管地址: https://huggingface.co/datasets/evalstate/mcp-clients
- 许可证: MIT
- 标签: code, agent
- 数据规模: 1K<n<10K
数据集配置
数据集包含两种配置:
- deduplicated (默认配置)
- 数据文件模式:
data/deduplicated-*.parquet - 数据分割: deduplicated
- 数据文件模式:
- raw
- 数据文件模式:
data/raw-*.parquet - 数据分割: raw
- 数据文件模式:
数据集内容
此数据集包含由 huggingface.co/mcp 上的 MCP Server 记录的客户端信息。
数据分割与字段
Raw 分割 (raw)
包含原始的 MCP 客户端配置记录,字段如下:
- name: MCP 客户端名称(例如 "Cursor", "Anthropic/ClaudeAI", "chat-ui-mcp")
- version: 客户端版本
- capabilities: 客户端能力(JSON 字符串)
- last_seen: 最近一次看到此客户端的时间戳
Deduplicated 分割 (deduplicated)
对客户端按(名称,能力)进行分组去重后的记录,字段如下:
- name: MCP 客户端名称(已标准化,移除了 mcp-remote 后缀)
- versions: 此客户端观察到的所有版本(逗号分隔)
- capabilities: 客户端能力(JSON 字符串)
- last_seen: 最近一次看到此客户端的时间戳
数据说明
- 部分客户端仅发送已配置的能力(例如,
fast-agent仅在配置了roots能力时才发送该能力)。 - 存在一些超出规范但对跟踪有帮助的能力(例如 MCP-UI, Skybridge, Apps SDK)。建议使用
experimental来声明这些能力以便跟踪。 - 数据从
evalstate/hf-mcp-logs数据集中提取,筛选出initialize方法调用,并跟踪每个唯一客户端配置的最远last_seen时间戳。 deduplicated分割按(名称,能力)对客户端进行分组,并将所有版本连接在一起。
使用方法
python from datasets import load_dataset
加载原始客户端数据
raw_ds = load_dataset(evalstate/mcp-clients, raw) for client in raw_ds[raw]: print(f"{client[name]} v{client[version]}")
加载去重后的客户端数据
dedup_ds = load_dataset(evalstate/mcp-clients, deduplicated) for client in dedup_ds[deduplicated]: print(f"{client[name]}: {client[versions]}")
数据集更新
数据集通过 Hugging Face Jobs 保持更新:
-
提取步骤 (
raw分割): bash uv run https://huggingface.co/datasets/evalstate/mcp-clients/resolve/main/extract_mcp_clients.py --push-to-hub --split raw -
去重步骤 (
deduplicated分割): bash uv run https://huggingface.co/datasets/evalstate/mcp-clients/resolve/main/deduplicate_clients.py --push-to-hub
或运行完整流水线: bash uv run https://huggingface.co/datasets/evalstate/mcp-clients/resolve/main/pipeline.py




