Skip to main content
Glama

Taokeh MCP server

File a pending logo-change draft (human approves in Taokeh)

update_logo_draft

FILES A PENDING DRAFT ONLY — NOTHING CHANGES UNTIL A HUMAN REVIEWS AND APPROVES IT IN TAOKEH. Propose a new COMPANY LOGO for this company — the mark Taokeh prints on every invoice, quote, receipt and statement it generates, and that fronts the online storefront. This does NOT change anything: it files a pending DRAFT an ADMIN reviews by looking at the logo they have now beside the one you are proposing, and approves with one tap; only that tap sets it. Send the image one of two ways, never both. Lane 1 (default, any size): call request_attachment_upload, PUT the raw bytes to its uploadUrl, and pass the returned attachmentToken here. Lane 2 (fallback): if your shell cannot reach taokeh.my — sandboxed clients sit behind a network allowlist and the PUT fails 403/blocked; that is YOUR sandbox, not Taokeh — send attachmentBase64 + attachmentMediaType inline instead, always with attachmentBytes (the file's decoded size on disk) so a truncated paste is rejected rather than filed. PNG or JPEG only: those are the only formats Taokeh can embed in a generated PDF, and anything else is refused by name. Taokeh SHRINKS oversized artwork for you rather than sending you away to resize it — a 5000×5000 export is accepted and stored at 2000px, and the review screen says so; only an image so large it is no longer a logo is refused. A LOGO IS ONE VALUE, so the proposal REPLACES the whole thing rather than patching it, and there is only ever ONE logo proposal waiting: filing a second one replaces the first, which is rejected as superseded. If the company already has a logo the review page shows both images side by side; if it has none, this is the first one. If an admin sets or removes a logo in Taokeh after you file, the one-tap doors refuse and send them to the full review page — a human's own choice is never overwritten by a proposal that never saw it. ⛔ THIS IS THE COMPANY LOGO ONLY. It is not the Pioneer program's testimonial artwork, and nothing on this connector can touch that. BE HONEST: propose only an image the user actually gave you for this purpose. Never generate a logo and file it as though they had chosen it, and tell them in the same breath that nothing on their paperwork changes until they tap Approve.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
notesNoA SHORT reviewer note, in the reviewer's language: where this image came from and what they should check before it goes on their invoices.
needsReviewNoSet true when something gave you pause — an image you are not certain is the right mark, or one the user sent in passing rather than chose.
attachmentBytesNoThe decoded byte size of the image on disk — send it alongside attachmentBase64 and the server rejects a truncated paste instead of filing half a logo.
attachmentTokenNoThe token from request_attachment_upload, AFTER you have PUT the image bytes to its uploadUrl. The preferred lane for any real logo file. Mutually exclusive with attachmentBase64.
attachmentBase64NoThe logo image as base64 — the fallback lane, for when your shell cannot reach taokeh.my. PNG or JPEG only. Mutually exclusive with attachmentToken.
attachmentSha256NoThe SHA-256 of the image as 64 hex chars — optional second integrity check alongside attachmentBase64.
attachmentFilenameNoThe original file name, e.g. 'acme-logo.png'. Shown on the review page so the admin recognises what they were sent.
attachmentMediaTypeNoThe image's MIME type — 'image/png' or 'image/jpeg'. Required when attachmentBase64 is given.

Schema Changelog

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

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations are all false and carry almost no signal, so the description carries the full burden — and it delivers richly: supersede semantics ('filing a second one replaces the first, which is rejected as superseded'), shrink behavior ('5000×5000 export is accepted and stored at 2000px'), format refusal ('anything else is refused by name'), sandbox-induced PUT 403s, truncated-paste rejection via attachmentBytes, and human-override protection ('a human's own choice is never overwritten by a proposal that never saw it'). No contradiction with the annotations — destructiveHint=false aligns with 'This does NOT change anything'.

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, but the density of decision-relevant information justifies it: every major block (pending semantics, two lanes, formats, shrinking, one-value replacement, human-override, scope boundary, honesty rule) maps to a distinct risk the agent must handle. Critical info is front-loaded ('FILES A PENDING DRAFT ONLY') and warnings are scannable via caps and the ⛔ marker. Minor deductions for redundancy ('This does NOT change anything' restates the opening sentence) and an editorial aside ('that is YOUR sandbox, not Taokeh').

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 tool — 8 parameters, two mutually exclusive input lanes, no output schema, no idempotency — the description covers purpose, exact invocation mechanics, side effects, concurrency behavior, failure modes, and ethical constraints. The only notable gap is the success response: nothing states what the agent should expect back after filing (e.g., a draft identifier or confirmation), which matters more because there is no output schema. That single omission keeps this from a 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?

Schema description coverage is 100%, so the baseline is 3. The description adds genuine workflow-level meaning beyond the schema: it groups parameters into two mutually exclusive lanes (attachmentToken alone vs attachmentBase64 + attachmentMediaType + attachmentBytes), explains why attachmentBytes is mandatory alongside base64 ('a truncated paste is rejected rather than filed'), and states the format constraint ('PNG or JPEG only'). It adds little on notes, needsReview, attachmentSha256, or attachmentFilename, but those are already well documented in the schema.

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 first sentence states a specific verb and resource with a decisive qualifier: 'FILES A PENDING DRAFT ONLY — NOTHING CHANGES UNTIL A HUMAN REVIEWS AND APPROVES IT IN TAOKEH. Propose a new COMPANY LOGO.' The title independently confirms it ('File a pending logo-change draft'). It also differentiates from siblings by fencing off the Pioneer testimonial artwork ('THIS IS THE COMPANY LOGO ONLY'), so an agent cannot confuse it with the large create_*_draft / update_*_draft family.

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?

Explicit when-to-use and how-to-use guidance with named alternatives: Lane 1 directs the agent to call request_attachment_upload (a sibling) and pass its attachmentToken; Lane 2 specifies the exact fallback condition ('if your shell cannot reach taokeh.my... PUT fails 403/blocked') and the parameters to use instead. Scope exclusions are explicit ('It is not the Pioneer program's testimonial artwork'), and the honesty rule states when NOT to file ('Never generate a logo and file it as though they had chosen it').

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