mcpField
D
DreamLand MUD

DreamLand MUD

远程服务
dreamland.rocks游戏娱乐81 天前更新

关于 DreamLand MUD

DreamLand MUD 是面向 DreamLand 文本 MUD 玩家及相关客户端的只读 MCP 服务,提供游戏帮助、物品搜索、新闻和在线信息。内容支持英语、俄语和乌克兰语,数据来自游戏站点及其公开接口。

主要功能

  1. 01搜索和浏览多语言帮助文章
  2. 02按属性筛选护甲、武器、魔法物品和宠物
  3. 03查询玩家及 Discord 桥接在线状态
  4. 04搜索和读取新闻归档

适用场景

  1. 01查找游戏规则或特定帮助主题
  2. 02按等级、部位或属性筛选游戏物品
  3. 03查看当前在线玩家和近期新闻

MCP 相关

MCP 服务通过 Streamable HTTP 公开帮助查询、物品搜索、在线状态和新闻工具;端点无需身份验证。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://dreamland.rocks/mcp/help
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

DreamLand 帮助 MCP 服务

面向 DreamLand 帮助语料(与 https://dreamland.rocks/help.html 中的文章相同,提供英语、俄语和乌克兰语版本)、物品搜索器、新闻存档和在线玩家信息的公开只读 MCP 服务。它只提供网站和 Discord 机器人已经展示的内容。

端点:https://dreamland.rocks/mcp/help(Streamable HTTP,无需身份验证)。

claude mcp add --transport http dreamland-help https://dreamland.rocks/mcp/help

Claude Desktop / claude.ai:依次选择“设置”->“连接器”->“添加自定义连接器”,并使用上述 URL。

工具

  • help_search(query, lang, limit):返回 ID、标题、类型和摘要。排序方式与网站和游戏客户端相同(static/site/js/helpsearch.js)。在开头添加分类词可缩小范围:spell fire、race elf。如果整个短语没有匹配结果,则会改为搜索其中的词语。

  • help_get(id | keyword, lang):以 Markdown 格式返回文章,附带指向网站的链接和“另请参阅”部分。多个文章共用的关键词会返回列表供选择。

  • help_categories(lang)、help_list(category, kind, lang):浏览内容。

  • item_search(type, query, level_min, level_max, slot, weapon_class, magic_type, stats, align, include_limited, sort, lang, limit):搜索护甲、武器、魔法物品或宠物,并提供属性、可使用对象、区域以及来源生物或房间。数据和筛选条件与 https://dreamland.rocks/searcher.html 相同(共用 static/site/js/itemsearch.js);不提供 vnum,限量物品会标记出来。

  • who(name, lang):查询游戏中的玩家(种族、氏族、头衔、转生次数)、Discord 桥接中的玩家、本周峰值和独立玩家数。指定名称时,返回种族、氏族、氏族等级和转生次数。数据来自引擎的公开 /who servlet,Discord 机器人也会调用它;列表缓存 30 秒。

  • news_list(query, limit)、news_get(id):浏览新闻存档,按时间从新到旧排列;文章保留原文(大多为乌克兰语)。指定查询词后,只保留主题或正文中包含所有这些词的文章。

lang 可为 en、ru 或 ua(uk 也可用)。未翻译的文本会回退到俄语,与游戏中的行为相同。

数据与更新

读取 static/data/help-index.json 和 help-body-{ru,en,ua}.json。这些文件由 site.js/build-help.js 根据游戏转储生成;索引变更时会重新读取。转储内容按 1 级角色生成,因此不会提供仅限不朽者或受等级限制的内容。帮助内容的修改会依次经过:内容部署 -> plug reload web(或每小时生成的转储)-> 网站数据构建(由 drone 执行,或由 30 分钟定时器触发)。

新闻来自 static/data/news-all.json,该文件由 site.js/build-news.js 根据游戏的便笺转储(webdump news)生成。

who 会请求 MUD_API(默认值为 http://127.0.0.1:1235,即同一台机器上引擎的 servlet 端口)。

物品数据来自 static/data/db_{armor,weapon,magic,pets}.json:searcher.cpp 会在启动时及每隔 4 小时将数据转储到 /tmp,再由 drone 复制到此处。文件仅包含通过区域重置放置在区域中的物品,不包含氏族区域和隐藏区域中的物品;noident 物品不会显示属性。每个文件发生变更时都会重新读取。

使用计数

stats.js 按 UTC 日期统计每种工具的调用次数,以及每个连接客户端程序的名称(initialize 中的 clientInfo.name)。不记录 IP 和参数。文件路径由 MCP_STATS 指定,默认值为 ~/mcp-help-stats.json(线上路径:/home/dreamland/mcp-help-stats.json);每分钟及退出时写入,保留 120 天的数据。

运行

npm install
PORT=8003 HELP_DATA=../static/data node server.js
HELP_DATA=/path/to/data npm test              # starts the server and calls every tool
node test.js --fresh                          # same, on live data fetched from dreamland.rocks/data
                                              # (who asks MUD_API, default https://dreamland.rocks/api in tests)
node test.js https://dreamland.rocks/mcp/help  # same checks against a running server

线上服务:dreamland-help-mcp.service(本目录中的副本)运行在 127.0.0.1:8003;nginx 配置了 location /mcp/help,并按 IP 限制为每秒 5 个请求(此处的 nginx.conf)。每次部署时,drone 都会运行 npm install;服务器检测到自身文件发生变更后会退出,systemd 随后会用新代码重启它。

评论

支持 Markdown

第一次接触 MCP?

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

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