dm mcp
用于DreamMaker/BYOND开发的MCP服务器
一 MCP(模型上下文协议) 服务器,为AI编码助手提供对DreamMaker语言工具的完全访问权限。适用于Claude、Cursor、Windsurf、Continue和任何兼容MCP的客户端。
特性
代码智能
- 解析和导航 -负载
.dme项目、探索类型层次结构、搜索符号 - 类型检查 -通过SpacemanDMM的dreamchecker进行实时诊断
- 转到定义 -查找定义任何类型、过程或变量的位置
编译和运行时
- 编译 -使用DM编译器构建项目
- 运行/停止 -控制DreamDaemon实例
- 主题调用 -发送
Topic()向正在运行的服务器发送消息
地图工具
- 地图信息 -获取尺寸、z级别、面积统计信息
- 在地图上查找 -在地图上搜索对象实例
- 渲染贴图 -生成PNG预览
.dmm文件
协议支持
- 完整的BYOND客户端协议实现(用于测试)
- RUNSUB加密用于安全数据包处理
安装
先决条件
从源代码构建
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社区*
