Token导航 LogoToken导航TokenDH.com
MCP Server If logo
运维云端stdio官方级别未说明来源级核验

MCP Server If

MCP Server

一个支持AI助手通过标准化接口玩文本冒险游戏的模型上下文协议服务器,支持Glulx和Z-machine游戏格式,具有自动游戏状态持久化和可选日志模式功能。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude云端部署Claude DesktopClaude

安装说明

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

作者 / 组织

davidar

提供方

davidar

最后核验

2026/5/17 20:20

运行时

Python

快速接入

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

命令预览

uvx mcp-server-if

详细介绍

mcp服务器如果

用于玩交互式小说游戏的MCP(模型上下文协议)服务器。使像克劳德这样的人工智能助手能够通过标准化的界面玩文字冒险游戏。

特性

  • 玩Glulx(.ulx,.gblorb)和Z-machine(.z3-.z8,.zblorb)游戏
  • 自动游戏状态持久化(会话之间的保存/恢复)
  • 直接从IF档案下载游戏
  • 可选日志模式,用于反射式游戏
  • 适用于Claude Desktop、Claude Code和其他MCP客户端
  • 捆绑式解释器(glulxe代表Glulx,bocfel代表Z-machine)

安装

# Using uvx (recommended)
uvx mcp-server-if

# Or install with pip
pip install mcp-server-if

该软件包包括预编译的解释器。无需额外设置。

配置

环境变量

变量描述默认值
IF_GAMES_DIR存储游戏的目录~/.mcp-server-if/games
IF_GLULXE_PATH覆盖glulxe二进制文件的路径捆绑二进制文件
IF_BOCFEL_PATH覆盖bocfel二进制文件的路径捆绑二进制文件
IF_REQUIRE_JOURNAL需要日志反思false

命令行参数

mcp-server-if --help

Options:
  --games-dir PATH       Directory to store games
  --glulxe-path PATH     Path to glulxe binary (overrides bundled)
  --require-journal      Require journal reflections between turns

使用Claude Desktop

添加到您的Claude Desktop配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS或 %APPDATA%\Claude\claude_desktop_config.json 在Windows上):

{
  "mcpServers": {
    "interactive-fiction": {
      "command": "uvx",
      "args": ["mcp-server-if"]
    }
  }
}

使用Claude代码

claude mcp add interactive-fiction -- uvx mcp-server-if

可用工具

play_if

播放一轮互动小说。

play_if(game="zork", command="go north")
play_if(game="zork", command="", journal="...reflection...")  # with journaling

list_games

列出可用游戏及其保存状态。

download_game

从IF档案或任何URL下载游戏。

download_game(name="advent", url="advent.ulx")
download_game(name="bronze", url="https://example.com/Bronze.gblorb")

reset_game

重置游戏以重新开始(清除保存状态,保留日志)。

read_journal

阅读游戏日志。

read_journal(game="zork", recent=10)  # last 10 entries

search_journal

按关键字搜索日记条目。

search_journal(game="zork", query="treasure")

支持的游戏格式

Glulx (现代,使用glulxe解释器):

  • .ulx -原始Glulx游戏文件
  • .gblorb -Blorb容器与Glulx游戏

Z型机 (经典的Infocom格式,使用bocfel解释器):

  • .z3, .z4, .z5, .z7, .z8 -Z代码游戏文件
  • .zblorb -带有Z机器游戏的Blorb容器

在IF档案中查找游戏: Glulx游戏, Z码游戏.

日志模式

启用 --require-journalIF_REQUIRE_JOURNAL=true在此模式下:

  1. 播放第一个命令后,后续回合需要日记条目
  2. 日记条目必须至少100字
  3. 条目保存到 {game}/journal.jsonl
  4. 使用 read_journalsearch_journal 复习你的游戏

这鼓励深思熟虑、反思性的游戏,而不是匆匆忙忙地完成。

运作原理

  1. 游戏存储在 ~/.mcp-server-if/games/{name}/
  1. 每个游戏目录包含:

- 游戏文件(.ulx, .gblorb, .z5等等) - state/ -自动保存数据(在会话之间保持不变) - metadata.json -会话元数据 - journal.jsonl -播放日志(如果启用)

  1. 服务器根据文件格式选择合适的解释器:

- Glulx游戏→ 胶 - Z机器游戏→ 波菲尔

  1. 两个解释器都使用RemGlk进行基于JSON的I/O
  1. 游戏状态在每次回合后自动保存

发展

需要 紫外线,C编译器(gcc或clang),C++编译器(g++或clang++),make和git。

git clone --recursive https://github.com/davidar/mcp-server-if.git
cd mcp-server-if
uv sync --group dev
uv run pytest -v

uv sync 自动从源代码编译捆绑的解释器(glulxe和bocfel)。如果新克隆后缺少二进制文件,请运行 uv sync --reinstall-package mcp-server-if 强制重新编译。

故障排除

“未找到glulxe二进制文件”

这不应该发生在pip/uvx安装中。如果是这样:

  • 尝试重新安装: pip install --force-reinstall mcp-server-ifuv sync --reinstall-package mcp-server-if
  • 或设置 IF_GLULXE_PATH 手动安装的胶水

“找不到游戏文件”

使用 list_games 查看可用游戏,或 download_game 以获得新的。

保存/恢复命令不起作用

游戏中的保存/恢复会触发不支持的文件对话框。请改用自动保存系统-您的游戏状态会在会话之间自动保持。

许可证

MIT许可证-请参阅 许可证 了解详情。

学分

  • -Andrew Plotkin的Glulx VM解释器
  • 波菲尔 -Z机器翻译Chris Spiegel
  • RemGlk -JSON I/O的远程Glk库
  • 主控程序 -基于Anthropic的模型上下文协议

目录标签

目录标签

PythonClaude云端部署文本冒险游戏本地部署游戏服务器AI交互游戏状态持久化日志模式

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP