0.0.0
Latest
2026-08-05 · Conversation gets its own plugin
The first release of MCAgentsChat, the plugin players use to talk to AI agents in game. Everything here used to live inside MCAgents; it now stands on its own, and MCAgents is the core it asks.
Requires MCAgents 6.0.0 or newer. MCAgents holds the API keys, the models, and the tools. Installed without it, MCAgentsChat disables itself at startup and says so in the log.
Added One command for talking to an agent
/chatopens a conversation the agent remembers: the earlier turns travel with each message, so a follow-up like "keep going" means something./chat askopens one it does not remember. Each message is answered on its own, which is cheaper because nothing is replayed, and better for a string of unrelated questions.- While a session is open your ordinary chat messages are the conversation — and they are claimed before anything else sees them, so a conversation never leaks into public chat. Type
quitorexitto leave. - The console works the same way, so an operator can talk to an agent straight from the server terminal. While that session is open every console line goes to the agent.
- Both modes can call tools. Everything registered with MCAgents — built in, scripted, or contributed by another plugin — is available while you talk.
Added Saved prompts and a test runner
/chat prompt <id>runs a prompt you saved earlier. Players run their own; the console runs the server's. Run it bare to list what you have.- When a saved prompt names tools, the agent is limited to exactly those, which makes a prompt a reliable shortcut rather than a fresh guess each time.
/chat tester <plugin> [id]replays a suite of saved test prompts and writes a Markdown report for each, recording the prompt, the result, and an AI-written evaluation.- Tests are grouped by plugin in one file, so MCAgents and every plugin built on it keep their regression prompts in one place.
/chat reloadrereads the test registry, and asks MCAgents to reread its prompt registry, without a restart.
Added It never holds your key
- MCAgentsChat stores no API key and selects no model. Every message is answered by MCAgents on the caller's own account, exactly as a request made anywhere else in the ecosystem would be.
- A player's conversation spends the key they registered with MCAgents. A conversation started at the console spends the server's key, and so does every test run, whoever typed the command.
- An operator chatting in game is still charged as a player. Holding a permission node does not start spending the server's key.
- Its own configuration is two settings: whether the plugin is on, and how long a request may stay pending before the player is released.
Added A countdown, so one player cannot flood it
- A player waits for their answer before sending again, so nobody can queue up a dozen requests — and a dozen charges against their own key — while the first is still being answered.
- A request that hangs releases them after the countdown rather than leaving them stuck in a session.
- The console and operators are exempt.
Note How it binds to MCAgents
- MCAgentsChat is not built against MCAgents. It finds it on the running server at startup and binds to it there, which is why one build of this plugin works beside more than one build of that one.
- A version it cannot talk to becomes one clear line in the log instead of a crash halfway through answering somebody.
- If the binding fails, the plugin switches itself off rather than leaving a command that cannot answer. Nothing else on your server is affected.
Note Coming from MCAgents 5.x
/ai chatis/chat,/ai askis/chat ask,/ai promptis/chat prompt, and/ai testeris/chat tester.- Your key and your model are still set in MCAgents, with its renamed command. Stored keys carry over untouched.
- Test runs no longer need a tester account of their own — they use the server's key.
- The plugin ships disabled. Dropping the jar into a server changes nothing until an operator turns it on and restarts.
Note Installing
- The universal
MCAgentsChatjar detects whether it is running on PaperMC, SpigotMC, or Folia at startup and installs the matching scheduling support, so one file works on any of them. - Three per-server builds are published alongside it for anyone who wants a smaller artifact targeted at one platform.
- There is no database to set up and no key to register here. The plugin stores nothing: a conversation lives in memory and its transcript is filed with MCAgents when the session ends.