utmt-mcp
Allows reading and exporting GameMaker data files, providing tools for browsing project info, listing and retrieving entities (sprites, sounds, scripts, rooms, etc.), decompiling GML code, exporting assets, searching, and analyzing room contents.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@utmt-mcplist all gameobjects in data.win"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
utmt-mcp
通过 UndertaleModCli 读取和导出 GameMaker 数据文件(.win、.ios、.droid、.unx)的 MCP 服务器。
专为 LLM 工具调用而设计 —— 所有输出均为干净的 JSON,实体按名称查找。
跨平台 —— 支持 Windows、macOS、Linux。UndertaleModCli 为这三个平台都提供了官方构建。
快速开始
npx utmt-mcp或全局安装:
npm install -g utmt-mcp
utmt-mcpRelated MCP server: GMS2 MCP Server
环境要求
Node.js 18+
.NET 运行时(UndertaleModCli 需要)
UndertaleModCli —— 加入 PATH,或通过环境变量 / 工具参数指定
安装 UndertaleModCli
从 GitHub Releases 下载对应平台的构建包,解压后任选一种方式:
把可执行文件加入系统 PATH,或
将
UTMT_CLI_PATH环境变量设置为可执行文件的完整路径
在 Windows 上 CLI 二进制文件带 Windows 可执行文件后缀;macOS 和 Linux 上没有后缀。其余用法完全一致。
配置
环境变量
变量 | 说明 |
| UndertaleModCli 可执行文件的完整路径 |
MCP 客户端配置
在 MCP 客户端中(如 Claude Desktop、Cursor、Claude Code 等):
{
"mcpServers": {
"utmt": {
"command": "npx",
"args": ["-y", "utmt-mcp"],
"env": {
"UTMT_CLI_PATH": "/path/to/UndertaleModCli"
}
}
}
}或者在每次工具调用时显式传入 CLI 路径(无需环境变量):
{
"mcpServers": {
"utmt": {
"command": "npx",
"args": ["-y", "utmt-mcp"]
}
}
}工具
utmt-info
获取 GameMaker 数据文件的概览信息。返回 JSON,包含项目名称、GM 版本、isYYC 标志和各类资源数量。
参数:
dataFilePath(必填)— 数据文件路径cliPath(可选)— UndertaleModCli 路径
utmt-list-entities
列出指定类型的实体。返回 JSON 数组,包含索引、名称和简要属性。
参数:
dataFilePath(必填)entityType(必填)— 可选值:sprites、sounds、scripts、code、rooms、gameobjects、fonts、backgrounds、paths、shaders、strings、timelines、embeddedtextures、embeddedaudio、extensions、sequences、particlesystemsfilter(可选)— 不区分大小写的名称过滤offset(可选)— 分页偏移(默认:0)limit(可选)— 最大返回数,1-500(默认:50)cliPath(可选)
utmt-get-entity
获取单个实体的详细信息。返回 JSON,包含所有属性。
参数:
dataFilePath(必填)entityType(必填)— 可选值:sprite、sound、script、code、room、gameobject、font、string、generalinfoname(必填)— 实体名称(string类型用数字索引;generalinfo忽略此参数)cliPath(可选)
utmt-decompile-code
将代码条目反编译回 GML 源码。YYC 编译的游戏不可用。
参数:
dataFilePath(必填)codeName(必填)— 代码条目名称(如gml_Script_myFunction)cliPath(可选)
utmt-export-entity
将单个实体导出到磁盘。
参数:
dataFilePath(必填)entityType(必填)— 可选值:sprite、sound、code、embeddedtexturename(必填)— 实体名称(embeddedtexture用数字索引)outputPath(必填)— 输出文件或目录路径cliPath(可选)
导出格式:
sprite→ 输出目录中的 PNG 帧sound→ .ogg 或 .wav 文件code→ 反编译后的 .gml 文件embeddedtexture→ PNG 文件
utmt-search
跨所有类型按名称模式搜索实体。不区分大小写的子串匹配。
参数:
dataFilePath(必填)query(必填)— 搜索关键字entityTypes(可选)— 限定搜索类型(空 = 全部)cliPath(可选)
utmt-get-room-assets
获取一个房间内使用的所有资源:精灵(含尺寸及使用它们的对象)、对象(含位置和精灵)、代码条目(来自事件)以及图层汇总。
参数:
dataFilePath(必填)roomName(必填)— 房间名称(如scene_gameplay)cliPath(可选)
支持的数据文件格式
data.win— Windowsgame.ios— iOSgame.droid— Androidgame.unx— Linux/macOS
开发
git clone <repo>
cd utmt-mcp
pnpm install
pnpm run build许可证
MIT
English
MCP server for reading and exporting GameMaker data files (.win, .ios, .droid, .unx) via UndertaleModCli.
Designed for LLM tool use — all output is clean JSON, entity lookup is by name.
Cross-platform — runs on Windows, macOS, and Linux. UndertaleModCli publishes builds for all three platforms.
Quick Start
npx utmt-mcpOr install globally:
npm install -g utmt-mcp
utmt-mcpPrerequisites
Node.js 18+
.NET runtime (required by UndertaleModCli)
UndertaleModCli — either in PATH, or specify via env var / tool parameter
Installing UndertaleModCli
Download the build for your platform from GitHub Releases, extract, and either:
Add the executable to your system PATH, or
Set the
UTMT_CLI_PATHenvironment variable to the full path of the executable
On Windows the CLI binary has a Windows executable suffix; on macOS and Linux it has no suffix. Everything else is identical.
Configuration
Environment Variables
Variable | Description |
| Full path to the UndertaleModCli executable |
MCP Client Configuration
In your MCP client (e.g. Claude Desktop, Cursor, Claude Code, etc.):
{
"mcpServers": {
"utmt": {
"command": "npx",
"args": ["-y", "utmt-mcp"],
"env": {
"UTMT_CLI_PATH": "/path/to/UndertaleModCli"
}
}
}
}Or with an explicit CLI path in each tool call (no env needed):
{
"mcpServers": {
"utmt": {
"command": "npx",
"args": ["-y", "utmt-mcp"]
}
}
}Tools
utmt-info
Get overview of a GameMaker data file. Returns JSON with project name, GM version, isYYC flag, and resource counts.
Parameters:
dataFilePath(required) — Path to the data filecliPath(optional) — Path to UndertaleModCli
utmt-list-entities
List entities of a given type. Returns JSON array with index, name, and brief properties.
Parameters:
dataFilePath(required)entityType(required) — One of:sprites,sounds,scripts,code,rooms,gameobjects,fonts,backgrounds,paths,shaders,strings,timelines,embeddedtextures,embeddedaudio,extensions,sequences,particlesystemsfilter(optional) — Case-insensitive name filteroffset(optional) — Pagination offset (default: 0)limit(optional) — Max results, 1-500 (default: 50)cliPath(optional)
utmt-get-entity
Get detailed info for a single entity. Returns JSON with all properties.
Parameters:
dataFilePath(required)entityType(required) — One of:sprite,sound,script,code,room,gameobject,font,string,generalinfoname(required) — Entity name (or numeric index forstringtype; ignored forgeneralinfo)cliPath(optional)
utmt-decompile-code
Decompile a code entry back to GML source. Not available for YYC-compiled games.
Parameters:
dataFilePath(required)codeName(required) — Code entry name (e.g.gml_Script_myFunction)cliPath(optional)
utmt-export-entity
Export a single entity to disk.
Parameters:
dataFilePath(required)entityType(required) — One of:sprite,sound,code,embeddedtexturename(required) — Entity name (or numeric index forembeddedtexture)outputPath(required) — Output file or directory pathcliPath(optional)
Export formats:
sprite→ PNG frames in output directorysound→ .ogg or .wav filecode→ Decompiled .gml fileembeddedtexture→ PNG file
utmt-search
Search entities by name pattern across all types. Case-insensitive substring match.
Parameters:
dataFilePath(required)query(required) — Search queryentityTypes(optional) — Limit to specific types (empty = all)cliPath(optional)
utmt-get-room-assets
Get all assets used in a room: sprites (with dimensions and which objects use them), objects (with position and sprite), code entries (from events), and layer summary.
Parameters:
dataFilePath(required)roomName(required) — Room name (e.g.scene_gameplay)cliPath(optional)
Supported Data File Formats
data.win— Windowsgame.ios— iOSgame.droid— Androidgame.unx— Linux/macOS
Development
git clone <repo>
cd utmt-mcp
pnpm install
pnpm run buildLicense
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
AlicenseBquality-maintenanceMCP Server for interacting with Old School RuneScape Wiki API and game data files, providing tools to search the OSRS Wiki and access game data definitions through the Model Context Protocol.19341- Flicense-qualityFmaintenanceAn MCP server that parses GameMaker Studio 2 projects, providing developers and AI agents with quick access to project structure, GML code, and asset metadata.18
- Alicense-qualityCmaintenanceA Model Context Protocol (MCP) server for exploring, analyzing, and decompiling Java JAR files.1274MIT
- Alicense-qualityBmaintenanceA Python MCP server for searching, downloading, extracting, inspecting, and previewing game assets from multiple public sources.MIT
Related MCP Connectors
MCP server for doc2mcp documentation, generated by doc2mcp.
MCP server exposing the AceDataCloud Fish Audio API (text-to-speech with voice conditioning)
This MCP server provides seamless access to Malaysia's government open data, including datasets, w…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vivid-stasis-revival/utmt-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server