bind-alias-mcp
Advanced tools
+9
-7
@@ -32,4 +32,6 @@ #!/usr/bin/env node | ||
| // exist, screens/variables interplay, etc.) change with the mod and per-world | ||
| // cfg, so they live in "PATCH TO YOUR PROJECT RULE.md" instead of here — paste | ||
| // that into your agent's system prompt / project rules. | ||
| // cfg, so they live in src/agent_system_prompt.md instead of here — paste | ||
| // that into your agent's system prompt. Run src/sync_mcp_instructions.sh | ||
| // after editing this file to refresh "src/raw api instruction.json", a preview of | ||
| // exactly what a caller receives from tools/list. | ||
| // =========================================================================== | ||
@@ -52,3 +54,3 @@ | ||
| description: | ||
| 'Alias chain definition of 0 or more alias(es). Space for alias(with arg) separator, backslash for alias_name-arg separator or arg-arg separator, " quotes multi-word arg preventing space inside to be treated as alias(with arg) separator: e.g. `say\\"hello world"`. Semicolon for alias\'s (the alias named as `alias`) extra separator: e.g. `alias\\turnDown;setPitch\\90`, `alias\\turnRight;yaw\\90`', | ||
| 'Alias chain definition. Space for alias(with arg) separator, backslash for alias_name-arg separator or arg-arg separator, " quotes multi-word arg preventing space inside to be parsed as alias(with arg) separator: e.g. `say\\"hello world"`. Semicolon for alias\'s (the alias named as `alias`) extra separator: e.g. `alias\\turnDown;setPitch\\90`, `alias\\turnRight;yaw\\90`', | ||
| }, | ||
@@ -58,3 +60,3 @@ nap: { | ||
| description: | ||
| "Defer the tool call's response by N client_tick (same unit as the wait\\N alias). The chain runs immediately; the response then blocks until N client_tick have elapsed. The game keeps running the whole time — you cannot react to anything or poll state until the call returns.", | ||
| "Defer the tool call's response by N client_tick. The chain runs immediately; the response then blocks until N client_tick have elapsed. The game keeps running the whole time — you cannot react to anything or poll state until the call returns.", | ||
| }, | ||
@@ -140,3 +142,3 @@ }, | ||
| name: "writeNotes", | ||
| description: "Write (create or overwrite) a file.", | ||
| description: "Write a file.", | ||
| inputSchema: { | ||
@@ -173,3 +175,3 @@ type: "object", | ||
| description: | ||
| "Optional list of recipe queries: result-item ids ('minecraft:torch', 'torch') or name substrings ('iron sword'). Omit to list newly unlocked recipes (diff).", | ||
| "Optional list of recipe queries. Omit to list newly unlocked recipes.", | ||
| }, | ||
@@ -449,3 +451,3 @@ }, | ||
| capabilities: { tools: {} }, | ||
| serverInfo: { name: "bind-alias-mcp", version: "2.1.1" }, | ||
| serverInfo: { name: "bind-alias-mcp", version: "2.1.0" }, | ||
| }), | ||
@@ -452,0 +454,0 @@ ); |
+1
-1
| { | ||
| "name": "bind-alias-mcp", | ||
| "version": "2.1.1", | ||
| "version": "2.1.2", | ||
| "mcpName": "io.github.Prohect/bind-alias-mcp", | ||
@@ -5,0 +5,0 @@ "description": "MCP stdio bridge for the BindAlias Minecraft mod — query game state, take screenshots, execute aliases, and edit config", |
+38
-12
| # BindAlias MCP | ||
| MCP bridge for the [BindAlias](https://github.com/Prohect/BindAlias) Minecraft mod. Lets AI agents control Minecraft: query game state, take screenshots, execute aliases, and edit the mod config. | ||
| MCP bridge for the [BindAlias](https://github.com/Prohect/BindAlias) Minecraft mod. Lets AI agents control Minecraft: query game state, take screenshots, execute aliases, manage recipes, read/write notes, and edit the per-save agent config. | ||
@@ -8,3 +8,3 @@ ## Prerequisites | ||
| - [Minecraft](https://www.minecraft.net) with the [BindAlias](https://github.com/Prohect/BindAlias) mod loaded | ||
| - The mod's HTTP API enabled (listens on `127.0.0.1:25575`) | ||
| - The mod's HTTP API enabled (listens on `127.0.0.1:25575` by default, with automatic port fallback) | ||
@@ -20,4 +20,4 @@ ## Install in Zed | ||
| "command": { | ||
| "path": "<[npx]|[<<path_to>node.exe>]>", | ||
| "args": ["<<path_to>BindAlias-MCP/mcp_server.js>"] | ||
| "path": "npx", | ||
| "args": ["bind-alias-mcp"] | ||
| } | ||
@@ -29,2 +29,25 @@ } | ||
| Or with a local checkout: | ||
| ```json | ||
| { | ||
| "context_servers": { | ||
| "bind-alias": { | ||
| "command": { | ||
| "path": "node", | ||
| "args": ["path/to/BindAlias-MCP/mcp_server.js"] | ||
| } | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
| Use `--port N` to match a non-default mod port: | ||
| ```json | ||
| "args": ["path/to/BindAlias-MCP/mcp_server.js", "--port", "25576"] | ||
| ``` | ||
| Zed spawns MCP servers at startup — reload Zed (`zed-reload`) after editing to pick up the new server. | ||
| ## Install via CLI | ||
@@ -42,10 +65,13 @@ | ||
| | Tool | What it does | | ||
| | --------------- | -------------------------------------------------------------------------------- | | ||
| | `getFullState` | Game state snapshot: screen, world, dimension, player pos/rot, health, held item | | ||
| | `getScreenshot` | Trigger F2 screenshot, return as base64 PNG | | ||
| | `runAlias` | Execute a BindAlias alias (34+ argless, 18 with args) | | ||
| | `defineAlias` | Define a new alias (requires being in a world) | | ||
| | `readCFG` | Read `bind-alias.cfg` contents | | ||
| | `writeCFG` | Overwrite `bind-alias.cfg` and reload | | ||
| | Tool | What it does | | ||
| | --------------- | ---------------------------------------------------------------------------------------------------------------- | | ||
| | `getFullState` | Full game state snapshot — screen, world, dimension, player pos/rot, health, hotbar, inventory, effects, nearby players, plus drained chat/mod/sound/recipe messages | | ||
| | `getScreenshot` | Take a screenshot, return as base64 PNG with the standard state envelope | | ||
| | `runAlias` | Execute a chain of aliases. Optional `nap` (client ticks) defers the response while the game keeps running. | | ||
| | `defineAlias` | Define a new alias at runtime (requires being in a world). | | ||
| | `readCFG` | Read the per-save agent config (`saves/<save>/bind-alias/agent.cfg`). Requires being in a singleplayer world. | | ||
| | `writeCFG` | Overwrite the per-save agent config and reload. Requires being in a singleplayer world. | | ||
| | `readNotes` | Read a file from the per-save agent directory (`saves/<save>/bind-alias/`). Plain filenames only, no paths. | | ||
| | `writeNotes` | Write a file to the per-save agent directory. Plain filenames only, no paths. | | ||
| | `listRecipes` | List unlocked recipes (diff or by query). Only works with a recipe-book screen open (inventory, crafting table, furnace, …). | | ||
@@ -52,0 +78,0 @@ The tool descriptions only cover the wire protocol — see the [mod docs](https://github.com/Prohect/BindAlias) and the [system prompt patch](#agent-system-prompt-patch) for the full alias reference. |
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
18830
6.69%440
0.46%86
43.33%3
50%