mcpField
C
C64 Bridge

C64 Bridge

本地服务
github.com游戏娱乐412 周前更新

关于 C64 Bridge

C64 Bridge 是用于控制 Commodore 64 硬件与 VICE 模拟器的 MCP 服务。它支持 C64 Ultimate、Ultimate 64 及 U2 系列卡带,可在一次 MCP 会话中在真机与模拟器之间切换,适合希望从 AI 客户端操作 C64 的用户。

主要功能

  1. 01运行 BASIC、6510 汇编及 PRG/CRT 程序
  2. 02读写内存并轮询屏幕
  3. 03图形渲染与声音播放工具
  4. 04SID 音乐播放与生成工具
  5. 05运行时在硬件与 VICE 后端之间切换

适用场景

  1. 01从 AI 客户端在真机上启动 C64 程序
  2. 02读写 C64 内存进行调试
  3. 03在 VICE 模拟器中开发和测试程序

MCP 相关

该项目是基于官方 TypeScript SDK 的 MCP 服务,通过 stdio 连接 MCP 客户端,并以分组工具、资源和提示词的形式暴露 C64 控制能力。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"chrisgleissner-c64bridge": {
"command": "npx",
"args": [
"-y",
"c64bridge"
],
"env": {
"LOG_LEVEL": "<LOG_LEVEL>",
"C64BRIDGE_CONFIG": "<C64BRIDGE_CONFIG>",
"C64_MODE": "<C64_MODE>",
"C64U_HOST": "<C64U_HOST>",
"C64U_PORT": "<C64U_PORT>",
"C64U_PASSWORD": "<C64U_PASSWORD>",
"VICE_BINARY": "<VICE_BINARY>",
"VICE_VISIBLE": "<VICE_VISIBLE>",
"VICE_WARP": "<VICE_WARP>",
"GITHUB_TOKEN": "<GITHUB_TOKEN>"
}
}
}
}
启动命令npx -y c64bridge
需要配置的环境变量
LOG_LEVELLogger verbosity.
C64BRIDGE_CONFIGPath to the C64 Bridge configuration file.
C64_MODEActive backend.
C64U_HOSTUltimate 64 host name or IP address.
C64U_PORTUltimate 64 REST port.
C64U_PASSWORD密钥Ultimate 64 network password sent as X-Password.
VICE_BINARYVICE emulator binary to launch.
VICE_VISIBLELaunch VICE with a visible window when possible.
VICE_WARPEnable VICE warp mode.
GITHUB_TOKEN密钥GitHub token for optional RAG discovery against GitHub.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmc64bridge1.0.6

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

C64 Bridge

徽标

你的 Commodore 64 AI 命令桥接工具。

npm Build codecov License: GPL v2 Platform

在 VS Code 中安装 在 VS Code Insiders 中安装 在 Visual Studio 中安装 在 Cursor 中安装 与 Claude Code 配合使用

C64 Bridge 是一个 MCP 服务,可通过 AI 客户端控制和操作 Commodore 64。

它可以在 C64 Ultimate、Ultimate 64 或 U2 系列卡带上运行程序、读写内存、渲染图形和播放声音。你还可以切换到 VICE 模拟器会话,让一次 MCP 对话涵盖硬件和模拟环境。

它基于官方 TypeScript @modelcontextprotocol/sdk 构建,支持用于本地 AI 集成的 stdio,并提供可选的 HTTP 桥接,方便手动检查。

C64 Bridge 已列入官方 MCP Registry。

目录

概述

C64 Bridge 为 AI Agent 提供统一入口,用于在 Commodore 64 环境中驱动程序执行、访问内存、处理图形和声音、管理存储、执行打印机工作流以及检索知识。

核心工作流很简单:

  1. 启动 MCP 服务。
  2. 将其指向 C64U/U64 硬件、U2-family 卡带、VICE,或任意已配置的组合。
  3. 让客户端调用分组的 MCP 工具,例如 c64_program、c64_memory、c64_graphics 和 c64_sound。
  4. 同时配置多个后端时,使用 c64_select_backend 在运行时切换后端。

功能

  • 用于 BASIC、6510 汇编以及 PRG 或 CRT 执行的程序运行工具
  • 完整的内存访问功能,包括原始读写和屏幕轮询
  • 用于驱动器、文件、打印机和任务编排的系统集成
  • 用于播放、创作、生成和验证的 SID 音乐工具
  • 内置知识资源和提示词,让大模型工作流更安全
  • 支持混合运行时:c64u(C64U/U64)、u2(U2/U2+/U2+L)和 vice

快速开始

若要采用最简方式,请完成以下四项:

  1. 安装 Node.js 24+ 和 npm。
  2. 启动服务。
  3. 为 C64U/U64、U2-family、VICE 配置后端,或配置任意组合。
  4. 从 VS Code 或其他 MCP 客户端连接。
1. 安装 Node.js 24+ 和 npm

Linux(Ubuntu 或 Debian):

推荐方式:

sudo apt update
sudo apt install -y curl ca-certificates
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
sudo apt install -y nodejs

备用方式:

sudo apt install -y nodejs npm

macOS:

brew install node@24
brew link --overwrite node@24

Windows:

# winget
winget install OpenJS.NodeJS.LTS
# or Chocolatey
choco install nodejs-lts -y

验证安装:

node --version

预期结果:v24.x

2. 启动服务

使用以下任一入口。

无需任何设置,通过 npx 运行:

npx -y c64bridge@latest

通过本地 npm 安装运行:

mkdir -p ~/c64bridge && cd ~/c64bridge
npm init -y
npm install c64bridge
node ./node_modules/c64bridge/dist/index.js

从源码运行,用于开发或测试:

git clone https://github.com/chrisgleissner/c64bridge.git
cd c64bridge
./build install
npm start

启动时,服务会探测选定的目标、执行连接检查,然后提示它正在 stdio 上运行。

3. 添加后端配置

服务可连接以下一个或多个目标:

  • C64U/U64 硬件(c64u)
  • U2、U2+ 或 U2+L(u2)
  • VICE(vice)

详细的查找顺序、合并规则、后端示例和覆盖方式,请参阅下方的配置部分。

4. 从 MCP 客户端连接

C64 Bridge 提供一个标准的 stdio 入口,供所有 MCP 客户端使用:

  • VS Code(GitHub Copilot) — 请参阅 VS Code MCP 设置。
  • Claude Code(CLI 和 VS Code 插件) — 请参阅 Claude Code。
  • Cursor、Visual Studio、VS Code Insiders — 使用本 README 顶部的安装徽章。
  • 其他任何 MCP 客户端 — 将其指向同一个 stdio 服务,并使用运行时环境变量参考中记录的环境变量以及 mcp.json 中的注册表清单。

所有客户端使用相同的启动命令:对于已发布的软件包,使用 npx -y c64bridge@latest;对于本地检出版本,使用 node scripts/start.mjs。在共享的配置中选择 c64u、u2 或 vice;客户端只需要命令即可。

配置

配置文件顺序

服务按以下顺序读取配置:

  1. C64BRIDGE_CONFIG,如果它指向一个配置文件
  2. 项目根目录中的 .c64bridge.json
  3. 主目录中的 ~/.c64bridge.json
配置合并规则

扫描这些文件时,服务会按后端部分合并配置。

  • 首个包含相应后端部分(c64u、u2 或 vice)的文件会提供该后端的配置。
  • 因此,项目本地的 .c64bridge.json 可以定义 c64u,而 ~/.c64bridge.json 可以定义 u2 或 vice。
后端配置:C64 Ultimate

C64 Ultimate 或 Ultimate 64 可使用以下配置:

{
  "c64u": {
    "host": "c64u",
    "port": 80,
    "networkPassword": "secret"
  }
}
  • 如果未找到配置文件,默认目标为 c64u:80,且不设置网络密码。
  • 只有在 C64 Ultimate 的网络设置中启用了密码时,才需要配置 networkPassword。
  • C64U_HOST、C64U_PORT 和 C64U_PASSWORD 会覆盖已配置的主机、端口和网络密码。
原生输入和菜单屏幕的固件要求

以下操作需要近期新增的 Ultimate REST 端点。C64 Bridge 会检测端点是否不可用并提供说明,不会暴露原始固件错误。

执行依赖端点的操作前,请读取 c64://platform/status。它会安全地探测 machine:input,并报告该端点是否可用。原生输入不可用时,普通 C64 输入请使用 key 或 write_text,而不是物理矩阵事件。只有在 Ultimate 菜单可见后,才能确认 machine:menu_screen 是否可用;无法读取矩阵时,其工具会提供备用指引,而不是返回传输错误。

  • c64_input 的 keyboard、release_all 和 state,以及硬件 joystick,均使用 machine:input。这些功能需要提供该端点的 C64U 固件,或 3.15 及更高版本的 U64 固件。U2 系列扩展卡不提供 machine:input。
  • c64_system 的 read_menu_screen 使用 machine:menu_screen;它需要提供该端点的 C64U 固件,或 3.15 及更高版本的 U64/U2 固件。
  • 在 C64U/U64 上,c64_system 的 power_cycle 会使用 machine:menu_screen 验证 Tool Menu 导航,因此具有相同的固件要求。U2 系列的 power_cycle 则使用 REST 重启。
后端配置:U2 系列

U2、U2+ 和 U2+L 卡带使用此配置:

{
  "u2": {
    "host": "u2",
    "port": 80,
    "networkPassword": "secret"
  }
}

设置 C64_MODE=u2,即可将其设为初始后端。U2_HOST、U2_PORT 和 U2_PASSWORD 可覆盖此配置。U2 系列固件提供共享的 REST 子集;不支持机器输入、调试寄存器访问、关机或流式传输。read_menu_screen 需要 U2 固件 3.15 或更高版本。

后端配置:VICE

C64 Bridge 可以连接到已运行的 VICE Binary Monitor,也可以为你管理本地 VICE 进程。通常的托管配置只需要模拟器二进制文件;如果无法自动检测到 VICE 资源目录,则还需要指定该目录:

{
  "vice": {
    "exe": "/usr/bin/x64sc",
    "directory": "/usr/local/share/vice"
  }
}
  • 如果 PATH 中有 x64sc 或 x64,则 exe 为可选项。如果未配置显式的二进制文件,运行时会优先使用 /usr/local/bin/x64sc(如果存在),否则会回退到 PATH 中的 x64sc 或 x64。
  • directory 为可选项。省略时,C64 Bridge 会在模拟器二进制文件附近和常见系统位置查找标准 C64 ROM 集,以自动检测 VICE 资源目录。
  • host 和 port 为可选项,默认值为 127.0.0.1:6502,这是 C64 Bridge 为托管的本地会话启动的 Binary Monitor 端点。对于本地端点,C64 Bridge 会先尝试复用已运行的监视器,然后再启动自己的进程。
  • visible、warp 和 args 为可选的运行时控制项。它们可以放在 JSON 配置中,但大多数用户会通过 MCP 客户端设置对应的环境变量,因为这些是每个会话的偏好。
  • 默认情况下,VICE 会在首次访问时延迟启动。设置环境变量 VICE_PREWARM=1 后,C64 Bridge 会在 MCP 启动期间于后台启动或连接 VICE。
  • VICE_BINARY、VICE_DIRECTORY、VICE_HOST、VICE_PORT、VICE_VISIBLE、VICE_WARP、VICE_ARGS 和 VICE_PREWARM 可覆盖 JSON 中的值,无需编辑配置文件。
VICE 窗口模式

根据 MCP 服务的运行位置选择窗口模式:

模式配置行为适用场景
可见VICE_VISIBLE=trueVICE 会打开常规桌面窗口。Warp 默认关闭。你在本地开发,想要查看或操作模拟器。
最小化VICE_VISIBLE=true、VICE_ARGS="-minimized"VICE 仍以常规桌面应用的形式运行,但窗口启动时会最小化。Binary Monitor 操作、屏幕读取、帧捕获和键盘输入仍可正常使用。你在本地使用 Agent,不希望模拟器抢占焦点,但仍想保留还原窗口的选项。
无头/XvfbVICE_VISIBLE=falseC64 Bridge 会在没有面向用户的桌面窗口的情况下启动 VICE,并使用 Xvfb,除非已禁用。Warp 默认开启。CI、无人值守测试、服务端,或任何不需要检查模拟器窗口的会话。

最小化模式和无头模式并不相同。最小化模式仍是一个可见的桌面会话,拥有真实的 VICE 窗口;只是窗口管理器会在启动时将其隐藏。无头/Xvfb 模式没有面向用户的窗口,因此更适合自动化,但如果需要通过查看模拟器来调试,则不太方便。

对于常规的本地 MCP 使用,建议优先选择最小化 VICE。它可以避免抢占焦点,同时保留还原窗口以便查看的能力。对于 CI 以及远程或无显示环境,建议优先选择无头/Xvfb。

FORCE_XVFB=1 会强制使用 Xvfb,即使当前有图形会话也是如此。DISABLE_XVFB=1 会禁用此回退,并使用当前显示器;这主要用于排查显示器检测问题。

推荐的 VICE 配置

本地 Agent 会话,VICE 最小化启动:

{
  "servers": {
    "c64bridge": {
      "command": "npx",
      "args": ["-y", "c64bridge@latest"],
      "env": {
        "C64_MODE": "vice",
        "VICE_VISIBLE": "true",
        "VICE_ARGS": "-minimized",
        "VICE_WARP": "false"
      }
    }
  }
}

无头自动化,VICE 在不显示桌面窗口的情况下运行:

{
  "servers": {
    "c64bridge": {
      "command": "npx",
      "args": ["-y", "c64bridge@latest"],
      "env": {
        "C64_MODE": "vice",
        "VICE_VISIBLE": "false",
        "VICE_WARP": "true"
      }
    }
  }
}

如果 VICE 安装在常规搜索路径之外,请在任一示例中添加 VICE_BINARY;如果 ROM/资源自动检测失败,还需添加 VICE_DIRECTORY。

说明

VICE 仅支持 MCP API 参考中标有 VICE 勾选标记的操作。不支持的操作会返回 unsupported_platform。

运行时后端切换

可任意组合配置 c64u、u2 和 vice。C64 Bridge 使用 C64_MODE(默认为 c64u)启动,并让每个已配置的后端保持就绪,以供 c64_select_backend 使用。

配置目标主要限制
c64uC64 Ultimate、Ultimate 64完整的 Ultimate REST 接口,包括机器输入和流式传输。
u2U2、U2+、U2+L共享的 REST 子集;不支持机器输入、调试寄存器、关机或流式传输。
viceVICE 模拟器由 Binary Monitor 提供支持的模拟器控制;不提供 Ultimate REST API。

使用 c64://platform/status 查看当前活动后端和可用工具。在同一提示词中注明目标,例如 u2: list drives、c64u: run this PRG 或 vice: write HELLO。对于 U2 系列卡带,c64_system 的 power_cycle 使用 REST 重启;C64U/U64 使用经过验证的 Tool Menu 导航,而 VICE 则会重新启动。

提示词示例(通过 VS Code 中的 Copilot 发出,使用 GPT 5.4 Medium):

c64u: write a small BASIC program that clears the screen and prints HELLO C64U
vice: write a small BASIC program that clears the screen and prints HELLO VICE

以下截图适用于支持帧捕获的两个后端。C64U 使用流式视频帧;VICE 会捕获并规范化其显示内容。U2 系列卡带不提供固件流式传输,因此没有对应的截图行。

后端截图
C64 UltimateC64 Ultimate 后端切换示例
U2 系列帧捕获不可用(不支持固件流式传输)。
VICEVICE 后端切换示例

VS Code MCP 设置

本节介绍 VS Code 自带的 GitHub Copilot 集成。有关 Claude Code 的 VS Code 插件,请参阅 Claude Code——它读取 .mcp.json,而不是 .vscode/mcp.json。

如果已在本地检出此仓库,请打开准备好的 .vscode/mcp.json。

否则,请将以下内容放入你自己的 .vscode/mcp.json:

{
  "servers": {
    "c64bridge": {
      "command": "npx",
      "args": [
        "-y",
        "c64bridge@latest"
      ]
    }
  }
}

然后点击 c64bridge 条目上方显示的启动按钮。

现在,MCP 服务应该已启动:

VS Code 已启动 MCP 服务

有关详情,请参阅官方 VS Code MCP 服务文档。

启用 C64 Agent

服务启动后,在 VS Code 中切换到 C64 Agent。

此 Agent 已预先配置用于 Commodore 64 工作。它会引导 Copilot 使用 c64bridge 工作流处理 BASIC、6502 汇编、SID 音频、VIC-II 图形、内存检查、磁盘操作、打印、流式传输和设备控制。

VS Code C64 Agent

可选覆盖项

你可以在 .vscode/mcp.json 中添加 env 条目,以选择配置文件、覆盖 C64 Ultimate 连接详情,或指定初始后端:

{
  "servers": {
    "c64bridge": {
      "command": "npx",
      "args": [
        "-y",
        "c64bridge@latest"
      ],
      "env": {
        "C64BRIDGE_CONFIG": "/home/you/.c64bridge.json",
        "C64U_HOST": "192.168.1.99",
        "C64U_PORT": "80",
        "C64U_PASSWORD": "secret",
        "C64_MODE": "c64u",
        "LOG_LEVEL": "debug"
      }
    }
  }
}
  • C64BRIDGE_CONFIG 指向特定配置文件
  • C64U_HOST、C64U_PORT 和 C64U_PASSWORD 可覆盖 C64 Ultimate 连接设置,无需编辑配置文件
  • C64_MODE 将初始后端指定为 c64u、u2 或 vice;U2_HOST、U2_PORT 和 U2_PASSWORD 可覆盖所选 U2 配置。
  • LOG_LEVEL=debug 启用详细日志记录

对于 VICE 专属覆盖项,例如 VICE_ARGS=-minimized、VICE_VISIBLE=false 或自定义 VICE 路径,请使用后端配置:VICE中的设置方式。

MCP 客户端配置中的环境变量

根目录 mcp.json 中记录的每个运行时环境变量都可以通过 MCP 客户端配置提供,包括 .vscode/mcp.json 中的 servers.c64bridge.env。

当环境变量对应某个 JSON 配置字段时,覆盖顺序始终如下:

  1. MCP 客户端配置或 Shell 中显式设置的环境变量
  2. 从 C64BRIDGE_CONFIG、仓库中的 .c64bridge.json,然后 ~/.c64bridge.json 加载并合并的 JSON 配置部分
  3. 编译到服务中的内置默认值

当环境变量没有对应的 JSON 配置项时,顺序如下:

  1. MCP 客户端配置或 Shell 中显式设置的环境变量
  2. 内置默认值

以下记录的运行时环境变量均统一遵循此规则。

示例:以最小化状态启动 VICE,并指定 ROM 或资源目录,同时提供一个可在运行时即时选择的硬件备用方案:

{
  "servers": {
    "c64bridge": {
      "command": "node",
      "args": ["${workspaceFolder}/scripts/start.mjs"],
      "type": "stdio",
      "env": {
        "C64_MODE": "vice",
        "C64U_HOST": "c64u",
        "C64U_PORT": "80",
        "VICE_BINARY": "/usr/local/bin/x64sc",
        "VICE_DIRECTORY": "/usr/local/share/vice",
        "VICE_VISIBLE": "true",
        "VICE_ARGS": "-minimized",
        "VICE_WARP": "false"
      }
    }
  }
}

示例:将 JSON 配置文件用于后端端点,但在 VS Code 中覆盖诊断、轮询和 RAG 行为:

{
  "servers": {
    "c64bridge": {
      "command": "node",
      "args": ["${workspaceFolder}/scripts/start.mjs"],
      "type": "stdio",
      "env": {
        "C64BRIDGE_CONFIG": "/home/you/.c64bridge.json",
        "LOG_LEVEL": "debug",
        "C64BRIDGE_POLL_MAX_MS": "8000",
        "C64BRIDGE_POLL_INTERVAL_MS": "200",
        "RAG_BUILD_ON_START": "1",
        "RAG_EMBEDDINGS_DIR": "/home/you/c64bridge-data"
      }
    }
  }
}
运行时环境变量参考

mcp.json 中记录的每个运行时环境变量都可以在 MCP 客户端配置中设置,包括 .vscode/mcp.json 中的 servers.c64bridge.env。

服务运行时
变量默认值JSON 配置键说明
C64_MODEc64u—选择活动后端(c64u/U64 硬件、u2/U2 系列卡带,或 vice 模拟器)
C64_TASK_STATE_FILEauto—覆盖用于持久化 MCP 后台任务状态的路径
C64BRIDGE_CONFIG~/.c64bridge.json配置路径配置 JSON 的路径
C64BRIDGE_DIAGNOSTICS_DIR~/.c64bridge/diagnostics—覆盖持久化 MCP 诊断文件的写入目录
C64BRIDGE_DISABLE_DIAGNOSTICS0—设为 1 可禁用持久化诊断日志记录
C64BRIDGE_POLL_INTERVAL_MS200—正常运行模式下,在程序输出验证期间两次屏幕轮询之间的间隔
C64BRIDGE_POLL_MAX_MS2000—正常运行模式下,程序输出验证超时前的最长轮询时间
C64BRIDGE_POLL_STABILIZE_MS100—成功匹配轮询结果后,在认定输出稳定前额外等待的时间
LOG_LEVELinfo—日志记录器的详细程度(debug、info、warn、error)
C64 Ultimate
变量默认值JSON 配置键说明
C64U_HOSTc64uc64u.host覆盖 C64 Ultimate 主机名或 IP 地址
C64U_PASSWORDc64u.networkPassword覆盖作为 X-Password 发送的 C64 Ultimate 网络密码
C64U_PORT80c64u.port覆盖 C64 Ultimate REST 端口
U2 系列
变量默认值JSON 配置键说明
U2_HOSTu2.host当 C64_MODE=u2 时,覆盖 U2/U2+/U2+L 主机名或 IP 地址
U2_PASSWORDu2.networkPassword当 C64_MODE=u2 时,覆盖作为 X-Password 发送的 U2 系列网络密码
U2_PORTu2.port当 C64_MODE=u2 时,覆盖 U2 系列 REST 端口
VICE 运行时
变量默认值JSON 配置键描述
DISABLE_XVFB0—设为 1 可禁用 Xvfb 回退,仅使用当前显示器
FORCE_XVFB0—设为 1 可强制托管的 VICE 启动使用 Xvfb,即使检测到图形会话也是如此
VICE_ARGSvice.args传递给托管的 VICE 启动进程的额外命令行参数,例如用于启动时最小化可见窗口的 -minimized
VICE_BINARYx64scvice.exe用于启动托管模拟器会话和捕获音频的 VICE 二进制文件;仅当此覆盖值缺失或无效时才会自动搜索
VICE_DIRECTORY自动检测vice.directory覆盖用于查找 ROM 和 UI 资源的 VICE 资源目录;仅当此覆盖值缺失或无效时才会自动搜索
VICE_HOST127.0.0.1vice.host覆盖 VICE Binary Monitor 主机
VICE_PORT6502vice.port覆盖 VICE Binary Monitor 端口
VICE_PREWARM0vice.prewarm设为 1 可在 MCP 启动期间于后台启动或连接 VICE;默认禁用,因此 VICE 会在首次使用时延迟启动
VICE_VISIBLEtruevice.visible为 true 时以桌面窗口启动 VICE;为 false 时使用无头模式/Xvfb 托管启动
VICE_WARP可见时为 false,无头模式时为 truevice.warp为托管的 VICE 会话启用加速模式
VICE_XVFB_DISPLAY:99—托管的 VICE 在 Xvfb 下启动时使用的显示编号
VICE 音频捕获
变量默认值JSON 配置键描述
VICE_LIMIT_CYCLES120000000—VICE 生成音频时渲染的最大 CPU 周期数
VICE_MODEntsc—VICE 音频捕获的默认视频制式(ntsc|pal)
VICE_RUN_TIMEOUT_MS10000—无头模式下 VICE 运行的超时时间,单位为毫秒
SID 播放
变量默认值JSON 配置键描述
SIDPLAY_BINARYsidplayfp—生成音频时要启动的 sidplayfp 二进制文件
SIDPLAY_LIMIT_CYCLES120000000—sidplayfp 生成音频时渲染的最大 CPU 周期数
SIDPLAY_MODEntsc—默认 SID 播放模式(ntsc|pal)
SIDPLAYFP_BINARY—SIDPLAY_BINARY 的旧版别名(sidplayfp 可执行文件名称)
RAG
变量默认值JSON 配置键描述
GITHUB_TOKEN—用于通过 GitHub 可选地发现 RAG 内容的个人访问令牌
RAG_BUILD_ON_START0—设为 1 可在服务启动时重建嵌入
RAG_DISCOVER_FORCE_REFRESH0—设为 1 可在获取外部文档时忽略缓存的发现结果
RAG_DOC_FILES—要纳入 RAG 的额外文档,以逗号分隔
RAG_EMBEDDINGS_DIRdata—存放 RAG 嵌入 JSON 文件的目录
RAG_REINDEX_INTERVAL_MS0—定期重新索引的间隔,单位为毫秒(0 表示禁用)
测试
变量默认值JSON 配置键描述
C64_TEST_TARGET—覆盖集成测试,使其连接模拟或真实硬件(mock|real)

Claude Code

Claude Code 作为一流的 MCP 客户端受到支持。它与其他客户端使用相同的标准启动命令,以及相同的后端配置文件和环境变量,只有发现文件不同。

Claude Code CLI — 只需一条命令即可注册已发布的服务:

claude mcp add c64bridge -- npx -y c64bridge@latest

使用 --scope user 可让所有项目都能使用它,使用 --scope project 则会在当前仓库旁写入 .mcp.json。后端选择(c64u、u2 或 vice)、主机、端口和密码均来自配置中说明的相同文件;针对各个 Shell 的覆盖值则来自运行时环境变量参考中的变量。

项目级发现 — 此仓库包含一份已提交的 .mcp.json,通过 node scripts/start.mjs 将 Claude Code 指向本地源代码。使用 claude(CLI 或 VS Code 插件)打开仓库时,Claude Code 会在首次运行时提示启用项目级服务。批准一次后,该工作区便可发现 c64_* 工具。

Claude Code VS Code 插件 — 该插件读取与 CLI 相同的 .mcp.json 和用户级 claude mcp add 注册信息。除安装插件并批准项目服务提示外,无需额外设置。现有的 .vscode/mcp.json 由 GitHub Copilot 读取,而非 Claude Code;这两个文件面向使用不同配置架构的不同客户端,因此可以共存且互不冲突。

验证是否正常 — 注册后,运行 claude mcp list(CLI)或打开 MCP 面板(插件),并查找 c64bridge。然后向 Claude Code 提出类似 “使用 vice:编写一个小型 BASIC 程序,清除屏幕并打印 HELLO CLAUDE” 的请求——它应会直接调用 c64_select_backend 和 c64_program。如果未显示工具,请确认 PATH 中有 Node 24+,已按要求的作用域批准服务,并且后端可根据配置一节正常访问。

示例工作流

使用 ChatGPT 和 VS Code 创作一首儿童歌曲:

鸭子歌曲

然后为它绘制 PETSCII 艺术:

鸭子 PETSCII

以下是预期工作流的示例:

  1. 让 MCP 客户端生成或改进面向 C64 的内容。
  2. 使用 c64_program、c64_graphics 和 c64_sound 等分组工具执行内容。
  3. 通过读取屏幕、捕获帧、检查内存或分析音频来验证结果。

HTTP 调用

  • 首选传输方式为 stdio。
  • HTTP 桥接默认处于禁用状态,仅供手动测试使用。
  • 以下 curl 命令仅用于演示,以便你了解通过 HTTP 调用分组 MCP 工具的形式。
# Upload and run BASIC
curl -s -X POST -H 'Content-Type: application/json' \
  -d '{"op":"upload_run_basic","program":"10 PRINT \"HELLO\"\n20 GOTO 10"}' \
  http://localhost:8000/tools/c64_program | jq

# Read current screen (PETSCII→ASCII)
curl -s -X POST -H 'Content-Type: application/json' \
  -d '{"op":"read_screen"}' \
  http://localhost:8000/tools/c64_memory | jq

# Reset the machine
curl -s -X POST -H 'Content-Type: application/json' \
  -d '{"op":"reset"}' \
  http://localhost:8000/tools/c64_system

构建和测试

项目根目录下的 ./build 脚本将所有开发任务封装在一个自述式接口中:

./build --help                                       # full command reference
./build                                              # install + build + test matrix (full CI run)
./build --skip-tests                                 # install + build only
./build build                                        # TypeScript compile + doc generation
./build test                                         # integration tests (mock backend)
./build test --real                                  # test against real hardware
./build test --platform vice --target mock           # single test leg
./build test:matrix                                  # full matrix (c64u/mock · vice/mock · vice/device)
./build coverage                                     # merged coverage report
./build coverage:single --platform c64u --target mock
./build check                                        # build + test matrix (no install)
./build rag:rebuild                                  # rebuild RAG embeddings
./build release --version 1.2.3                      # prepare a release

启动 MCP 服务不由 ./build 管理。请按照上文快速开始一节所示,使用 npm start(从源代码启动)或 npx -y c64bridge@latest(已发布的软件包)。

文档

静态 MCP 接口

此仓库在 ./mcp 文件夹中包含一份 MCP 服务接口的自动生成静态镜像。

Agent 无需连接服务即可检查可用的工具、资源、提示词和架构。

MCP API 参考

此 MCP 服务提供 17 个工具、27 个资源和 10 个提示词,用于控制 Commodore 64。

工具

地址范围约定:address + length 表示起始地址加字节数;startAddress + endAddress 表示包含边界的范围。

c64_batch

在单个请求中执行多个 c64bridge 工具调用,降低多步骤工作流的延迟。

未定义任何操作。

c64_config

用于配置读取和写入、诊断及快照的分组入口。

操作描述必需输入可选输入C64UU2VICE
batch_update在单个请求中应用多项配置更新。——✅✅✅
diff将当前配置与快照进行比较。path—✅✅✅
get读取配置类别或特定项目。categoryitem✅✅✅
info获取 Ultimate 硬件信息和状态。——✅✅✅
list列出固件报告的配置类别。——✅✅✅
load_flash从闪存存储加载配置。——✅✅
read_debugreg读取 Ultimate 调试寄存器($D7FF)。——✅
reset_defaults将固件配置重置为出厂默认值。——✅✅
restore从快照文件恢复配置。pathapplyToFlash=false✅✅✅
save_flash将当前配置保存到闪存存储。——✅✅
set在所选类别中写入配置值。category、item、value—✅✅✅
shuffle搜索 PRG/CRT 文件,并运行每个文件,可选择截取屏幕画面。—root="/"、extensions=["prg","crt"]、durationMs=5000、captureScreen=true、maxPrograms=10、outputPath、resetDelayMs=100✅✅
snapshot将配置快照保存到磁盘,以便日后恢复或比较。path—✅✅✅
version获取固件版本详情。——✅✅✅
write_debugreg向 Ultimate 调试寄存器($D7FF)写入十六进制值。value—✅
c64_debug

用于执行 VICE 调试器操作(断点、寄存器、单步执行)的分组入口。

操作描述必需输入可选输入C64UU2VICE
continue_execution退出 Binary Monitor 并恢复 CPU 执行(BM 0xAA Exit)。——✅
create_checkpoint在 VICE 中创建新的检查点(断点)。addressendAddress、stopOnHit=true、enabled=true、temporary=false、label、operations、memspace✅
delete_checkpoint按 ID 移除检查点。id—✅
get_checkpoint按 ID 获取单个检查点。id—✅
get_monitor_state读取 CPU 寄存器并返回当前监视器状态。—memspace✅
get_registers读取寄存器值,可按名称或 ID 筛选。—memspace、registers✅
list_checkpoints列出所有活动的 VICE 检查点(断点)。——✅
list_registers列出可用寄存器(元数据)。—memspace✅
nuclear_reset终止并重新启动 VICE 进程(仅限受管理的实例)。——✅
set_condition为检查点附加条件表达式。id、expression—✅
set_registers写入寄存器值。writesmemspace✅
step对 CPU 执行单步操作。—count=1、mode✅
step_return继续执行,直到当前例程返回。——✅
toggle_checkpoint按 ID 启用或禁用检查点。id、enabled—✅
wait_for_state轮询 CPU 寄存器,直到 PC 等于 expectedPC 或超时。—expectedPC、timeoutMs=5000、pollMs=100✅
c64_disk

用于磁盘挂载、列表、映像创建和程序发现的分组入口。

操作描述必需输入可选输入C64UU2VICE
create_image创建指定格式的空白磁盘映像。format, pathdiskname, tracks✅✅
file_info检查 Ultimate 文件系统中文件的元数据。path—✅✅
find_and_run按名称子串搜索 PRG/CRT,并运行第一个匹配项。nameContainsroot="/", extensions, caseInsensitive=true, sort="discovered", waitMs=0, captureCandidates=10✅✅
list_drives列出 Ultimate 驱动器槽位及其已挂载的映像。——✅✅✅
mount挂载磁盘映像,可选择验证并重试。支持验证。drive, imagetype, attachmentMode, driveMode, verify=false, powerOnIfNeeded=true, resetAfterMount=true, maxRetries=2, retryDelayMs=500✅✅✅
unmount从 Ultimate 驱动器槽位中移除已挂载的映像。drive—✅✅
c64_drive

用于驱动器电源、模式、重置和 ROM 操作的分组入口。

操作描述必需输入可选输入C64UU2VICE
load_rom将自定义 ROM 临时加载到 Ultimate 驱动器槽位。drive, path—✅✅
power_off关闭指定的 Ultimate 驱动器槽位。drive—✅✅✅
power_on开启指定的 Ultimate 驱动器槽位。drive—✅✅✅
reset对所选驱动器槽位发送 IEC 重置。drive—✅✅✅
set_mode设置驱动器槽位的仿真模式(1541/1571/1581)。drive, mode—✅✅✅
c64_extract

用于精灵图/字符集提取、内存转储、文件系统统计和固件健康检查的分组入口。

操作描述必需输入可选输入C64UU2VICE
charset在 RAM 中定位并提取 2KB 字符集。—address, scanRange="common", outputPath, pauseDuringRead=true, minNonEmptyChars=32, minEntropy=0.3✅✅✅
firmware_health执行固件就绪状态检查并报告状态指标。——✅✅✅
fs_stats遍历文件系统,并按扩展名汇总数量/字节数。—root="/", extensions, includeContainers=true, maxSamplesPerExtension=3✅✅
memory_dump将 RAM 范围转储到十六进制或二进制文件,并附带清单元数据。address, length, outputPathformat="hex", chunkSize=512, pauseDuringRead=true, retries=1✅✅✅
sprites扫描 RAM 中的精灵图,并可选择导出 .spr 文件。address, lengthstride=64, maxSprites=16, minNonZeroRows=4, minSetBits=12, includeBase64=true, outputDir, pauseDuringRead=true✅✅✅
c64_graphics

用于帧捕获和图形渲染工作流的分组入口。

操作描述必需输入可选输入C64UU2VICE
capture_frame从活动后端捕获一个或多个完整视频帧。—count=1、includePixels=true、encoding="base64"✅✅
get_display_state读取 VIC-II 和 CIA2 寄存器,以确定当前图形模式和内存布局。C64U/U64、U2 系列硬件和 VICE 使用相同的共享内存路径,因此响应结构相同。——✅✅✅
render_bitmap导入图像文件,将其转换为 VIC-II 位图内存,写入 RAM 并显示。imagePath、formatbitmapAddress=8192、screenAddress=1024、borderColor=0、backgroundColor=0、preserveAspect=true✅✅✅
render_petscii_art根据提示词、文本或显式位图数据创建 PETSCII 艺术,并可选择在 C64 上显示。—prompt、text、maxWidth、maxHeight、borderColor、backgroundColor、foregroundColor、dryRun=false、bitmap✅✅✅
render_petscii_text显示 PETSCII 文本,并可选择边框和背景颜色。textborderColor、backgroundColor✅✅✅
render_sprite通过直接写入内存并修补 VIC-II 寄存器,在指定位置以指定颜色显示提供的 63 字节精灵数据。spriteindex=0、x=100、y=100、color=1、multicolour=false✅✅✅
c64_input

跨平台 PETSCII 输入,以及原生 Ultimate 键盘和操纵杆事件。

操作描述必需输入可选输入C64UU2VICE
joystick模拟操纵杆输入。在 C64U/U64 上使用 machine:input。在 VICE 上,按下时会连接 VICE 的 I/O 模拟 joyport 设备;该设备还会将 CIA 第 5–7 线拉低,因此端口 1 会产生伪按键(例如 SHIFT+C=),而端口 2 的上方向读取值为 $1E,而非 $7E。在 VICE 上建议使用端口 2 并测试位 0–4。port、controls、actiondurationMs=80✅✅
key点击单个按键,或按住一段时间。keydurationMs=0、count=1✅✅✅
keyboard通过 machine:input 发送实体 C64 键盘矩阵事件(需要提供该功能的 C64U 固件版本,或 U64 3.15+)。inputs、transition—✅
release_all释放通过 machine:input 注入的所有按键和操纵杆控制(需要提供该功能的 C64U 固件版本,或 U64 3.15+)。——✅
state读取通过 machine:input 按住的按键和操纵杆控制(需要提供该功能的 C64U 固件版本,或 U64 3.15+)。——✅
write_text将文本字符串发送到键盘缓冲区,并展开 PETSCII 令牌。textdelayMs=0✅✅✅
c64_memory

用于内存 I/O、屏幕读取和屏幕轮询的分组入口。

操作描述必需输入可选输入C64UU2VICE
compare_memory逐字节比较两个内存区域并报告差异。address1、address2、lengthmaxDiffs=10✅✅✅
copy_memory将一个 RAM 区域复制到另一个地址。source、dest、length—✅✅✅
disassemble将一段内存反汇编为带注释的 6502/6510 指令,包括未公开操作码的规范名称。若有 .vs 文件,则会应用符号注释。适用于 C64U/U64、U2 系列硬件和 VICE。addresslength=64、instructionCount✅✅✅
fill_memory使用重复字节模式填充一段内存范围。address、length、pattern—✅✅✅
read读取一段字节并返回带地址元数据的十六进制转储。addresslength=256✅✅✅
read_screen将当前 40x25 文本屏幕转换为 ASCII 并返回。——✅✅✅
save_memory将一段内存范围转储到本地文件,可选择包含 PRG 加载地址头。startAddress、endAddress、filePathasPrg=true✅✅✅
search_memory在一段内存范围内搜索字节模式并返回匹配地址。startAddress、endAddress、patternmaxResults=10✅✅✅
wait_for_text轮询屏幕,直到出现子字符串或正则表达式,或超时。patternisRegex=false、caseInsensitive=true、timeoutMs=3000、intervalMs=100✅✅✅
write将十六进制字节序列写入 RAM。支持验证。address、bytesverify=false、expected、mask、abortOnMismatch=true✅✅✅
c64_printer

用于 Commodore 和 Epson 打印辅助功能的分组入口。

操作描述必需输入可选输入C64UU2VICE
define_chars定义自定义打印机字符(Commodore DLL 模式)。firstChar、charssecondaryAddress✅✅
print_bitmap通过 Commodore(BIM)或 Epson ESC/P 工作流打印位图行。printer="commodore"、columnsrepeats、useSubRepeat、secondaryAddress、ensureMsb=true、mode、density、timesPerLine✅✅
print_text生成可将文本打印到设备 4 的 BASIC 程序。texttarget="commodore"、secondaryAddress、formFeed=false✅✅
c64_program

用于程序上传、执行和批处理工作流的分组入口。

操作描述必需输入可选输入C64UU2VICE
batch_run运行多个 PRG/CRT 程序并在运行后进行断言。programscontinueOnError=false、durationMs=2000、outputPath、resetDelayMs=100✅✅✅
bundle_run将屏幕、内存和调试寄存器捕获到一个制品包中。runId、outputPathcaptureScreen=true、memoryRanges、captureDebugReg✅✅✅
cross_platform_greeting在一个或多个已配置的后端上显示平台定制问候语、捕获屏幕截图并验证结果。支持验证。—platforms、messageTemplate="HAVE A GREAT DAY, {PLATFORM}!"、verify=true、captureScreenshot=true、outputPath、restoreActiveBackend=true、timeoutMs=1500、pollIntervalMs=100✅✅✅
load_prg从 Ultimate 存储加载 PRG,但不执行。pathsymbolsFile✅✅
run_crt挂载并运行 CRT 卡带映像。path—✅✅
run_prg在 C64U/U64 或 U2 系列硬件上从 Ultimate 可见的存储加载并执行 PRG,或在 VICE 上从主机本地路径加载并执行。pathsymbolsFile✅✅✅
upload_run_asm汇编 6502/6510 源代码、上传 PRG 并执行。支持验证。programverify=false✅✅✅
upload_run_basic上传 Commodore BASIC v2 源代码并立即执行。支持验证。programverify=false✅✅✅
c64_rag

用于 BASIC 和汇编 RAG 查询的分组入口。

操作描述必需输入可选输入C64UU2VICE
asm从本地知识库检索 6502/6510 汇编参考资料。qk=3✅✅✅
basic从本地知识库检索 BASIC 参考资料和代码片段。qk=3✅✅✅
c64_select_backend

在 C64U/U64 硬件、U2 系列卡带和 VICE 模拟器之间运行时切换活动后端。

操作描述必需输入可选输入C64UU2VICE
select切换活动运行时后端,无需重启 MCP 服务。backend—✅✅✅
c64_sound

用于 SID 控制、播放、作曲和分析工作流的分组入口。

操作描述必需输入可选输入C64UU2VICE
analyze请求验证时自动分析 SID 播放。requestdurationSeconds、expectedSidwave✅✅✅
capture_samples从 C64 Ultimate 音频 UDP 流捕获原始立体声 PCM 样本。—count=256、encoding="base64"✅
compile_play编译 SIDWAVE 或 CPG 源码,并可选择立即播放。—sidwave、cpg、format、output="prg"、dryRun=false✅✅✅
generate生成轻量级 SID 琶音播放序列。—root="C4"、pattern="0,4,7"、steps=16、tempoMs=120、waveform="tri"、preset="classic"✅✅✅
note_off清除门控位以释放 SID 声部。voice—✅✅✅
note_on触发 SID 声部,并可配置波形、ADSR 和音高。—voice=1、note、frequencyHz、system="PAL"、waveform="pulse"、pulseWidth=2048、attack=1、decay=1、sustain=15、release=3✅✅✅
pipeline编译 SIDWAVE 乐谱、播放并分析录音。支持验证。—sidwave、cpg、output="prg"、waitBeforeCaptureMs=500、analysisDurationSeconds=3、expectedSidwave、verifySilenceBefore=true、verifySilenceAfter=true、silenceDurationSeconds=1.5、silenceRmsThreshold=0.02、postSilenceWaitMs=200、silenceWaitMs=150✅✅✅
play_mod_file通过 Ultimate SID 播放器播放 MOD 音轨模块。path—✅✅
play_preset编译并播放内置 SID 预设,例如贝多芬的 Für Elise。支持验证。—preset="fuer_elise"、platforms、verify=true、analysisDurationSeconds=4、waitBeforeCaptureMs=400、restoreActiveBackend=true✅✅✅
play_sid_file播放存储在 Ultimate 文件系统中的 SID 文件。pathsongnr✅✅
record_analyze录制固定时长的音频并返回 SID 分析指标。在 c64u 上使用 Ultimate 音频流,在其他后端上使用主机麦克风。durationSecondsexpectedSidwave✅✅✅
reset对 SID 寄存器执行软重置或硬重置,以清除异常。—hard=false✅✅✅
set_volume设置 SID 主音量寄存器 $D418(0-15)。volume—✅✅✅
silence_all静音所有 SID 声部,可选择进行音频验证。支持验证。—verify=false✅✅✅
c64_stream

用于启动和停止 Ultimate 流会话的分组入口。

操作描述必需输入可选输入C64UU2VICE
start启动向 host:port 目标传输的 Ultimate 流会话。stream、target—✅
stop停止正在运行的 Ultimate 流会话。stream—✅
c64_system

用于电源、重置、菜单和后台任务控制的分组入口。

操作说明必需输入可选输入C64UU2VICE
list_tasks列出已知后台任务及其状态元数据。——✅✅✅
menu切换 Ultimate 菜单按钮以进行导航。——✅✅
pause暂停机器,直到恢复运行。——✅✅
performance_report汇总当前或最新 MCP 会话中的诊断跨度和工具延迟。—scope="current"、includeTimeline=true、maxEntries=25✅✅✅
power_cycle将活动后端恢复到全新状态。C64U/U64 工具菜单验证需要 machine:menu_screen(提供该功能的 C64U 固件版本,或 U64 3.15+);U2 系列通过 REST 重启。——✅✅✅
poweroff关闭 C64U/U64,或退出 VICE。U2 系列硬件无法关机。——✅✅
read_menu_screen通过 machine:menu_screen 读取活动 Ultimate 菜单的原始字符和颜色矩阵(提供该功能的 C64U 固件版本,或 U64/U2 3.15+)。——✅✅
reboot触发固件重启,以从故障中恢复。——✅✅✅
reset执行软重置,不切断电源。——✅✅✅
resume暂停后恢复 CPU 执行。——✅✅
start_task启动按间隔运行的指定后台任务。name、operationarguments={}、intervalMs=1000、maxIterations✅✅✅
stop_all_tasks停止所有正在运行的后台任务并持久化状态。——✅✅✅
stop_task停止指定的后台任务并清除其计时器。name—✅✅✅
c64_vice

用于读取和更新选定 VICE 资源的分组入口。

操作说明必需输入可选输入C64UU2VICE
resource_get读取 VICE 配置资源(仅限安全前缀)。name—✅
resource_set写入 VICE 配置资源(仅限安全前缀)。name、value—✅
资源
名称概要
c64://guide/index说明如何使用每个知识包,以及何时查阅。
c64://guide/bootstrap介绍在 C64 上进行安全自动化、验证和回滚的分步规则。
c64://guide/fast-paths精简的路由指南,介绍单次调用演示、后端切换,以及何时优先采用编排而非手动组合工具。
c64://vice/binary-monitor-spec介绍影响所有基于 VICE 的操作的传输帧格式、单客户端限制、命令语义和监视器副作用。
c64://basic/spec介绍 BASIC v2 的令牌定义、语法规则和设备 I/O 指南。
c64://basic/pitfalls速查指南,涵盖引号处理、行长、令牌化、变量名和其他 BASIC 陷阱。
c64://assembly/6510-spec介绍 6510 CPU 的官方操作码矩阵、寻址模式和零页策略。
c64://sound/sid/spec介绍富有表现力的 SID 播放所需的寄存器映射、波形行为和 ADSR 包络。
c64://sound/sidwave/spec定义 SID 作曲工作流使用的 SIDWAVE 交换格式。
c64://sound/sid/file-format介绍导入音乐的 PSID/RSID 标头、元数据块和兼容性说明。
c64://sound/sid/best-practices汇总悦耳 SID 音乐所用的可靠波形、ADSR 预设、乐句设计和验证工作流。
c64://graphics/vic/spec介绍 VIC-II 上的光栅时序、精灵控制、颜色 RAM 和位图模式。
c64://graphics/character-set介绍将 PETSCII 代码映射到屏幕代码、字形和键盘输入的字符代码表。
c64://graphics/petscii/style-guide介绍用于创作艺术且易读的 PETSCII 显示内容的调色板、可读性预设、抖动模式和最佳实践。
c64://graphics/sprite-charset/best-practices介绍硬件加速图形的精灵与字符集工作流、内存布局、VIC-II 配置、常见陷阱和可靠技巧。
c64://memory/map按页面介绍 64 KB 地址空间中的硬件、ROM 和 RAM 区域。
c64://memory/zero-page-and-workspace介绍零页变量、BASIC 指针和 KERNAL 工作区地址。
c64://basic/rom-routines映射 BASIC ROM 的关键位置、可复用的解释器例程、数值辅助例程、字符串辅助例程,以及 C64 专用的 BASIC 续接入口。
c64://kernal/rom-routines映射 KERNAL ROM 向量、跳转表条目、内部例程、串行/磁带/屏幕服务和重置处理程序。
c64://io/spec介绍 VIC-II、SID、CIA 和系统控制寄存器,包括地址范围和使用说明。
c64://io/cia/spec详细介绍 CIA 1/2 寄存器、计时器、中断和键盘矩阵布局。
c64://printer/spec介绍打印机的设备设置、控制码和 Ultimate 64 集成。
c64://printer/commodore/text介绍 Commodore MPS 文本输出的字符集、控制码和格式设置。
c64://printer/commodore/bitmap详细介绍 MPS 位图打印的位图模式、图形命令和数据布局。
c64://printer/epson/text列出 Epson FX 文本输出的 ESC/P 控制码和格式设置建议。
c64://printer/epson/bitmap介绍 Epson 位图作业的位图模式、密度选项和数据打包方式。
c64://printer/prompt-guide可复用的提示词模板,通过 MCP 服务处理复杂打印作业。
提示词
名称描述
assembly-program将 6502/6510 例程请求路由到规范汇编技能。
basic-program将定制 Commodore BASIC v2 请求路由到规范 BASIC 技能。
cross-platform-demo将快速可视化演示请求路由到跨平台演示技能。
drive-manager将磁盘映像和驱动器状态请求路由到规范驱动器技能。
graphics-demo将图形请求路由到规范图形技能。
hello-world将超快速 Hello World 和冒烟测试请求路由到规范问候技能。
memory-debug将可逆的内存检查或修补工作路由到规范内存技能。
preset-music-demo将快速演奏熟悉曲调的请求路由到 SID 音乐技能。
printer-job将打印机相关工作路由到规范打印机技能。
sid-music将 SID 播放和作曲工作路由到规范 SID 技能。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。