Skip to main content
Glama

Taokeh MCP server

Daily brief

daily_brief

Your morning brief in one call: today's and this-month's sales & expenses, cash position (cash.total is LIQUID money only — cash + banks + gateway float; any owner advance comes back separately as cash.ownerFunding, and any credit-card debt as cash.cards / cash.cardsOwing — both are liabilities that must never be added to, or netted against, the cash total), who owes you (top debtors + overdue buckets), what's waiting for your approval (approvals.total counts DECISIONS, not rows: a real approval contributes its item count, while an operational to-do like "listings to link" counts as 1 however long its backlog — read each item's own count for the size. A STAGED SET (staged_documents, staged_products, …) is one decision too, so its count is always 1: read rows for how many are actually waiting, flagged for how many need a human look, and fenced for how many cannot be entered while the accounting start date stands where it is (they are dated on or before it, so the opening balances already carry them). A fenced row is not work the owner can finish on this queue: the remedies are to leave it out, or to move the accounting start date — after which Taokeh re-checks the fence and the row becomes enterable), tax position, and low stock. Assembles the same figures as the individual tools (business_snapshot, cash_position, ar_aging, tax_position, low_stock) plus your pending-approval queue, so "brief me" is a single read.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A3.7/5.0
Behavior1/5

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

The description claims the tool is a read operation ('single read') and a pure aggregation, while the annotations include `readOnlyHint: false`. This is a direct contradiction: the agent cannot rely on the description's implicit read-only promise and the annotation's mutability signal. Rule scores this 1 because the description contradicts the structured annotations.

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 long, with extensive parentheticals about cash semantics and approval counting. All the details are load-bearing and the main purpose is front-loaded ('Your morning brief in one call'). The sentence structure is somewhat heavy, but it is far from tautological: it earns its length.

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 carries the burden of understanding the response. It does well for the cash fields and approvals (defining `cash.total`, `cash.ownerFunding`, `cash.cards`, and `approvals.total` with careful liability and count semantics). However, some high-level outputs (tax position, low stock, overdue bucket details) are only named, not explained, making it slightly incomplete as an output reference.

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?

There are zero input parameters, so there is no parameter semantics description needed to fill in; the baseline for a parameterless tool is 4. The description correctly spends no space on parameters and focuses instead on what the tool returns.

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, comprehensible framing: 'Your morning brief in one call' and enumerates exactly what the tool surfaces: sales/expenses, cash position, debtors, approvals, tax and low stock. It also names the sibling tools's individual reads it aggregates, which distinguishes it from business_snapshot, cash_position, ar_aging, tax_position, and low_stock.

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 establishes the intended use case: a one-call morning brief, contrasted with individual tools via 'Assembles the same figures as the individual tools' and 'brief me is a single read.' It does not explicitly provide a 'when not to use' list or direct the agent to a more specific sibling for deeper drill-down, keeping this at a 4 rather than 5.

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