Skip to main content
Glama
killbottleneck-mcp

killbottleneck-mcp

Official

create_map

Build a goal map from a title and outline, turning outline items into nested nodes with automatic layout and returning the created tree with node IDs.

Instructions

Create a new goal map from an outline. The map gets an apex (root goal) from title/apex_text; outline items become nested nodes. Layout is computed automatically. Max 200 nodes per call. Returns the created tree with node ids.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "title": "<title>",
      "outline": "<outline>"
    },
    "name": "create_map"
  }
}

Input Schema

NameRequiredDescriptionDefault
kindNoMap style: "project" (default) = work to finish, shows % done and offers archiving when everything is done; "process" = a mapped operation that keeps running — steps usually repeat (add recurrence with create_rule: on done → set_status todo + set_deadline advance), no % done, health = recurring steps on time vs overdue.
titleYesMap/project title
outlineYesTop-level items under the apex, each may have children
apex_textNoRoot goal statement, defaults to title
descriptionNoMap description

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.0.1
    • addedInput schema / properties / kind
      Added value: +{
      +  "description": "Map style: \"project\" (default) = work to finish, shows % done and offers archiving when everything is done; \"process\" = a mapped operation that keeps running — steps usually repeat (add recurrence with create_rule: on done → set_status todo + set_deadline advance), no % done, health = recurring steps on time vs overdue.",
      +  "enum": [
      +    "project",
      +    "process"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / outline / items / properties / icon
      Added value: +{
      +  "description": "One emoji shown in front of the step (optional).",
      +  "type": "string"
      +}
    • changedInput schema / properties / outline / items / properties / owner / description
      Previous value: -"Accountable PERSON: e-mail of an instance member. Stays a human even when the step is performed by an automation — this is who gets notified."New value: +"Accountable PERSON: e-mail of an instance member (see list_people). Stays a human even when the step is performed by an automation — this is who gets notified. Unknown e-mails are rejected."
    • addedInput schema / properties / outline / items / properties / planned_on
      Added value: +{
      +  "description": "YYYY-MM-DD, today to +7 days, empty string clears. WHEN the key owner plans to work on it — this is how killBottleneck expresses priority; never move the deadline to express priority.",
      +  "type": "string"
      +}
  2. First observedv0.33.2-beta

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and does deliver real value: automatic layout computation, a hard 200-node-per-call limit, and a stated return of the created tree with node ids. It omits permission/validation failure behavior and whether a failed call leaves a partial map behind, which matter 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.

Conciseness4/5

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

Four short sentences, front-loaded with the action and followed by structure, limit, and return value in a logical order. No filler, though the first clause slightly restates the tool name.

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?

No output schema exists, and the description compensates by stating the return shape and ids. The node cap, nesting behavior, and apex sourcing cover the main uncertainties for a 5-parameter creation tool; the remaining gap is failure/permission semantics.

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 parameters are already well documented, including the apex/title relationship and the rich node fields. The description adds only the high-level mapping of outline items to nested nodes, so baseline 3 is appropriate.

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?

States a specific verb and resource ("Create a new goal map from an outline") and explains the resulting structure: apex from title/apex_text, outline items become nested nodes. It never names a sibling such as add_nodes or update_map, so the boundary with those tools is left implicit, but an agent can still tell what this tool produces.

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 creation framing implies when to use it (building a new map rather than modifying one), and the 200-node cap hints at the alternative of creating then extending with add_nodes. No explicit when-not or alternative routing is provided.

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