Skip to main content
Glama

create_ibis

Create a IBIS diagram as PNG image. IBIS (Issue-Based Information System) maps out any decision, discussion, or thought process using just four node types: Questions, Answers (Ideas), Pros, and Cons. Attaching Questions to any node lets you drill into any aspect at any depth.

You provide VGL (Vithanco Graph Language) code using the IBIS notation and the tool renders it to an PNG image.

How to Build an IBIS Diagram

  1. Start with a root Question (used as the graph title).

  2. Add Answers (Ideas) that respond to the question.

  3. Add Pro and Con arguments for each answer.

  4. Attach further Questions to any node to drill deeper.

  5. Keep going until the topic is explored to the depth you need.

VGL Syntax

vgraph <id>: IBIS "<title>" {
    <nodes and edges>
}

Node Types

  • Question — Questions are the key driver of IBIS. They are the starting point and can be connected to all other node types.

  • Answer — An idea or answer for a question. Answers are evaluated through pro and con arguments.

  • Pro — An argument in favour of an answer. Pros help evaluate and decide between competing answers.

  • Con — An argument against an answer. Cons help evaluate and decide between competing answers.

node <id>: Question "<label>"
node <id>: Answer "<label>"
node <id>: Pro "<label>"
node <id>: Con "<label>"

Edges

Edge types are inferred from node types — just write edge <from> -> <to>.

Valid connections:

  • Question → Question — A question can raise a further question, enabling infinite depth of inquiry.

  • Answer → Question — An answer can raise a further question — e.g., to probe its assumptions.

  • Pro → Question — A pro argument can raise a further question — e.g., to test its validity.

  • Con → Question — A con argument can raise a further question — e.g., to explore how to overcome it.

  • Question → Answer — A question is answered by this idea or answer.

  • Answer → Pro — This answer is supported by a pro argument.

  • Answer → Con — This answer is objected to by a con argument.

edge <from_id> -> <to_id>

The Drill-Down Mechanism

The power of IBIS is that you can attach a Question to any node type:

  • Question a Question: "Shouldn't we rather discuss X?"

  • Question an Answer: "What would we need to implement this?"

  • Question a Pro: "Is this advantage really significant?"

  • Question a Con: "Can we mitigate this disadvantage?"

Each sub-question starts its own Answer/Pro/Con branch, allowing unlimited depth.

Complete Example

vgraph techChoice: IBIS "Which database should we use?" {
    node q1: Question "Which database should we use?"

    node a1: Answer "PostgreSQL"
    node a2: Answer "MongoDB"

    edge q1 -> a1
    edge q1 -> a2

    node pro1: Pro "ACID compliance"
    node pro2: Pro "Mature ecosystem"
    node con1: Con "Schema migrations can be complex"

    edge a1 -> pro1
    edge a1 -> pro2
    edge a1 -> con1

    node pro3: Pro "Flexible schema"
    node con2: Con "Weaker transaction support"

    edge a2 -> pro3
    edge a2 -> con2

    node q2: Question "How to handle schema migrations?"
    edge con1 -> q2

    node a3: Answer "Use Flyway or Liquibase"
    edge q2 -> a3

    node pro4: Pro "Industry-standard tooling"
    edge a3 -> pro4
}

Rules

  1. ALWAYS start with a root Question — it frames the entire diagram

  2. Follow the structure: Question -> Answer -> Pro/Con

  3. Use Questions to drill down — attach them to any node that needs exploration

  4. Keep labels concise — Questions as questions, Answers as noun phrases, Pros/Cons as short statements

  5. Use meaningful IDs (q1, mainIdea, costCon — not n1, n2, n3)

  6. Each Answer should have at least one Pro or Con to be useful

  7. Avoid orphan nodes — every node must connect to the tree

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": {
      "vgl": "<vgl>"
    },
    "name": "create_ibis"
  }
}

Input Schema

NameRequiredDescriptionDefault
vglYesValid VGL code using the IBIS notation. Must start with: vgraph <id>: IBIS "<title>" { ... }

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/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 behavioral burden. It discloses that input is VGL code and output is a rendered PNG, which is genuinely useful, but says nothing about invalid-VGL failure behavior, permissions, rate limits, or how the image is delivered. Substantial input-format guidance, thin on operational behavior.

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

Conciseness3/5

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

The purpose and output are front-loaded, which is good, but the body is a ~1000-word tutorial for a single-parameter tool. Node types, edge inference, and the drill-down mechanism are each explained two or three times, and the sample diagram largely duplicates the prose that precedes it, so much of the length is redundant rather than earned.

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?

There is no output schema, so the description must cover returns: it states the tool renders a PNG but never says what is returned (path, URL, base64) or how the caller retrieves the image. Input-side completeness is excellent, with syntax, semantics, and a worked example; the return contract is the missing piece.

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% and there is one parameter, so baseline would be 3. The description goes beyond the schema's one-line format hint by spelling out the full VGL grammar, node/edge types, valid connection rules, and a complete working example, materially improving the agent's ability to produce a valid value.

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 first sentence gives a precise verb+resource ('Create a IBIS diagram as PNG image') and immediately defines what IBIS is and what it is for, so an agent cannot confuse the action itself. However, it never names or contrasts the sibling generators (create_cld, create_concept_map, create_timeline), so the agent must infer notation differences on its own.

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?

It supplies a strong usage context ('maps out any decision, discussion, or thought process') plus a numbered build procedure and a Rules section that tell the agent exactly how to construct input. It stops short of explicit when-not-to-use guidance or pointing to sibling tools for other diagram types.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.