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 + the Shopee Wallet (held by Shopee); any owner advance comes back separately as cash.ownerFunding (for a sole proprietor or partnership only a pre-business-type Shareholder Loan balance, flagged fromBeforeBusinessType — never money the business owes the owner), 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 — the buckets count invoices only; receivables.unmatchedPayments, when present, is customer money received but not yet applied to an invoice (a payment applied only in part counts what is left), and receivables.depositsForLaterInvoices, when present, is customer money received before the invoice it is already matched to (a deposit: it sits on their account until the invoice's date and pays it then — do not suggest matching it); both are negative and already netted inside receivables.total), 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

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior1/5

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

The description repeatedly frames the tool as read-only: 'single read,' 'assembles the same figures,' and 'brief me.' However, annotations declare readOnlyHint=false, directly contradicting that safety profile. This inconsistency overrides the otherwise detailed field caveats.

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

Conciseness2/5

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

The description is a dense wall of parenthetical caveats for a zero-parameter tool, with key semantics buried mid-sentence. It is front-loaded with the morning-brief purpose, but the structure makes it hard to scan.

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 no output schema, the description must carry return-value semantics, and it does document many fields and caveats such as liquid cash, liabilities, unmatched payments, approval counts, and staged sets. It still does not describe the overall response shape or clarify open-world behavior, so it falls short of 5.

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 the baseline is 4. The lengthy notes concern output fields and accounting caveats rather than parameter meaning.

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 names a specific aggregated resource, the morning brief, and enumerates the figures it assembles: sales and expenses, cash position, debtors, approvals, tax, and low stock. It also distinguishes itself from siblings by naming business_snapshot, cash_position, ar_aging, tax_position, and low_stock as the individual tools it replaces.

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 gives a clear trigger with phrases like 'Your morning brief in one call' and 'brief me is a single read,' and it names the individual alternatives it replaces. It does not state explicit when-not-to-use conditions or limitations.

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