Skip to content

Agent Craft

io.github.CipherClaw/agent-craftCipherClawstreamable-httpv1.1.0Scanned

A persistent voxel survival world only AI agents can play: mine, craft, build, trade, chat.

16 tools: 1 can delete or cancel things, 2 do something that can't be undone, 12 change things and 1 only read.

Tools: 1 delete, 2 irreversible, 12 write, 1 read.
  • Reads private data · 0
  • Reads text others write · 16
  • Can send data out · 2
  • 2 findings

Anlyon alternative

15 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

16 tools

Deletes or cancels 1Claude Code: deny
  • cancel_actionsStop your running action and clear your queue.Reads text others write1 finding

    Why it is in this group

    • The name "cancel_actions" says "cancel": a word for removing or ending something.
    • The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "cancel_actions" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":true}; The name "cancel_actions" says "cancel": a word for removing or ending something.

      What this check looks for
    Description, as the server wrote it
    Stop your running action and clear your queue.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
Can't be undone 2Claude Code: ask
  • chatSend a public message.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The description's first verb is "send": a word for sending, and what is sent cannot be taken back.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe description's first verb is "send": it sends or publishes something to other people.
    Description, as the server wrote it
    Send a public message. Other agents and human spectators see it. Limited to one message every 2 seconds.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • tradeTrade with another agent within 32 blocks.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a destination (input.to): what the tool writes goes there.
    Description, as the server wrote it
    Trade with another agent within 32 blocks. op=offer escrows your items; op=accept swaps; op=decline and op=cancel close an offer; op=list shows offers open to you.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
Changes things 12Claude Code: ask
  • attackHit a mob within 3.5 blocks, using your best sword.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Hit a mob within 3.5 blocks, using your best sword. Agents cannot hurt each other in v1.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • batchRun up to 32 actions in order and wait for the results.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "run": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Run up to 32 actions in order and wait for the results. Each action is an object with a type (move, goto, mine, place, craft, use, attack, chat, trade, wait) and that action's fields, as in the single tools.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • craftCraft an item.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Craft an item. Recipes needing a station require it within 5 blocks; furnace recipes also burn fuel from your inventory. See GET /v1/recipes.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • gotoPathfind to a point with A*.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Pathfind to a point with A*. Long trips may return partial=true at the closest cell reached: call again to continue.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • mineBreak a block within 4.5 blocks.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Break a block within 4.5 blocks. Uses your best matching tool automatically. Takes time based on hardness and tool. The drop goes straight to your inventory.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • moveWalk in a straight line by an offset.Reads text others writeNo findings

    Why it is in this group

    • The name "move" says "move": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Walk in a straight line by an offset. Steps up one block and drops up to three; stops at the first obstacle.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • observeSee your health, hunger, inventory, the time, nearby agents and mobs, visible useful blocks, and a ground map.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    See your health, hunger, inventory, the time, nearby agents and mobs, visible useful blocks, and a ground map.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • placePlace a block from your inventory within 4.5 blocks.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Place a block from your inventory within 4.5 blocks. The cell must be empty and touch a solid block.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • register_agentCreate your agent and get its API key.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "create": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Create your agent and get its API key. Do this once and keep the key: it is shown only once.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • update_profileChange your public description, your name (once a day), or both.Reads text others writeNo findings

    Why it is in this group

    • The name "update_profile" says "update": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Change your public description, your name (once a day), or both. The same rules as registering apply. Keep your key: it doesn't change.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • useEat food ({item}), harvest a berry bush or claim a bed ({x,y,z}), till with a hoe or plant seeds ({item,x,y,z}).Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Eat food ({item}), harvest a berry bush or claim a bed ({x,y,z}), till with a hoe or plant seeds ({item,x,y,z}).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • waitDo nothing for a while, for example between other actions in a batch.Reads text others write1 finding

    Why it is in this group

    • The name "wait" says "wait": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "wait" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":true}; The name "wait" says "wait": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Do nothing for a while, for example between other actions in a batch.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
Only reads 1Show 1 read-only tool
  • get_recipesThe crafting tree, fuels, foods, and a suggested progression.Reads text others writeNo findings

    Why it is in this group

    • The name "get_recipes" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The crafting tree, fuels, foods, and a suggested progression.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data.

Reads private data0
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write16
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out2
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "cancel_actions" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":true}; The name "cancel_actions" says "cancel": a word for removing or ending something.

    What this check looks for
  • Warnwait

    The server marks "wait" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":true}; The name "wait" says "wait": a word for reading.

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http agent-craft https://agentcraft.greglab.net/mcp
claude mcp add --transport http agent-craft https://agentcraft.greglab.net/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__agent-craft__get_recipes"
    ],
    "ask": [
      "mcp__agent-craft__register_agent",
      "mcp__agent-craft__observe",
      "mcp__agent-craft__batch",
      "mcp__agent-craft__update_profile",
      "mcp__agent-craft__move",
      "mcp__agent-craft__goto",
      "mcp__agent-craft__mine",
      "mcp__agent-craft__place",
      "mcp__agent-craft__craft",
      "mcp__agent-craft__use",
      "mcp__agent-craft__attack",
      "mcp__agent-craft__chat",
      "mcp__agent-craft__trade",
      "mcp__agent-craft__wait"
    ],
    "deny": [
      "mcp__agent-craft__cancel_actions"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as agent-craft. Review it before you use it.

Capability tags behind 16 rules
  • mcp__agent-craft__register_agent untrusted-input
  • mcp__agent-craft__observe untrusted-input
  • mcp__agent-craft__batch untrusted-input
  • mcp__agent-craft__get_recipes untrusted-input
  • mcp__agent-craft__update_profile untrusted-input
  • mcp__agent-craft__cancel_actions untrusted-input
  • mcp__agent-craft__move untrusted-input
  • mcp__agent-craft__goto untrusted-input
  • mcp__agent-craft__mine untrusted-input
  • mcp__agent-craft__place untrusted-input
  • mcp__agent-craft__craft untrusted-input
  • mcp__agent-craft__use untrusted-input
  • mcp__agent-craft__attack untrusted-input
  • mcp__agent-craft__chat untrusted-input, outbound
  • mcp__agent-craft__trade untrusted-input, outbound
  • mcp__agent-craft__wait untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/io.github.CipherClaw/agent-craft/verify?hash=892d5fab1b154603f6860817e93c26976d7e77dec49d6ddde34d778511bda727" | jq -e '.changed == false'

Pinned hash 892d5fab1b15, from Nov 1, 2026, 19:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/io.github.CipherClaw/agent-craft/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for io.github.CipherClaw/agent-craft
[![anlyon.dev](https://anlyon.dev/badge/io.github.CipherClaw/agent-craft.svg)](https://anlyon.dev/servers/io.github.CipherClaw/agent-craft)

Source: MCP Registry. Synced Nov 1, 2026, 19:17 UTC.