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. It must match the file's bytes — a mismatch is refused and nothing is filed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / attachmentMediaType / description
      Previous value: -"The image's MIME type — 'image/png' or 'image/jpeg'. Required when attachmentBase64 is given."New value: +"The image's MIME type — 'image/png' or 'image/jpeg'. Required when attachmentBase64 is given. It must match the file's bytes — a mismatch is refused and nothing is filed."
  2. Added

TDQS

A4.8/5.0
Behavior5/5

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

With annotations covering only the safety profile, the description carries the behavioral burden and delivers: replacement-not-patch semantics, only-one-proposal-waiting with supersede-on-second-file, admin-override protection after a human sets/removes a logo, and automatic downscaling instead of file rejection. These traits are not recoverable from the 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 crucial constraint (pending draft only, human approves) is front-loaded in caps, and the lane/format/replacement details follow in a logical order. It is longer and more emphatic than strictly necessary, but nearly every sentence earns its place by conveying a distinct rule.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-param mutation-style drafting tool with no output schema, the description supplies the full behavioral picture: submission lanes, format/size handling, replacement semantics, and the human-approval gate. An agent has everything needed to call it correctly and to inform the user.

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 coverage is 100%, so the baseline is 3, and the description adds genuine meaning beyond it: the mutual exclusivity of the two lanes, why attachmentBytes accompanies base64 (rejects truncated pastes), and the PNG/JPEG-only constraint. It stops short of explaining every field, but meaningfully enriches the key ones.

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?

States a precise verb+resource: filing a pending draft proposing a new COMPANY LOGO, and immediately scopes that nothing changes until human approval. It cleanly distinguishes itself from the sibling create_*_draft/update_*_draft tools and explicitly rules out the Pioneer testimonial artwork.

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?

Names the alternative lanes explicitly (Lane 1 request_attachment_upload default, Lane 2 base64 fallback) and the exact condition that selects the fallback (sandbox 403/blocked reach to taokeh.my). It also states the honesty precondition and the exclusions, leaving little to inference.

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