Skip to main content
Glama

How Taseli would do it

get_guidance
Read-onlyIdempotent

How Taseli would approach one question on this business's account, as a decision: the verdict for the account's stage (computed from its own numbers) and tracking, the principle Taseli follows on the topic, the owner's own rules (they outrank Taseli's practice), Taseli's recommended monthly budget where money is the question, and what not to do now and why. Topics: budget, bidding, structure, pausing, creatives, audiences, tracking, launch, scaling, seasons. It is guidance, not a requirement. Read only.

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": {
      "question": "<question>"
    },
    "name": "get_guidance"
  }
}

Input Schema

NameRequiredDescriptionDefault
topicNoThe topic, when you know it; else it is read from the question.
accountNoAn ad account's name, when it is about one account only; omit when it is about the whole business.
questionYesThe question in a short English line, e.g. 'Should we raise the budget on the plumbing campaign?'

Output Schema

NameRequiredDescriptionDefault
asOfNoThe day the data runs to (the daily sync).
noteNoA plain note instead of a decision (nothing connected yet, not available here).
errorNoWhy nothing was judged, as a short code.
answerNoThe answer in one line, in the asked language. Every number in it comes from Taseli's code.
dontDoNoWhat not to do now, and why.
actionsNo
reasonsNoAt most 3 (6 with detail full), strongest first.
verdictNo
currencyNo
languageNo
nextCheckNoWhen Taseli looks again.
confidenceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed15 schema fields changed
    • addedOutput schema / properties / actions
      Added value: +{
      +  "items": {
      +    "properties": {
      +      "approvalUrl": {
      +        "description": "Where the owner approves it, in Taseli.",
      +        "type": "string"
      +      },
      +      "proposalId": {
      +        "type": "string"
      +      },
      +      "tool": {
      +        "description": "A ready call with its arguments.",
      +        "properties": {
      +          "args": {
      +            "type": "object"
      +          },
      +          "name": {
      +            "description": "A tool on this server.",
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "what": {
      +        "type": "string"
      +      },
      +      "who": {
      +        "description": "taseli: Taseli does it or already watches; owner: a tap in Taseli or a fix on the site; agent: the caller may do it.",
      +        "enum": [
      +          "taseli",
      +          "owner",
      +          "agent"
      +        ],
      +        "type": "string"
      +      },
      +      "worth": {
      +        "properties": {
      +          "basis": {
      +            "enum": [
      +              "measured",
      +              "estimated"
      +            ],
      +            "type": "string"
      +          },
      +          "monthly": {
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / answer
      Added value: +{
      +  "description": "The answer in one line, in the asked language. Every number in it comes from Taseli's code.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / asOf
      Added value: +{
      +  "description": "The day the data runs to (the daily sync).",
      +  "type": "string"
      +}
    • addedOutput schema / properties / confidence
      Added value: +{
      +  "properties": {
      +    "level": {
      +      "enum": [
      +        "low",
      +        "medium",
      +        "high"
      +      ],
      +      "type": "string"
      +    },
      +    "why": {
      +      "description": "Why, in numbers (days, results, what was left out).",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / currency
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / dontDo
      Added value: +{
      +  "description": "What not to do now, and why.",
      +  "items": {
      +    "properties": {
      +      "line": {
      +        "type": "string"
      +      },
      +      "why": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / error
      Added value: +{
      +  "description": "Why nothing was judged, as a short code.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / language
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / nextCheck
      Added value: +{
      +  "description": "When Taseli looks again.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / note / description
      Previous value: -"A plain note instead of data (nothing connected yet, not available here)."New value: +"A plain note instead of a decision (nothing connected yet, not available here)."
    • addedOutput schema / properties / reasons
      Added value: +{
      +  "description": "At most 3 (6 with detail full), strongest first.",
      +  "items": {
      +    "properties": {
      +      "evidence": {
      +        "items": {
      +          "properties": {
      +            "fact": {
      +              "type": "string"
      +            },
      +            "n": {
      +              "description": "Peers only: how many businesses the figure comes from.",
      +              "type": "number"
      +            },
      +            "source": {
      +              "enum": [
      +                "account",
      +                "history",
      +                "peers",
      +                "rules",
      +                "memory",
      +                "calendar"
      +              ],
      +              "type": "string"
      +            },
      +            "value": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "string"
      +                }
      +              ]
      +            },
      +            "window": {
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "line": {
      +        "description": "One plain reason.",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • removedOutput schema / properties / text
      Removed value: -{
      -  "description": "The answer in plain words.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / truncated
      Removed value: -{
      -  "type": "boolean"
      -}
    • removedOutput schema / properties / truncatedNote
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / verdict
      Added value: +{
      +  "enum": [
      +    "setup",
      +    "fix_tracking",
      +    "small_steps",
      +    "optimise",
      +    "scale",
      +    "read_only"
      +  ],
      +  "type": "string"
      +}
  2. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds real behavioral context — that owner rules outrank Taseli's practice, that output is advisory rather than prescriptive, and roughly what the answer contains — though the presence of an output schema reduces how much this is needed.

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 intent is front-loaded in the opening clause, but the first sentence is an unusually long run-on that strings together six returned components. It is dense yet largely earns its words; a bulleted breakdown would be more scannable.

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?

With an output schema and full annotations present, the description only needs to convey intent and behavior, which it does. The one gap is routing guidance relative to the many sibling retrieval tools, which leaves the agent to guess when this beats get_decision or get_plan.

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%, so all three parameters are already documented. The description's topic list is helpful but partially inconsistent with the enum (it says 'pausing,' 'creatives,' 'audiences,' 'scaling,' 'seasons' where the enum has 'kill,' 'creative,' 'audience,' 'scale,' 'season'), which adds mild confusion rather than clarity. 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?

The description gives a specific verb+resource: it returns Taseli's decision-style guidance for one question, enumerating what the answer contains (verdict, principle, owner rules, budget, what not to do). It is distinguishable from generic retrieval siblings, though it never names an alternative tool to contrast with.

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?

It gives a topic list and the caveat 'It is guidance, not a requirement,' which implies advisory usage, but there is no explicit when-to-use or when-not-to-use versus siblings like get_decision, get_plan or get_learnings. The agent must infer the routing itself.

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