Skip to main content
Glama

fibonacci_draw

Draw a Fibonacci study directly on the chart with exact candle coordinates and optional custom ratios. Supports retracement, extension, channel, time, fan, circle, spiral, arc and wedge variants. Prefer swing timestamps/prices returned by market_candles computations rather than visual guesses. For a highest-high/lowest-low retracement use anchorMode high-to-low or low-to-high with ref and lookback: the tool selects exact CLOSED-candle wick coordinates. Do not substitute window start/end times. Changes the chart you are building; finish with chart_link, or analysis_prepare for a sharing draft that needs human review.

Input Schema

NameRequiredDescriptionDefault
refNo
fillNoPalette fill colour, or “none”.
textNoRequired for text/note/callout: concise words, with for short lines. For emoji: one Unicode emoji, e.g. 👀 or ⚠️. Max 500 characters.
toolYes
colorNoA palette name. “up” and “down” are the reserved green and red — they assert a bullish or bearish claim, so use them for position zones and not for a measurement.
widthNoStroke width in pixels, 1 to 6.
levelsNo
pointsNo
symbolNo
opacityNoStrength of the whole drawing, 0.1 to 1. Fade a level that is context rather than the decision.
arrowEndNo
fontSizeNoSize 9–160px, normally 12–16 for readable text. Emoji render at twice this size.
lookbackNoNumber of most recent CLOSED bars for automatic anchors. Load at least this many closed bars first.
textBoldNo
wrapTextNoDefault true: wrap long annotation lines for readability. False only for an explicitly requested single-line label.
lineStyleNo
showStatsNo
textColorNo
anchorModeNoDefault explicit uses points. Automatic modes support fibRetracement only and require ref.
arrowStartNo
extendLeftNo
showLabelsNo
showPricesNo
showRatiosNo
extendRightNo
fillOpacityNoShape fill opacity from 0 to 1.
ratioFormatNo
labelPositionNo
labelVerticalNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / fontSize / description
      Previous value: -"Label/text size from 8 to 28."New value: +"Size 9–160px, normally 12–16 for readable text. Emoji render at twice this size."
    • changedInput schema / properties / text / description
      Previous value: -"Text for annotation tools."New value: +"Required for text/note/callout: concise words, with \n for short lines. For emoji: one Unicode emoji, e.g. 👀 or ⚠️. Max 500 characters."
    • addedInput schema / properties / wrapText
      Added value: +{
      +  "description": "Default true: wrap long annotation lines for readability. False only for an explicitly requested single-line label.",
      +  "type": "boolean"
      +}
  2. Changed10 schema fields changed
    • addedInput schema / properties / anchorMode
      Added value: +{
      +  "description": "Default explicit uses points. Automatic modes support fibRetracement only and require ref.",
      +  "enum": [
      +    "explicit",
      +    "high-to-low",
      +    "low-to-high"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / labelPosition
      Added value: +{
      +  "enum": [
      +    "left",
      +    "center",
      +    "right"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / labelVertical
      Added value: +{
      +  "enum": [
      +    "above",
      +    "middle",
      +    "below"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / lookback
      Added value: +{
      +  "description": "Number of most recent CLOSED bars for automatic anchors. Load at least this many closed bars first.",
      +  "maximum": 50000,
      +  "minimum": 2,
      +  "type": "number"
      +}
    • addedInput schema / properties / ratioFormat
      Added value: +{
      +  "enum": [
      +    "value",
      +    "percent"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / showPrices
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / showRatios
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / textBold
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / textColor
      Added value: +{
      +  "enum": [
      +    "blue",
      +    "orange",
      +    "violet",
      +    "aqua",
      +    "yellow",
      +    "magenta",
      +    "neutral",
      +    "white",
      +    "up",
      +    "down"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "tool",
      -  "points"
      -]New value: +[
      +  "tool"
      +]
  3. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare it is a mutation (readOnlyHint=false) that is neither idempotent nor destructive. The description adds valuable workflow context: it changes the chart being built, should be finished with chart_link or analysis_prepare, and automatic anchor modes select exact CLOSED-candle wick coordinates. It does not mention rate limits or auth, but with annotations covering the safety profile this is a solid addition.

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 front-loaded with purpose, then usage rules, then workflow guidance. Each sentence serves a purpose, though it is somewhat lengthy; it could be tightened slightly without losing information.

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 complex 29-parameter tool with no output schema but clear annotations, the description covers purpose, usage constraints, anchoring behavior, and workflow. The main gap is incomplete parameter semantics, but the core operational guidance an agent needs to invoke it correctly is present.

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?

With schema coverage at 34%, the description must compensate for many undocumented parameters. It does explain the most critical ones (anchorMode, ref, lookback) and the coordinate requirement, but leaves over twenty style and display parameters (fill, color, width, levels, opacity, text options, etc.) without added meaning beyond their names or enums.

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: 'Draw a Fibonacci study directly on the chart'. It enumerates the supported variants (retracement, extension, channel, time, fan, circle, spiral, arc, wedge), making it clearly distinguishable from generic siblings like drawing_add or chart_add_indicator.

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?

It gives explicit when-to-use guidance: prefer swing timestamps/prices from market_candles rather than visual guesses, use anchorMode high-to-low/low-to-high with ref and lookback for highest-high/lowest-low retracements, and do not substitute window start/end times. It also names the finish steps (chart_link or analysis_prepare) and when to choose each.

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.

Resources