!Comparator
The AI agent built for Minecraft.
!Release
!Minecraft Version !License
Comparator brings a fully conversational AI agent to your Paper server; with multi-turn memory, built-in tools, and an API to extend it on your own.
Embed a fully conversational AI agent directly into your Minecraft server. Comparator maintains context across messages for natural, coherent dialogue; not just one-shot responses.
The agent can to more than just chat. Comparator ships with several built-in tools the AI can invoke to give accurate, grounded answers:
| Tool | Description |
|---|---|
| Web Search | Searches the web for up-to-date information, so the agent isn't limited to its training data |
| Current Date | Retrieves the current date, helping the agent reason about how recent its knowledge is |
| Game Version | Fetches the server's running Minecraft version so answers are version-accurate |
| Player Info | Retrieves the player's surroundings, inventory, nearby entities, biome, game mode, and what they're looking at. This enables contextual in-game assistance |
Comparator includes a built-in web panel served directly from the plugin via an embedded server. It gives server admins a live view into conversations, tool runs, and registered tools with real-time updates. No separate deployment needed; just configure the host and port in comparator.conf and run /comparator panel start to launch it.
Third-party plugins can register their own tools using the Comparator API. Defining a tool is as simple as annotating a function:
@ToolFunction("give_item", "Gives an item to the requesting player")
suspend fun giveItem(
@ToolParameter("The item to give") item: String,
context: ToolContext
): GiveResult {
val player = context.bukkitPlayer ?: throw ToolException("No player context", null)
// ...
}
// Register during ToolRegistrationEvent
event.registry.register(tool(::giveItem))
The API handles parameter validation, type checking, serialization, and error reporting automatically. See the API docs for full details.
Comparator was built with safety and transparency in mind. This sets it apart from plugins that simply wrap an AI API with no guardrails:
Built on Kotlin coroutines for fully non-blocking execution. AI requests, tool calls, and context operations never block the server thread, so the agent has no impact on server tick performance.
Integrates with Ollama, supporting both cloud-hosted and self-hosted models. Configure your model, base URL, and optional API key in comparator.conf.
.jar from Modrinth or GitHub Releases.jar in your server's plugins/ folderAsk in private (DM-style):
/ask <prompt>
Mention in public chat:
@bot <prompt>
For full usage information, see the documentation.
Contributions are welcome!
git checkout -b feature/my-featuregit commit -m "Add my feature"Please follow the existing code style and include tests where applicable. For more details, see CONTRIBUTING.md.
