Skip to content
Allay

WikiAllay Server

What Allay can do

Allay Server is a Mastra agent on top of OpenRouter. In the game it sees what is going on with the player who asks: inventory, health, surroundings, the recipes of that server. This page lists what it can do; the full tool reference lives in docs/protocol-v2.md.

#It reads the game

The plugin runs game tools and sends the results back. The agent can:

  • See whatever the player looks at in one call: a block, a chest, a mob, or a villager.
  • Find where an item is, even inside shulker boxes and bundles.
  • Examine any item in full: a book's enchantments, a potion's effects, a weapon's damage and speed, a shulker box's contents.
  • Work out durability, XP, and food, tell where to put torches, and estimate a farm's rate.
  • Read a redstone machine and the faults the game's rules make certain (inspect_redstone).
  • List the server's plugins with versions (get_server), so a question about graves or land claims gets an answer for the plugin that really runs.

The model sees fewer tools than the plugin runs, so it picks the right one more often and every step costs fewer tokens. notes adds, finds, and deletes notes; inventory gives the overview, what needs repair, food, or brewing supplies; locate finds a structure or a biome. The backend calls the plugin's own tools under their own names, so older plugins keep working.

#It keeps to what the player may know

  • Game tools only see the player who asked and the world around them. Other players' coordinates and inventories stay out of reach.
  • Other players reach the agent only as the asker's locator bar shows them (get_nearby_players): a name, a distance, and a direction. Whoever hides from the bar hides from the agent too.
  • Tools that give items, teleport, or change the game mode, time, or weather go to operators only. The backend drops them for everyone else, even if a plugin offers them.
  • /askx gets only the tools that read the game.
  • The plugin sends the list of tools it offers, so a server admin can switch any of them off.

#It acts, harmlessly

  • Points the compass and draws a particle trail to a spot or a player, as long as the walk needs.
  • Draws glowing boxes, ghost blocks, and labels only the asker sees (show_marks): the chests that hold what they look for, ghost torches on dark spots.
  • Draws any build up to 20×15×20 as ghosts the player builds into, layer by layer (show_draft).
  • Sorts the inventory, sets reminders, and keeps a notebook. A note pinned to a place (“a villager here sells arrows”) turns up later from a loose question.
  • Puts buttons under the answer: options, a next question, the way to coordinates, coordinates to copy, brewing steps, the anvil plan, and the recipe, enchanting, and villager windows.
  • Writes long answers into a book (write_book) and sets goals like “collect 16 diamonds” as a bar at the top of the screen.

#It runs automation agents

Work in the world goes to automation agents: sorting or grouping chests, smelting, brewing, crafting.

  1. The agent in the chat starts one with start_task and writes it a full brief.
  2. The new agent runs in wakes: when the task starts, and when the player's answer, a button, a finished job, or a timer wakes it. Between wakes no stream stays open and no tokens go.
  3. It talks to the player only through say with buttons, waits with wait, and ends with finish.

An agent keeps its own thread for 2 hours and sees the player's memories without changing them. It gets no web search, no operator tools, and at most one level of sub-agents. When a task asks something, the chat sees it and passes the player's answer on with message_task.

#It works on the backend, too

Three tools run on the backend itself:

  • search_web searches the web. With PERPLEXITY_API_KEY it asks Perplexity's Search API and reads up to five pages, in about a second for $0.005. Without it, and for servers with their own key, a search model answers. The agent decides when a search is worth it.
  • exact_calculations evaluates expressions with math.js at 64 significant digits: stacks, Nether coordinates, XP, unit conversions. Each expression runs in a worker for at most a second.
  • remember and forget keep a lasting memory about the player.

#It knows Allay and the player's time

  • Asked “what can you do?”, the agent calls get_allay_guide: the plugin answers with the commands this player may use and what this server has switched on. So the agent never names a command that isn't there.
  • allay_settings turns chat mode and its tip on or off when the player asks in words.
  • The agent answers in the language of the question; the game locale matters only when the message has no clear language.
  • Each question starts with the player's real date and time, like [Mon, 12 Oct 2026, 23:42 Europe/Moscow]. It goes into the message, not the system prompt, so the provider's prompt cache keeps working.

#Public questions

A question from /askall reaches every player online, and so does the answer. The agent doesn't reveal the asker's coordinates, notes, or memories, and the run goes without a book or the locator bar. Every player gets the buttons under a public answer.

Next: Memory and traces