Skip to main content
Glama
KyodanCFG
by KyodanCFG

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.5.0

  • Disambiguation5/5

    Each tool targets a distinct operation: map info, undo, preview, two separate compilers, FGD queries, entity CRUD, brush add/delete, and translation. No two tools have overlapping purposes; even compile_map and compile_shogo_map are clearly differentiated by toolchain.

    Naming Consistency4/5

    Most tools follow a verb_noun pattern in snake_case (list_entities, add_entity, delete_brush, translate_entity). Two tools (fgd_classes, fgd_class) use a noun-first structure, but the pattern is still predictable and all names are lowercase with underscores, so minor deviation only.

    Tool Count4/5

    With 17 tools, the count is slightly above the typical 3-15 range, but each tool serves a distinct need for map editing, compilation, and FGD introspection. The scope is broad but well-justified, making the count reasonable.

    Completeness5/5

    The tool surface covers the full lifecycle: map analysis, editing (add/update/delete entities and brushes), transformation (translate), undo/backups, preview rendering, compilation for two engines, and FGD entity lookups. No significant gaps for the stated purpose of TrenchBroom map manipulation.

  • Average 4.1/5 across 17 of 17 tools scored. Lowest: 3.5/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 38 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the burden of behavioral disclosure. It adds meaningful context about inheritance resolution and spawnflag processing, which is beyond a basic lookup. It does not mention output format, errors, or side effects, but the read-only intent is reasonably clear.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single focused sentence with no filler. It front-loads the core purpose and adds the inheritance-resolution detail economy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a two-parameter retrieval tool, the description is mostly adequate but leaves the return value phrased only as 'full definition,' which is vague without an output schema. Some guidance on what the agent should expect in the result would strengthen completeness.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema already documents fgd_path, and classname is left undocumented. The description references the class concept but does not specifically explain the classname parameter or how it relates to the returned definition. The parameter name is self-explanatory enough to be minimally adequate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly identifies the resource as 'one FGD entity class' and distinguishes it from the plural fgd_classes sibling by emphasizing a single class. It communicates the output is a full definition, though it lacks an explicit verb like 'retrieves' or 'returns'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The phrase 'with inherited properties and spawnflags resolved from its base classes' implies this tool is needed when a fully resolved class definition is required, as opposed to a simple listing. However, it does not explicitly name alternatives or state when not to use this tool.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the behavioral burden. It clearly states the output fields and optional filtering, and 'list' implies a read-only operation. However, it does not explicitly disclose absence of side effects, ordering, error behavior, or behavior when filters match nothing.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    A single, tightly constructed sentence that front-loads the output scope and then adds filter options. Every word earns its place; there is no filler or redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a read-only listing tool with four well-documented parameters and no output schema, the description adequately covers return fields and filter semantics. It could more explicitly state the output shape (e.g., array of entity objects) and error conditions, but these are largely inferable from the context.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the baseline is 3. The description mentions classname substring and property key/value filtering, but these simply restate the schema's parameter descriptions without adding new meaning.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb 'List' with a clear resource ('entities') and enumerates the returned fields. This distinguishes it from sibling get_entity, which fetches a single entity, and from map_overview, which summarizes the map.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The optional filters (classname substring, property key/value) imply when this tool is useful, but there is no explicit guidance about when to prefer sibling tools like get_entity or when not to use this tool. The intended context is clear but exclusions and alternatives are not stated.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It openly states that the tool writes the file and explains the reload behavior when TrenchBroom-HL has unsaved edits, including the default of keeping the editor version. This is valuable, though the phrasing leaves some ambiguity about the exact consequence of that default.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is compact and front-loaded with the core action, followed by the most important side-effect. It uses one somewhat run-on sentence with semicolons and dashes, but every clause earns its place and there is no wasted text.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's moderate complexity—writing a file, interacting with an editor, and optional parameters—the description covers the key behavioral caveat and the schema covers all parameters. It does not discuss return values or what happens if the editor is not running, but those are not essential for correct invocation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the baseline applies. The description adds examples for classname and clarifies the 'point entity' concept, but it does not add substantive parameter semantics beyond what the schema already documents for origin, properties, map_path, and classname.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb ('Add') and resource ('point entity') with concrete examples, and the 'point entity' qualifier distinguishes it from sibling tools like add_brush_box. It clearly states the side effect of writing the file, leaving no doubt about what the tool does.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies this is the tool for adding point entities rather than brushes or property updates, but it does not explicitly state when to prefer it over alternatives such as add_brush_box or set_entity_properties. Usage context is present but left to inference.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the full burden of disclosing behavioral traits. It does well by revealing that the file is written, TrenchBroom-HL reloads automatically, and that unsaved edits trigger a confirmation which defaults to keeping the editor version. It also mentions the Valve-format texture-locking nuance. It stops short of stating irreversibility, whether both brush geometry and origin move together or only one, or units for the delta, but it discloses more than most mutation tools.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences, both information-dense with zero filler. The core action is front-loaded, and the second sentence covers important side effects and editor behavior without redundancy. Everything included earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description covers file-writing and editor-reload behavior, which is essential for a mutating tool with no output schema. But it misses critical context: what 'index' refers to, whether the delta applies to brushes, origin, or both by default, and what happens after the confirmation when unsaved edits exist. These gaps could lead an agent to call the tool with incomplete understanding.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema already documents delta as an offset and map_path as an absolute path, covering 67% of parameters. The description adds meaning to delta by explaining its effect on brush geometry and origin, and implies that map_path is the file being modified. However, the 'index' parameter is left entirely undocumented in both schema and description, which is a meaningful gap for an agent trying to invoke the tool correctly.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description opens with a specific verb and resource: 'Move an entity by a delta'. It further clarifies scope by stating both what is affected (brush geometry and/or origin property) and a notable implementation detail (textures locked in Valve format). This clearly distinguishes it from siblings like delete_entity, set_entity_properties, or add_entity.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The intended use is implied by the action verb and the delta parameter. However, there is no explicit when-to-use vs alternatives, such as saying 'use this instead of set_entity_properties when you need spatial translation', nor any exclusions. The context is clear enough for an agent to infer the basic use case, but guidance is not explicitly provided.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the behavioral burden. It does describe the return payload well (properties, brush list with bounds and face count), but it doesn't explicitly state that this is a read-only operation or describe error behavior for invalid indexes.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single well-structured sentence with no filler. The subject and scope are front-loaded, and every phrase adds relevant information about what the tool returns.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple two-parameter get tool with no output schema, the description provides the essential return content. It could explicitly mention read-only behavior or invalid-index handling, but these are minor gaps given the straightforward nature of the operation and the schema's clarity.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so both parameters are already documented in the schema. The description adds no further parameter-level detail, matching the baseline for fully covered schemas.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool retrieves full detail for a single entity, including all properties and brush data. This distinguishes it from list_entities and other entity-related siblings by emphasizing depth and per-entity scope.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description conveys clear context: use this when you need comprehensive detail for one entity rather than a list. It doesn't explicitly name alternatives or exclusions, but the 'one entity' scope and schema reference to list_entities imply the correct usage pattern.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are present, so the description carries the transparency burden. It discloses that backups are generated automatically before each edit, and the verb 'List' signals a read-only operation. It does not cover ordering, retention, or return format, but the essential behavioral context is present.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is one compact sentence with no filler. The key scoping fact about automatic pre-edit backups is front-loaded, and every clause contributes meaning.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a one-parameter listing tool with no output schema, the description covers the resource, scope, and creation semantics well enough to invoke safely. It could explicitly link these backups to undo_last_edit or describe the returned entries, but the description plus schema is adequate.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The only parameter, map_path, already has a complete schema description ('Absolute path to the .map file'), and the tool description's 'for a map' merely reinforces it. With 100% schema description coverage, no additional parameter meaning is required.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description names a specific action ('List') and a specific resource ('snapshot backups') scoped to a map, and the parenthetical clarifies they are automatic pre-edit snapshots. This clearly distinguishes it from sibling tools like list_entities and undo_last_edit.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides context by noting backups are made automatically before every edit, which implies the tool is relevant for inspecting restore points. However, it does not explicitly state when to use this tool versus undo_last_edit or other map tools, so usage routing is only implicit.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the full transparency burden, and it delivers: it discloses the output artifact (SVG file), the visual styling rules (gray worldspawn, orange brush entities, blue labeled dots), and the supported projections. It does not explicitly state that the map file is never modified or describe failure modes, but the rendering-focused behavior is clearly disclosed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences, zero filler. The first sentence states the action, resource, output format, and rendering details; the second covers the view variants with axis mappings. Every clause earns its place and the most important information is front-loaded.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a moderately simple render tool with no output schema and no annotations, the description is nearly complete: it covers what is rendered, how items are styled, the three view options, and (via the schema's out_path description) where the SVG lands. The only real gap is the return value/confirmation format and behavior on invalid map paths, but nothing essential to calling it correctly is missing.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the schema already documents map_path, view, and out_path, establishing a baseline of 3. The description adds value by mapping the view enum values to coordinate axes (top X/Y, front X/Z, side Y/Z), which the schema does not provide, giving agents semantic meaning beyond the enum names.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb and resource ('Render a 2D orthographic preview of the map as an SVG file') and details the exact visual encoding: brush footprints colored by type and point entities as labeled dots. This gives an agent a precise picture of what the tool produces, and the concrete output format (SVG) plus view list distinguishes it from the other map-related siblings.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    There is no explicit when-to-use vs alternatives guidance, no exclusions, and no mention of how this differs from the closely related map_overview sibling. The view axis list (top X/Y, front X/Z, side Y/Z) explains how to invoke it, but nothing tells an agent when it is the right tool compared to its siblings.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the full behavioral burden. It discloses that the tool writes the file, triggers an automatic TrenchBroom-HL reload, and has a specific conflict behavior with unsaved edits. This is significant and useful context 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.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences with no filler. The first sentence states the core purpose, and the second delivers the most important behavioral warning. Information is front-loaded and every word earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a mutation tool with no annotations and no output schema, the description covers the critical side effects: file writing, reload behavior, and handling of unsaved edits. It does not explain return/error behavior or fully define index semantics, but the schema and sibling tool context cover most operational needs.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 75%, with set, remove, and map_path already documented. The description adds the context of targeting an existing entity and writing the file, but it does not clarify how index identifies the entity or provide additional meaning beyond the schema. Baseline 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific verb and resource: 'Set and/or remove properties on an existing entity.' This clearly distinguishes it from siblings like add_entity, delete_entity, and get_entity, and the 'existing entity' qualifier adds important scope.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Usage is implied: use this when modifying properties of an existing entity, versus adding or deleting entities. However, the description does not explicitly exclude alternatives or state when a different tool such as get_entity or add_entity would be more appropriate.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries the full behavioral burden. It does more than state the operation: it reveals that leaks surface as a warning with a successful exit code and that the tool returns the escape coordinate. It does not explicitly mention filesystem side effects like generated .bsp or log cleanup, but the schema's keep_logs parameter partially covers that.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is three sentences with no filler. The core purpose is front-loaded, followed by the default behavior and the most important edge case (leaks).

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For an 8-parameter build tool with no output schema, the description gives useful defaults and the leak caveat, but leaves the return shape vague ('report what the compiler said') and does not state prerequisites or side effects such as writing compiled artifacts. This is adequate with notable gaps.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the baseline is 3. The description reinforces the stages default and the notion of a full build, but it does not add meaning for map_path, *_args, tools_dir, or timeout_seconds beyond what the schema already documents.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description opens with a specific action and resource: 'Compile a .map with ericw-tools and report what the compiler said.' This identifies the tool's job precisely and, by naming ericw-tools, sets it apart from sibling compile_shogo_map. The leak-detection sentence further clarifies the tool's special return value.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description gives clear context for normal use ('Runs qbsp by default; pass stages for a full build') and makes it clear that stages control which tools run. It does not explicitly name alternatives such as render_preview or compile_shogo_map, so it stops short of a full when-not-to-use statement.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations exist, so the description alone must disclose side effects. It does far more than say 'delete': it states that the tool removes all brushes, refuses worldspawn, writes the file, triggers an automatic editor reload, and asks before overwriting unsaved edits, defaulting to keeping the editor version.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    A single dense sentence front-loads the action and scope, then stacks only high-value behavioral caveats. There is no repetition or fluff.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a destructive file-writing operation with no annotations, the description covers the outcome, the guard, the persistence behavior, and the unsaved-edits conflict policy. The main missing piece is operational detail about index; everything else an agent needs to anticipate side effects is present.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    map_path is already explained in the schema, but the required index parameter has no schema description and the tool description never explains what index identifies, how it is obtained, or whether it is zero-based. With schema description coverage at 50%, this is a meaningful gap.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description names a specific verb and resource ('Delete an entity') and adds scope ('and all its brushes'), which clearly separates it from sibling delete_brush. It also notes the worldspawn exclusion, giving the agent a precise behavioral boundary.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The operation is described clearly enough that the agent can infer when to call it, and the worldspawn refusal is a useful when-not condition. However, it never names alternatives such as delete_brush or undo_last_edit, nor does it state when those should be preferred, so routing between siblings is left implicit.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries full responsibility for behavior. 'Summarize' implicitly signals a read-only operation, and the listed output categories give a concrete sense of what the tool exposes. It does not state side effects or failure modes, but for a non-mutating overview tool this is a minor gap.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    A single crisp sentence front-loads the verb and resource, then uses a colon to list specific output dimensions. There is no filler, redundant wording, or repetition of schema details.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple one-parameter read-only tool, the description is complete. It covers what the tool does and what the returned summary contains, despite the absence of an output schema. No critical information appears to be missing for selecting or invoking the tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% and the single parameter, map_path, is already well described as 'Absolute path to the .map file'. The description adds no additional parameter-level detail, so the baseline score of 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb ('Summarize') and a clearly identified resource ('.map file'), then enumerates the exact set of information it returns: entity/brush counts, bounds, format, layers/groups, textures, and entity class histogram. This makes it instantly distinguishable from siblings like get_entity, compile_map, and render_preview.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The usage context is implied: it is the go-to tool when an overview of a .map file is needed rather than a specific entity or operation. However, it does not explicitly state when to prefer this over siblings or provide exclusion criteria, leaving some room for inference.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries the behavioral burden. It discloses the .map -> .ed -> .dat pipeline and warns that reported light map nodes determine whether the world renders black, which is valuable behavior beyond a generic 'compile' statement. It does defer to 'documented traps' rather than spelling them out, which keeps it from a 5.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Four sentences, with the core purpose and differentiating toolchain named up front. Every sentence carries information, though the vague 'documented traps' phrase is slightly less crisp than the rest.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a 7-parameter compiler with no output schema and no annotations, it gives the pipeline and one critical output interpretation, but it omits failure modes, exact report contents, and operational prerequisites. The schema covers parameter semantics well, but broader context is only adequate.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the schema already explains all seven parameters. The description adds no parameter-level meaning beyond what the schema provides, so the baseline 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    States a specific verb ('Compile') and resource ('.map for Shogo: Mobile Armor Division'), and explicitly names what it produces. It also distinguishes itself from compile_map by naming the different toolchain and pipeline, so an agent can select it without ambiguity.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly names compile_map as the alternative and says the two are not interchangeable, giving a clear condition for choosing this tool. The Shogo-specific pipeline and mapping kit reference further frame when this tool is appropriate.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the behavioral burden and discloses key side effects: it copies the .bsp into the map directory, starts the engine, and reports engine output if startup fails. This is substantial transparency for a tool with no annotation support.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is only three sentences, all of which earn their place: the core action, the side-effect behavior, and the essential prerequisite. It is front-loaded with the main verb and resource.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For an 8-parameter tool with no output schema, the description adequately explains the workflow, prerequisite, and failure-reporting behavior. It does not describe the exact success return value, but the schema covers parameters and the description covers the main runtime flow.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so every parameter is already documented in the schema. The description adds context about the .bsp vs .map distinction but does not need to repeat parameter details; baseline 3 applies.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific action, 'Launch a compiled map in a Quake engine', and clarifies the tool's role versus compilation with 'Compile the map first: the engine loads the .bsp, not the .map.' This makes the tool's purpose distinct from siblings like compile_map or render_preview.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description clearly implies when to use the tool: after compilation, because the engine loads the .bsp rather than the .map. It does not explicitly name alternative tools or state when not to use it, but the prerequisite context is clear.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the full burden, and it does meaningful work: it discloses that the tool writes the file, that TrenchBroom-HL reloads automatically, and importantly that unsaved editor edits default to KEEPING the editor version. This is a subtle behavioral hazard that agents need to know. It stops short of a 5 because it does not mention what happens when no snapshot exists or what the tool returns on success/failure.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is compact and information-dense: the main action and scope are front-loaded, followed by the critical side-effect and editor-reload behavior. Every sentence earns its place, and there is no redundant restating of the tool name or schema fields.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a one-parameter, no-output-schema tool, the description covers the essential ground: purpose, edit scope, step granularity, file-write effect, and editor reload behavior. It is slightly incomplete because it does not specify the no-snapshot case or the tool's return/confirmation behavior, but these are not blocking for correct invocation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    There is only one parameter, map_path, and the schema already describes it fully as the absolute path to the .map file. The description adds no extra parameter-level meaning, so the baseline score of 3 applies given 100% schema coverage.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description names a specific verb ('Restore'), a resource ('the map'), and a precise scope ('state before the most recent edit made by this server'), while also clarifying the snapshot-based, one-step limit. This makes the tool's job unambiguous and distinguishes it from broader map-editing operations.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description gives clear context for when the tool applies: only for edits made by this server, and only one step per call. It does not explicitly name an alternative tool or state when-not-to-use it, which keeps it a point below full guidance, but the scope and call-by-call limitation are clear.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries full responsibility, and it delivers: it discloses that the tool writes the file, mentions texture format behavior in empty Shogo maps, and explains the editor reload policy when there are unsaved edits, including the default to keep the editor version. This is rich behavioral context well beyond a simple 'add brush'.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is compact and front-loaded with the core action, then branches into target selection and technical behavior. The third sentence is slightly dense but each clause adds necessary behavioral information, so nothing feels wasteful.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a write operation with no output schema and no annotations, the description covers the essential invocation requirements: file path, corners, texture, entity target, and side effects on the editor. It lacks explicit error-handling or return-value information, but it gives enough for an agent to call it correctly in the Shogo/TrenchBroom context.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, giving each parameter a basic description, so the baseline is 3. The description adds meaning for entity_index (default worldspawn, can target func_door-like entities) and texture (auto-selects 'Standard' in empty Shogo workspaces), which goes beyond the schema. It does not add detail for min/max or map_path, but those are already clear from the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description opens with a clear, specific verb and resource: 'Add an axis-aligned box brush.' It differentiates itself from sibling tools by specifying it creates box brushes (as opposed to entities, deletion, or transformation) and clarifies the common target worldspawn vs. an explicit brush entity.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description gives solid within-tool guidance on the entity_index parameter, but it does not explicitly say when to choose this tool over alternatives like add_entity, delete_brush, or translate_entity. Usage context is implied rather than directly compared with siblings.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries the full burden of behavior disclosure. It accurately conveys that this is a read-only listing operation and even describes the output contents. There are no hidden mutation or side effects disclosed or implied, so the behavior is transparent enough.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two short sentences with no filler. It front-loads the core operation and follows with a practical use case. Every word earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a low-complexity listing tool with two well-documented parameters and no output schema, the description is complete. It tells the agent what the tool returns, what file to point it at, and when to use it. Nothing needed to invoke it correctly is missing.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the schema already fully documents both fgd_path and filter. The description adds no extra parameter-level meaning beyond what the schema provides, but it does not need to; the baseline of 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific verb ('List'), a specific resource ('entity classes defined in an FGD file'), and the returned fields ('name, type, description'). This clearly distinguishes it from siblings like list_entities or fgd_class, which deal with map entities or a single class.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description gives an explicit use case: 'Use this to learn what entities a game supports.' This provides clear context for when the tool is appropriate. It does not name alternative tools or exclusion conditions, but for a simple listing tool this is sufficient.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries the full burden and delivers: it discloses persistence (writes the file), editor integration (auto-reload), and the important conflict behavior (asks first, defaults to keeping the editor version on unsaved edits). This is exactly the side-effect information an agent needs for a mutating tool.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences: the action is front-loaded and the behavioral caveat is stated in a compact second sentence. No filler or repetition.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple 3-parameter deletion tool with no output schema, the description provides the core action, the file-write side effect, and the editor reload/conflict behavior. It does not mention error conditions or index-shift consequences, but those are not critical for basic invocation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The description itself adds no parameter-level detail, but the schema already documents map_path and brush_index (including that brush_index comes from get_entity). entity_index is left undocumented, and the description only weakly infers it from 'an entity', so this is adequate but not exemplary.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The opening sentence states a specific action and resource ('Delete one brush from an entity'), which clearly distinguishes this from sibling delete_entity (whole entity vs. one brush). No ambiguity about what operation is performed.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description gives clear context: use this when deleting a single brush from an entity, and the sibling list makes it easy to contrast with whole-entity deletion. It does not explicitly name alternatives or exclusion criteria, so it falls just short of a 5.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

trenchbroom-mcp MCP server

Copy to your README.md:

Score Badge

trenchbroom-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/KyodanCFG/trenchbroom-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server