DreamMaker AI编程助手服务器

一个为DreamMaker/BYOND开发提供的MCP服务器,支持代码智能分析、编译运行和地图工具等功能,适用于游戏开发辅助。

  • by imcynic
  • Rust
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 imcynic/dm-mcp

使用说明

dm mcp

用于DreamMaker/BYOND开发的MCP服务器

一 MCP(模型上下文协议) 服务器,为AI编码助手提供对DreamMaker语言工具的完全访问权限。适用于Claude、Cursor、Windsurf、Continue和任何兼容MCP的客户端。

特性

代码智能

  • 解析和导航 -负载 .dme 项目、探索类型层次结构、搜索符号
  • 类型检查 -通过SpacemanDMM的dreamchecker进行实时诊断
  • 转到定义 -查找定义任何类型、过程或变量的位置

编译和运行时

  • 编译 -使用DM编译器构建项目
  • 运行/停止 -控制DreamDaemon实例
  • 主题调用 -发送 Topic() 向正在运行的服务器发送消息

地图工具

  • 地图信息 -获取尺寸、z级别、面积统计信息
  • 在地图上查找 -在地图上搜索对象实例
  • 渲染贴图 -生成PNG预览 .dmm 文件

协议支持

  • 完整的BYOND客户端协议实现(用于测试)
  • RUNSUB加密用于安全数据包处理

安装

先决条件

  • 锈 1.70+
  • 拜伦 (用于编译和运行时功能)

从源代码构建

git clone https://github.com/imcynic/dm-mcp.git
cd dm-mcp
cargo build --release

二进制文件将位于 target/release/dm-mcp.

配置您的MCP客户端

克劳德代码/光标/风帆

添加到MCP设置(通常 ~/.config/claude/mcp.json 或IDE设置):

{
  "mcpServers": {
    "dm-mcp": {
      "command": "/path/to/dm-mcp"
    }
  }
}

继续

添加到 ~/.continue/config.json:

{
  "experimental": {
    "modelContextProtocolServers": [
      {
        "name": "dm-mcp",
        "transport": {
          "type": "stdio",
          "command": "/path/to/dm-mcp"
        }
      }
    ]
  }
}

可用工具

工具 说明
dm_parse_environment 解析a .dme 文件并缓存对象树
dm_get_type 获取类型信息(变量、变量、父变量、子变量)
dm_get_proc 获取进程详细信息(参数、位置、文档)
dm_get_var 获取变量信息(类型、初始值)
dm_list_types 列出具有可选路径前缀过滤器的类型
dm_search_symbols 按模式搜索类型、procs或vars
dm_check_errors 运行类型检查器,获取诊断信息
dm_get_definition 查找任何符号的源位置
dm_compile 编译项目
dm_render_map 将地图渲染为PNG
dm_map_info 获取地图尺寸和统计数据
dm_find_on_map 在地图上查找类型的实例
dm_run 使用启动DreamDaemon .dmb 文件
dm_stop 停止跑步游戏
dm_status 获取游戏服务器状态
dm_topic 向服务器发送Topic()调用
dm_connect_test 测试BYOND客户端协议

示例用法

配置后,您可以向AI助手询问以下问题:

“解析/code/mys13/mys13.dme,并向我显示/mob/live的类型层次结构”

“在车站地图上找到/obj/机械/门的所有实例”

“检查代码库中的类型错误”

“编译项目并在1337端口上运行”

运作原理

dm-mcp使用 间距mm 用于解析和类型检查。这与SS13社区用于linting和IDE支持的工具相同。

服务器按照MCP规范,使用JSON-RPC通过stdio进行通信。

平台支持

  • 视窗 -完全支持(BYOND原生)
  • Linux -完全支持(需要BYOND Linux版本)
  • macOS -未经测试,但应与BYOND Wine包装器配合使用

BYOND路径

服务器在以下位置查找BYOND:

窗户:

  • C:\Program Files (x86)\BYOND\bin\
  • C:\Program Files\BYOND\bin\

Linux:

  • /usr/local/byond/bin/
  • /opt/byond/bin/
  • 系统路径(dm, DreamMaker, dreamdaemon, DreamDaemon)

发展

# Run with debug logging
RUST_LOG=dm_mcp=debug cargo run

# Run tests
cargo test

# Build release
cargo build --release

许可证

麻省理工学院

贡献

问题和PR欢迎!该项目旨在将现代人工智能工具引入BYOND/DreamMaker生态系统。


建于❤️ 为SS13社区