MCPZoo:一个用于AI代理的大规模可运行模型上下文协议服务器数据集
大家读完觉得有帮助记得关注和点赞!!!
摘要
模型上下文协议(MCP)使代理能够与外部工具交互,然而由于缺乏大规模、可访问的数据集,对MCP的实证研究受到阻碍。我们提出了MCPZoo,这是从多个公共来源收集的最大的、最全面的MCP服务器数据集,包含95,142个服务器。MCPZoo包含超过一万个已部署并验证为可运行且可交互的服务器实例,支持超越静态分析的真实实验。该数据集提供统一的元数据和访问接口,使得能够进行系统性的探索和交互,而无需手动部署工作。MCPZoo作为一个开放和可访问的资源发布,以支持基于MCP的安全分析研究。
索引术语:模型上下文协议,MCP,代理,代理安全,安全测量
1 引言
软件生态系统正在见证由大型语言模型(LLMs)和自主代理驱动的范式转变。正如移动应用在过去十年彻底改变了数字交互一样,“工具”——允许代理感知和操控世界的接口——正在成为AI时代的基本构建模块。模型上下文协议(MCP)已迅速成为连接这些AI模型与多样化数据源和环境的事实标准。
然而,对这个不断发展的生态系统进行大规模的实证研究提出了重大挑战。尽管最近的研究已经开始探索MCP集成的安全风险和鲁棒性(例如,工具使用中的提示注入漏洞),但这些努力常常受限于搭建测试环境的困难。与打包为独立二进制文件的移动应用不同,MCP服务器是多样化的软件项目,具有复杂的、常常冲突的依赖关系。因此,现有的研究往往局限于小规模、手动整理的数据集,导致实验难以复现或推广。
受到AndroZoo [androzoo] 的启发(它通过为社区收集数百万个应用而普及了Android研究),我们提出了MCPZoo。据我们所知,MCPZoo是迄今为止最大的模型上下文协议服务器集合。如果说AndroZoo解决了访问问题,那么MCPZoo旨在解决可运行性问题。
通过提供一个标准化、无限制且可扩展的可运行代理数据集,我们旨在使研究社区能够超越小规模测试,对AI代理生态系统的安全性和能力进行全面的、可复现的分析。
MCPZoo做出了以下贡献:
• 当前可用的最大、最全面的MCP服务器数据集,拥有95,142个MCP服务器。
• 首个包含超过一万个可运行且可交互的服务器实例的数据集。
• 作为开放和可访问的数据集发布,以支持社区驱动的MCP分析。
2 构建基础设施
2.1 构建MCPZoo
我们从七个公共来源收集了MCP服务器项目:MCP World [mcpworld]、MCP Store [mcpstore]、MCP Servers Repository [mcprepository]、AIbase MCP [aibasemcp]、Mcp.so [mcpso]、MCP Market [mcpmarket] 和 Pulse MCP [pulsemcp]。每个来源都提供了一个独立整理的MCP服务器目录,反映了不同社区和平台的视角。
数据字段。每个MCP服务器的元数据和源代码都被保存。我们提取了一套统一的元数据字段,包括服务器名称、描述、概述文本(详细的Readme)、源代码URL、作者信息等。同时,我们下载了相应的代码仓库,并以结构化的存储布局组织了所有工件。为了支持跨来源对齐和高效访问,我们生成了将多个列表与其代码快照关联起来的符号链接。
去重。为确保数据高质量,我们对大量重复的复刻、镜像和复制粘贴的仓库进行了去重。我们的去重过程遵循三个步骤。首先,我们对仓库URL进行标准化处理并清理元数据,以解决重定向和命名不一致问题。然后,我们向量化从配置文件和代码文件中提取的代表性文本内容,以捕获服务器实现之间的语义相似性。最后,我们对高度相似的服务器进行聚类,并保留每个聚类中的一个代表性服务器,同时保留所有来源的溯源信息。
2.2 使Zoo“活起来”
构建Docker镜像。为了使服务器能够大规模运行,我们采用了一个自动化的构建代理,将MCP服务器的源代码转换为可执行的Docker镜像。该代理对代码和依赖关系进行上下文感知分析,以推断运行时设置并生成Docker配置。当构建失败时,它会迭代分析错误日志,并通过有针对性的调整重新生成Docker文件,直到镜像构建成功或达到重试限制。
活跃性检查。成功构建的容器并不一定代表一个可运行的MCP服务器。因此,我们执行一个标准化的活跃性检查,以验证服务器在MCP设置中是否实际可用。我们执行两步检查来保证活跃性。首先,我们检查容器的执行能力,考虑常见的失败情况,如缺少配置或硬编码路径。然后,我们通过基本交互来检查服务器容器的协议级功能,包括检索声明的工具列表。只有通过执行和交互双重检查的服务器才被认为是MCPZoo中的“存活”服务器。
3 MCPZoo
3.1 概述
MCPZoo是一个从多个公共来源收集的大规模、持续增长的模型上下文协议(MCP)服务器数据集。截至2025年12月17日,MCPZoo包含95,142个不同的MCP服务器,其源代码总量达377 GB,其中14,206个服务器经验证可运行。表I按来源总结了MCPZoo的构成,报告了从各个平台收集的服务器数量。
表I:来自七个公共来源的MCP服务器统计
|
来源 |
收集数量 |
百分比 |
|---|---|---|
|
MCP World |
31,048 |
32.63% |
|
MCP Store |
25,695 |
27.00% |
|
MCP Repository |
14,341 |
15.07% |
|
AIbase MCP |
11,120 |
11.69% |
|
Mcp.so |
6,772 |
7.12% |
|
MCP Market |
4,996 |
5.25% |
|
Pulse MCP |
1,170 |
1.23% |
|
总计 |
95,142 |
100.0% |
该数据集是通过持续收集工作构建的,并随着生态系统中新MCP服务器的出现而积极扩展。
3.2 访问MCPZoo
MCPZoo可通过一个网站¹公开访问。该网站提供了涵盖整个MCP服务器集合的可下载元数据,使研究人员能够系统地大规模检查和过滤数据集。表II展示了所有可用元数据字段的概要。
表II:MCPZoo提供的元数据字段
|
字段 |
描述 |
|---|---|
|
serverName |
来源平台提供的可读的MCP服务器名称。 |
|
description |
总结服务器功能和目的的简短文本描述。 |
|
source |
收集该MCP服务器的原始平台或仓库。 |
|
creator |
服务器声明的创建者或组织。 |
|
overview |
服务器的更详细概述,通常描述其支持的工具、使用场景或设计意图。 |
MCPZoo提供了通过远程连接动态调用MCP服务器的能力。目前,已有14,206个服务器被部署、验证,并确认在真实执行环境中可交互。对于每个服务器,MCPZoo维护一个统一的远程访问配置,允许用户以一致的方式直接连接并与MCP服务器交互。这种设计降低了测试和实验的门槛。MCPZoo网站公开提供了15个可运行MCP服务器的访问接口供试用。需要访问更多可交互服务器的研究人员可以联系我们获取扩展访问权限。
3.3 访问条件
MCPZoo向研究社区开放,以支持对MCP生态系统的测量、系统和安全研究。我们要求申请访问MCPZoo的研究人员同意以下条件:
(1)法律合规。研究人员必须根据适用的当地法律和所在机构政策,评估下载、存储和分析所收集材料的法律影响。
(2)禁止重新分发。数据集通常不得全部或部分重新分发或重新发布。
(3)非商业用途。数据集不得用于商业目的。
(4)负责任交互。研究人员应以负责任的方式与MCP服务器交互,避免对已部署服务进行破坏性、滥用或有害的行为。超出良性交互或测量范围的安全测试应遵循负责任的披露原则,并可能需要额外的批准。
(5)教职人员认可。访问请求必须得到教职人员或固定研究职位人员的认可,该人员同意这些条件并承诺负责任地使用数据集。
我们恳请在使用MCPZoo时予以致谢,并鼓励研究人员在可行的情况下披露其研究中涉及的MCP服务器列表,以支持可复现性。
4 利用MCPZoo
MCPZoo可以用作现实世界MCP部署研究的共享实验基础。例如,它通过提供多样化的、真实的工具环境来评估代理的规划和工具使用能力,从而实现代理基准测试。它还可以支持大规模的安全分析,例如系统地检查MCP服务器是否存在提示注入或沙箱逃逸风险,将先前关于LLM和代理安全性的研究扩展到协议级别的生态系统。此外,秉承先前大规模软件生态系统测量的精神 [androzoo],MCPZoo通过允许对大量实际项目中MCP采用和实施模式进行实证分析,促进了协议演进研究。
5 结论
我们提出了MCPZoo,这是一个从多个公共来源收集的大规模MCP服务器数据集,其中大量服务器被验证为可运行且可交互。该数据集与访问接口一起公开发布,以支持未来基于MCP的系统和分析研究。MCPZoo可通过网站访问:https://security.fudan.edu.cn/zoo。
¹ https://security.fudan.edu.cn/zoo







