模型上下文协议数据集

MCPCorpus是一个用于分析模型上下文协议(MCP)生态系统的大规模数据集,包含约14K MCP服务器和300 MCP客户端,具有20多个标准化元数据属性,适用于生态系统分析、安全研究和互操作性研究。

  • by Snakinya
  • Python
  • 本地部署
  • 35 星标
  • 更新于
在 GitHub 查看 Snakinya/MCPCorpus

使用说明

MCPCorpus:用于模型上下文协议生态系统和安全分析的大规模可进化数据集

MCP语料库 是一个用于分析模型上下文协议(MCP)生态系统的综合数据集,包含约14K MCP服务器和300个MCP客户端,具有20多个规范化元数据属性。

📊 数据集概述

  • 规模:约14K MCP服务器+300 MCP客户端
  • 属性:每个工件20多个标准化元数据
  • 来源:GitHub、社区中心、包管理器
  • 应用程序生态系统分析、安全研究、互操作性研究

📁 结构

MCPCorpus/
├── Crawler/                    # Data collection tools
│   ├── Servers/               # Server data
│   ├── Clients/               # Client data
│   ├── github_info_collector.py  # GitHub metadata collector
|   ├── data_cleaner.py        # Data normalization 
│   └── tool_extractor.py      # mcp tool extract
└── Website/                   # Web search interface
    ├── server.py              # Local web server
    └── index.html             # Search interface
    └── mcpso_servers_cleaned.json
    └── mcpso_clients_cleaned.json

🚀 快速开始

探索数据集

cd Website
python server.py
# Open http://localhost:8000

以编程方式访问数据

import json
import pandas as pd

# Load datasets
with open('Crawler/Servers/mcpso_servers_cleaned.json', 'r') as f:
    servers = json.load(f)
with open('Crawler/Clients/mcpso_clients_cleaned.json', 'r') as f:
    clients = json.load(f)

# Convert to DataFrame
servers_df = pd.DataFrame(servers)
clients_df = pd.DataFrame(clients)

更新数据集(可选)

# Collect new data
cd Crawler/Servers && python Server_request.py
cd ../Clients && python Client_request.py

# Add GitHub metadata
cd .. && python github_info_collector.py --token YOUR_GITHUB_TOKEN

📚 引用

如果您在研究中使用MCPCorpus,请将其引用为:

@misc{lin2025largescaleevolvabledatasetmodel,
      title={A Large-Scale Evolvable Dataset for Model Context Protocol Ecosystem and Security Analysis}, 
      author={Zhiwei Lin and Bonan Ruan and Jiahao Liu and Weibo Zhao},
      year={2025},
      eprint={2506.23474},
      archivePrefix={arXiv},
      primaryClass={cs.CR},
      url={https://arxiv.org/abs/2506.23474}, 
}