Modkeel
Server Details
Modded Minecraft: which mod crashed the game, and whether mods ran together in a lab.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: crash diagnosis, single-mod run history, and pairwise compatibility. The descriptions explicitly separate the query types, so an agent can pick the right one without overlap.
Two tools share a 'mod_' noun prefix (mod_lab_runs, mod_pair) but diagnose_crash follows a verb_noun pattern, creating mixed conventions. Still readable, but no single predictable pattern across the set.
Three tools is a focused, reasonable scope for a crash-diagnosis/compatibility server, with each tool earning its place. It sits at the thin end and could arguably support one or two more query helpers.
The three tools cover the core diagnostic workflows (crash, single-mod runs, mod pairs) with no dead ends for those paths. Minor gaps exist, such as searching or listing mods by name/version to discover valid mod ids.
Available Tools
3 toolsdiagnose_crashWhich mod crashed MinecraftARead-onlyInspect
Find the mod most likely behind a modded Minecraft crash (Fabric, NeoForge, Forge). Pass the whole crash report (crash-reports/*.txt) or logs/latest.log as text. Returns the crash kind, the suspect mods ranked with reasons, how sure it is, and a fix guide. The text is read and dropped, not stored.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Crash report or latest.log, unedited. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mc | No | |
| kind | Yes | |
| error | No | The root exception and its message. |
| guide | Yes | How to fix this kind of crash. |
| loader | No | |
| source | Yes | |
| suspects | Yes | Most likely first. |
| signature | No | Stable id of this crash shape. |
| confidence | Yes | How sure the first suspect is the cause. |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds a genuinely new behavioral fact: the input text is read and discarded, not stored, which is meaningful for an agent handling potentially sensitive log data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: purpose first, then input format, then return shape and privacy note. Nothing is padded and each sentence carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not enumerate return values, though it does summarize them. Input format, scope, and data-handling behavior are all covered; an agent has everything needed to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one parameter, so the baseline is 3. The description adds real guidance beyond the schema by specifying that the text must be the entire, unedited crash report or log, and naming the typical file locations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: find the mod responsible for a modded Minecraft crash, and scopes it to the loader families (Fabric, NeoForge, Forge). An agent immediately knows this is a crash-diagnosis tool, distinct from the sibling tools mod_lab_runs and mod_pair.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tells the caller exactly what to feed it — a full crash report (crash-reports/*.txt) or logs/latest.log — and specifies unedited text. It gives clear context for invocation but names no alternatives or exclusion conditions versus the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mod_lab_runsWhat the Modkeel lab saw a mod doBRead-onlyInspect
Real runs of a Minecraft mod in the Modkeel lab: the Minecraft versions where it ran on a server or client, or crashed, and the mods it ran with. By mod id (e.g. sodium, create), not display name.
| Name | Required | Description | Default |
|---|---|---|---|
| mc | No | Minecraft version, e.g. 1.21.1 or 26.2. Omit for all versions. | |
| mod_id | Yes | Mod id, e.g. sodium. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mc | No | |
| mod | Yes | |
| data | Yes | Snapshot date and license of the lab data; attribute when quoting. |
| runs | Yes | env: server, client or crashes. |
| pairs | Yes | env: server, client or clash. |
| tested | Yes | False: the lab never ran this mod. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered without the description. The description adds useful context that the data is real observed lab runs (server/client/crash outcomes) rather than theoretical compatibility, but it says nothing about result size, pagination, or coverage limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, and the essential scoping fact is front-loaded. The first sentence is information-dense but stays readable; nothing is repeated or padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not enumerate return fields, and it covers the input-key nuance. What is missing is any routing guidance relative to the sibling tools, which is the only real gap for a simple two-parameter read.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, and the schema itself only says 'Mod id, e.g. sodium.' The description adds genuine meaning beyond that by warning that the key is the mod id, not the display name, which prevents a common mis-invocation. The mc parameter receives no additional treatment in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource concretely: empirical lab run records for a Minecraft mod, including the versions and environments where it ran or crashed. It also states the lookup key ('By mod id ... not display name'), which tells an agent what this tool returns. It does not, however, explicitly contrast itself with the siblings diagnose_crash or mod_pair.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to reach for this tool versus diagnose_crash or mod_pair, nor any prerequisite or exclusion. The only invocation guidance is the id-format note, which is parameter semantics rather than usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mod_pairDo two mods work togetherBRead-onlyInspect
Whether two Minecraft mods ran together in the Modkeel lab, clashed, or were never tested together. By mod id.
| Name | Required | Description | Default |
|---|---|---|---|
| mc | No | Minecraft version, e.g. 1.21.1 or 26.2. Omit for all versions. | |
| mod_a | Yes | Mod id, e.g. iris. | |
| mod_b | Yes | Mod id, e.g. sodium. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mc | No | |
| data | Yes | Snapshot date and license of the lab data; attribute when quoting. |
| mods | Yes | |
| runs | Yes | |
| verdict | Yes | untested: no lab run, not a known conflict. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so safety is covered. The description does add useful behavioral context: the result space is empirically grounded in the 'Modkeel lab' and returns one of three states including 'never tested together,' which warns the agent that a null-ish answer is possible. It says nothing about caching, freshness, or version scoping beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the substance front-loaded; nothing is padded. The trailing fragment 'By mod id.' is clipped rather than wasteful, and it does convey the lookup key.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the three statuses named in the description map onto the likely result shape. With full schema coverage and annotations covering the safety profile, the only real gap is the absence of guidance about the optional mc version parameter and sibling routing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (mod_a, mod_b, mc all documented with examples), so the schema carries parameter meaning. The description's 'By mod id' only confirms the lookup keys and adds nothing about the optional mc parameter's effect on results. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource (a pair of Minecraft mods) and the exact question answered (ran together, clashed, or never tested), which is far more specific than the bare name 'mod_pair'. It does not, however, contrast itself with siblings diagnose_crash or mod_lab_runs, so the agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to reach for this tool versus diagnose_crash or mod_lab_runs, and no prerequisites (e.g. whether both mod ids must already exist in the lab). Usage is only implied by the phrase 'By mod id.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
diagnose_crash - First observed
mod_lab_runs - First observed
mod_pair
Related MCP Connectors
Whether a registry MCP server works for a stock client, and what changed in its tools. Free, no key.
Observed facts on public MCP servers: protocol checks, tool changes, signed evidence. No verdicts.
Check if an MCP server tool changed or hides injection patterns before you trust it.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for Minecraft modpack diagnostics, enabling mod conflict detection, log/crash analysis, and dependency lookup via Modrinth.9MIT

WSAI FixCenterofficial
AlicenseNot gradedqualityBmaintenanceEvidence-first MCP server for diagnosing problems with hooks, plugins, skills and configuration, returning ranked probable causes and reviewable fixes without modifying the workspace.MIT- FlicenseAqualityCmaintenanceProvides grounded answers for writing Minecraft mods, targeting 1.8.9 and 1.21.10+ eras with curated and live tools for mappings, APIs, and mixins.4162-
- FlicenseNot gradedqualityCmaintenanceMCP server that helps AI agents inspect Minecraft project evidence (crash logs, mod files, datapacks) before writing development code.2-
Glama MCP Gateway
Add one secure layer between your agents and this server.