Token导航 LogoToken导航TokenDH.com
MCP Apps Arcade logo
浏览器工具未说明官方级别未说明来源级核验

MCP Apps Arcade

MCP Server

一个允许在MCP兼容主机上浏览和玩来自archive.org的经典街机游戏的服务器,通过严格的版权验证系统确保游戏合法性。

工具数

2

提示词数

0

GitHub Stars

6

资源数

0
TypeScript浏览器自动化网页抓取

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

idosal

提供方

idosal

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

示例:Arcade服务器

MCP Apps服务器,让您浏览和玩经典街机游戏 archive.org 直接在启用MCP的主机中。

法律免责声明

这是一个技术演示,而不是一个分发平台。

  • 游戏在运行时直接从archive.org的嵌入系统中获取
  • 我们不托管、分发或存储游戏内容
  • 只能加载具有验证分发权限的游戏
  • 未经验证权限的游戏被阻止

权限验证的工作原理

服务器使用 严格的核查制度:

  1. 管理许可名单:游戏在 allowlist.ts 拥有外部记录的源网址(出版商公告、官方网站)的分发权。每个条目都包含法律依据。
  1. 元数据验证:对于不在允许列表中的游戏,我们检查archive.org元数据中的明确权利指标(共享软件、免费软件、公共领域、知识共享)。

只有经过验证的权限才允许游戏。 未知或受限游戏被阻止。

有哪些游戏可供选择?

  • 共享软件:明确免费发布的第一集/演示(DOOM、Duke Nukem、指挥官Keen、Wolfenstein 3D等)
  • 免费软件:由发行商正式免费发行的游戏(《Tyrian 2000》、《Jill of the Jungle》)
  • 公共领域:版权已过期或被放弃的游戏

allowlist.ts 查看完整的清单和法律文件。

模拟器运行时

Archive.org使用 乳化性 系统在浏览器中运行游戏。这包括:

仿真器许可证用于
DOSBoxGPL-2.0+DOS游戏
EM-DOSBoxGPL-2.0+DOSBox通过Emscripten编译为JavaScript
多机种街机模拟器BSD-3条款/GPL-2.0+街机游戏

我们与这些模拟器的关系:

  • 我们做 分发、捆绑或修改任何仿真器代码
  • 仿真器在运行时直接从archive.org获取
  • 我们只使用proxy-archive.org的嵌入系统,该系统托管这些模拟器的自己的副本
  • 临时内存缓存(见下文)纯粹是为了CORS解决方法

许可证兼容性说明:

MCP Apps SDK是Apache-2.0许可的。没有许可证冲突,因为:

  1. 街机服务器 捆绑、包含或链接GPL模拟器代码
  2. 模拟器在运行时从archive.org获取(就像加载任何CDN资源一样)
  3. 模拟器在用户的浏览器中执行,这是一个单独的执行上下文
  4. 这类似于嵌入YouTube视频——嵌入页面不是YouTube播放器的衍生产品

如果你创建了一个修改后的版本 捆绑包 在将仿真器代码引入发行版时,您必须遵守GPL-2.0+条款(copyleft,源代码可用性)。

脚本重新托管(CORS解决方案)

服务器临时缓存archive.org的 emulation.min.js 仅在内存中执行脚本(不持久化到磁盘),以绕过沙盒iframe中的浏览器安全限制。这是技术上的需要,而不是再分配:

  • 缓存使用 Cache-Control: no-store 标头
  • 服务器重新启动时清除缓存
  • 脚本在第一次请求时从archive.org获取
  • 除更换外,不进行任何修改 import() 随着 loadScript() 为了iframe兼容性

添加新游戏

要将游戏添加到列表中,您必须提供:

  1. 源URL:指向记录发行权的权威来源的链接(出版商网站、新闻稿、官方公告)
  2. 法律依据:明确解释为什么游戏可以合法发行
  3. 验证:确认archive.org标识符有效

如有疑问,请勿添加游戏。

概述

此示例演示了服务 外部HTML内容 作为MCP应用程序资源。该资源是一个静态加载器,它使用MCP Apps协议接收工具参数,然后从服务器端点获取处理后的游戏HTML。这种模式允许同一资源根据工具输入显示不同的游戏。

关键技术:

  • MCP Apps协议握手(ui/initializeui/notifications/tool-input)动态接收游戏ID
  • 每个游戏ID的服务器端HTML获取和处理
  • `` 用于解析相对于archive.org的相对URL的标签
  • baseUriDomains CSP元数据允许基本标记
  • 重写ES模块 import() 经典 `` 加载(用于srcdoc-iframe兼容性)
  • 绕过沙盒iframe中CORS限制的本地脚本端点
  • 权限检查 在加载游戏之前验证分发权限

关键文件

入门指南

npm install
npm run dev

服务器启动于 http://localhost:3002/mcp 默认情况下。设置 PORT 环境变量来改变它。

MCP客户端配置

{
  "mcpServers": {
    "arcade": {
      "url": "http://localhost:3002/mcp"
    }
  }
}

工具

工具说明UI
search_games搜索经过验证的共享软件/免费游戏
get_game_by_id加载并玩经过验证的版权游戏

search_games参数

参数类型默认值说明
searchTermstring-游戏名称或搜索词
maxResultsnumber10最大结果(1-50)

get_game_by_id参数

参数类型默认值说明
gameIdstring-游戏的Archive.org标识符

运作原理

1. Host calls search_games → Server searches allowlist + archive.org → Returns verified games only
2. Host calls get_game_by_id → Server verifies rights status
3. If rights verified → Tool returns success
4. If rights NOT verified → Tool returns error, game blocked
5. Host reads resource → Gets static loader with MCP Apps protocol handler
6. View performs ui/initialize handshake with host
7. Host sends tool-input with gameId → View fetches /game-html/:gameId
8. Server fetches embed HTML from archive.org and processes it:
   - Removes archive.org's  tag
   - Injects  for URL resolution
   - Rewrites ES module import() to  loading
   - Fetches emulation.min.js, patches it, serves from local endpoint
   - Injects layout CSS for full-viewport display
9. Game runs: emulator loads ROM, initializes MAME, game is playable

为什么要处理?

Archive.org的游戏嵌入页面使用ES模块 import() 用于加载仿真引擎。在 srcdoc iframe(由MCP主机使用), import() 失败,因为iframe具有 null 起源。服务器通过以下方式解决此问题:

  1. 获取 emulation.min.js 服务器端 并替换 import() 随着 window.loadScript()
  2. 提供已修补的脚本 从本地Express端点(/scripts/emulation.js)
  3. 使用 `` 它不受CORS限制,不像 fetch()import()

可用游戏(18个已验证的游戏)

所有游戏都有经过验证的发行权。看 allowlist.ts 法律文件。

id软件共享软件

标识符标题年份
doom-play厄运1993
msdos_DOOM_1993厄运(MS-DOS)1993
wolfenstein-3d《德军总部3D》1992
w3d-box《德军总部3D》v1.41993
commander_keen_volume_one_131《基恩指挥官:火星上的马龙》1990
heretic-dos异端1994

Apogee/3D Realms共享软件

标识符标题年份
duke-nukem2-sw杜克核武器II1993
3dduke13SW-altcontrols《Duke Nukem 3D》1996年
Bs-aog-sw1布莱克·斯通:《黄金异形》1993
rise-of-the-triad-the-hunt-begins-version-1.0三合会的崛起1994
biomenace1-sw生物威胁1993
Crystal-cave-sw1水晶洞穴1991
monster-bash1-sw怪物狂欢1993
halloween_harry_shareware万圣节哈利1993

Epic MegaGames共享软件/免费软件

标识符标题年份
Epic-pinball-sw1史诗弹珠台1993
radsw20根:虚空之外1995
msdos_Tyrian_2000_1999Tyrian 2000(免费软件)1999
jill-of-the-jungle-0mhz丛林中的吉尔(免费软件)1992

目录标签

目录标签

TypeScript浏览器自动化网页抓取街机游戏本地部署版权管理游戏模拟MCP应用浏览器游戏

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP