MUD桥接服务器

该服务为AI助手提供与Threshold MUD的安全桥接连接,实现虚拟用户在MUD世界中的交互功能。

  • by gesslar
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 gesslar/lpc-mud-bridge-mcp

使用说明

MUD网桥MCP服务器

此MCP服务器允许AI助手通过安全网桥连接连接到Threshold MUD并与之交互。

概述

该系统由三个主要部分组成:

  1. MUD桥Daemon (/adm/daemons/mcp_bridge.c)-在MUD内运行,在端口8383上监听
  2. 虚拟用户对象 (/adm/obj/mcp_virtual_user.c)-代表MUD世界中的AI助手
  3. MCP服务器 (mcp-server.js)-实现MCP协议的Node.js服务器

建筑

AI Assistant <--MCP--> Node.js Server <--JSON/TCP--> MUD Bridge Daemon <--> Virtual User Object

特性

安全与安保

  • 命令筛选:只允许使用安全命令(移动、通信、观察)
  • 速率限制:防止命令垃圾邮件(最多30个命令/分钟)
  • 区域限制:无法访问管理区域(/adm/、/std/、/obj/)
  • 无持续变化:虚拟用户无法永久保存数据或修改世界
  • 沙盒环境:虚拟用户的生命值很低,没有战斗能力

可用的MCP工具

  • mud_connect -连接MUD世界
  • mud_execute_command -执行安全MUD命令
  • mud_observe_room -获取详细的房间信息
  • mud_move -按方向移动
  • mud_say -在当前房间发言
  • mud_who -查看谁在线
  • mud_disconnect -断开MUD的连接

快速开始

为了获得最快的设置,请使用附带的交互式快速入门工具:

cd /mud/frogdice/thresh/lib/mcp-servers/mud-bridge

# Option 1: Run the JavaScript version directly
node quick-start.js

# Option 2: Use the convenience script
./quick-start

此交互式工具将指导您完成以下操作:

  • 环境检查和依赖关系安装
  • MUD桥的连接测试
  • MCP协议测试
  • Claude桌面配置
  • 可用工具文档
  • 单个MCP工具的交互式测试

手动安装

  1. 安装MUD组件:

    # Copy the daemon and virtual user files to your MUD
    # They should already be in /adm/daemons/mcp_bridge.c and /adm/obj/mcp_virtual_user.c
    
  2. 启动MUD网桥守护进程:

    // In your MUD, as an admin:
    load_object("/adm/daemons/mcp_bridge");
    
  3. 安装Node.js依赖项:

    cd /path/to/mud-bridge
    npm install
    

用法

启动MCP服务器

node mcp-server.js

默认情况下,服务器将连接到localhost:8383上的MUD网桥守护进程。

与客户进行测试

node mcp-mud-client.js [mud_host] [mud_port]

这提供了一个交互式界面来测试网桥连接。

与AI助手集成

将此服务器添加到MCP客户端配置中。然后,AI助手将可以访问MUD工具,并可以:

  • 以虚拟角色的身份连接到MUD世界
  • 安全探索房间和区域
  • 与其他玩家沟通
  • 观察并描述游戏世界
  • 执行安全命令以获得游戏辅助

MCP配置

适用于克劳德桌面

将此添加到您的Claude Desktop MCP设置文件中:

位置:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mud-bridge": {
      "command": "node",
      "args": ["/path/to/mud-bridge/mcp-server.js"],
      "env": {
        "MUD_HOST": "localhost",
        "MUD_PORT": "8383"
      }
    }
  }
}

对于其他MCP客户端

配置您的MCP客户端以运行:

node /path/to/mud-bridge/mcp-server.js

对于环境变量:

  • MUD_HOST -MUD网桥守护进程主机(默认:localhost)
  • MUD_PORT -MUD网桥守护程序端口(默认值:8383)

测试MCP连接

在设置AI助手之前,请测试一切是否正常工作:

  1. 启动MUD并加载网桥守护进程:

    // In your MUD as an admin:
    load_object("/adm/daemons/mcp_bridge");
    
  2. 运行测试客户端:

    cd /path/to/mud-bridge
    node test-mcp.js
    

    这将测试MCP协议和与MUD网桥的连接。

  3. 对于交互式测试,请使用附带的客户端:

    node mcp-mud-client.js localhost 8383
    
  4. 或与Claude Desktop连接 并尝试:

    • “你能连接到MUD并告诉我你周围的情况吗?”
    • “帮我导航到城镇广场”
    • “MUD目前有谁在线?”
    • “描述我所在的房间并列出出口”

测试客户端将向您准确显示哪些功能正常,哪些可能需要故障排除。

AI助手交互示例

配置后,AI助手可以帮助:

User: "Connect to the MUD and help me find the library"
AI: I'll connect to the MUD and help you navigate to the library.
    *connects and looks around*
    I can see you're currently in the Town Square. From here, I can see exits
    leading north to the Merchant District and east to the Residential Area.
    Libraries are typically found in academic districts. Let me explore...

User: "What can you see in this room?"
AI: Let me observe your current location in detail.
    *uses mud_observe_room*
    You're in the Great Library of Sable. This vast repository of knowledge
    contains thousands of books on shelves reaching up to the vaulted ceiling.
    There are several NPCs here: a helpful librarian and a few scholars
    studying quietly. I can see exits leading west back to the town square.

环境变量

MCP服务器接受以下环境变量:

  • MUD_HOST -MUD网桥守护进程的主机名/IP(默认值:“localhost”)
  • MUD_PORT -MUD网桥守护程序的端口(默认值:“8383”)
  • DEBUG -启用调试日志记录(设置为“1”或“true”)

例子:

MUD_HOST=your-mud-server.com MUD_PORT=8383 DEBUG=1 node mcp-server.js

配置

MUD网桥守护程序配置

编辑 /adm/daemons/mcp_bridge.c 修改:

  • MCP_PORT -要监听的端口(默认值:8383)
  • MAX_CONNECTIONS -最大并发连接数(默认值:10)
  • allowed_commands -允许的命令列表
  • restricted_areas -禁止路径列表

虚拟用户配置

编辑 /adm/obj/mcp_virtual_user.c 修改:

  • max_commands_per_minute -速率限制(默认值:30)
  • restricted_commands -被阻止的命令
  • safe_starting_rooms -虚拟用户生成的地方

安全考虑

AI助手能做什么

  • 在MUD的公共区域走动
  • 观察并描述房间、物体和玩家
  • 与其他玩家沟通
  • 执行基本信息命令
  • 帮助导航和探索

AI助手不能做什么

  • 访问管理区域或功能
  • 修改游戏文件或数据
  • 攻击其他玩家或NPC
  • 使用向导/管理员命令
  • 持续的性格发展
  • 访问受限命令

故障排除

连接问题

  1. 检查MUD网桥守护进程:

    // In MUD:
    load_object("/adm/daemons/mcp_bridge")->query_connections()
    
  2. 检查端口可访问性:

    telnet localhost 8383
    
  3. 检查日志:

    # MUD logs
    tail -f /path/to/mud/log/mcp_bridge
    
    # Node.js server logs
    # Server logs to stderr
    

虚拟用户问题

  1. 检查虚拟用户状态:

    // In MUD:
    load_object("/adm/daemons/mcp_bridge")->query_virtual_users()
    
  2. 速率限制:

    • 虚拟用户每分钟只能执行30个命令
    • 等待速率限制重置
  3. 命令限制:

    • 只允许使用安全命令
    • 检查 allowed_commands 网桥守护进程中的列表

发展

添加新的MCP工具

  1. 在中添加工具定义 mcp-server.js 到 tools/list 处理器
  2. 在中添加处理程序函数 tools/call 处理器
  3. 更新此文档

扩展虚拟用户功能

  1. 修改 /adm/obj/mcp_virtual_user.c 添加新的安全功能
  2. 更新网桥守护进程以处理新的消息类型
  3. 在Node.js服务器中添加相应的MCP工具

许可证

MIT许可证-您可以根据MUD的需求自由修改和扩展。