Skip to main content
Glama

Honeyfield Marketing MCP

WordPress: Upload media

wp_upload_media

Datei in die WordPress-Medienbibliothek hochladen — per source_url (Server lädt sie) ODER file_base64 (nur für kleine Dateien, deren Bytes der Agent selbst erzeugt oder besitzt). Genau eines angeben. Chat-Anhänge und lokale Dateien des Kunden erreichen den Server nicht — das Protokoll hat keinen Binärkanal; liegt die Datei online, source_url verwenden — als DIREKTLINK auf die Datei (bei Google Drive https://drive.google.com/uc?export=download&id=, NICHT der Freigabe-Link, der liefert die HTML-Ansicht). source_url: nur öffentliche http(s)-URLs, max. 25 MB; filename und mime_type werden daraus abgeleitet. Bei file_base64 filename MIT Dateiendung angeben (z. B. bild.jpg) — WordPress lehnt Dateien ohne erlaubte Endung ab; mime_type (z. B. image/jpeg) empfohlen. Optional title/alt_text. Liefert {success, media:{id,url,mime,title}}. alt_text wird per Folge-Update gesetzt und nicht zurückgemeldet — bei Bedarf mit wp_list_media(search=...) gegenprüfen. file_base64 hoechstens 25 MB (sonst {'error': 'too_large'}) — groessere Dateien per source_url oder Upload-Link. Bei {"error": "wp_timeout"} oder "wp_unreachable" ist offen, ob die Änderung angekommen ist — erst nachsehen, nicht blind wiederholen. {"error": "source_unreachable"}: source_url war nicht abrufbar, in WordPress wurde nichts angelegt. Timeout nur beim Folge-Update von title/alt_text: Upload ist erfolgreich ({"success": true, "media": {...}}) plus {"warning": "..."} — nicht neu hochladen. workspace: Slug des Kunden-Workspace (optional bei nur einem Workspace).

Input Schema

NameRequiredDescriptionDefault
titleNo
alt_textNo
filenameNo
mime_typeNo
workspaceNo
source_urlNo
file_base64No

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only cover the coarse safety profile (readOnly=false, destructive=false, openWorld=true); the description goes far beyond by mapping error codes to outcomes and retry policy: wp_timeout/wp_unreachable means uncertain state so don't blindly retry, source_unreachable means nothing was created, too_large at 25 MB, and a warning-plus-success case for follow-up title/alt_text updates. It also discloses that alt_text is applied by a follow-up update and not echoed back.

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?

Front-loaded with the core verb and the either/or rule, then parameter and error guidance in compact form. Slightly repetitive — the 25 MB limit is stated twice — and dense enough that scanning is required, but nearly every sentence adds distinct operational value.

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 a 7-parameter, zero-required upload tool with no schema descriptions and no enums, this is the level of detail needed: input mode selection, extension/mime constraints, size limits, return shape, alt_text verification path via wp_list_media, and a retry-safety policy for ambiguous timeouts. The presence of an output schema doesn't make the error/retry disclosure redundant.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden and does: it explains exactly-one-of source_url/file_base64, that filename and mime_type are derived from source_url, that filename must include an allowed extension for base64 uploads, that mime_type is recommended, and that workspace is optional when only one workspace exists. All seven parameters are semantically covered.

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 specific verb and resource ('Datei in die WordPress-Medienbibliothek hochladen') and immediately splits the two mutually exclusive input modes (source_url vs. file_base64) with 'Genau eines angeben'. Nothing about the tool's identity is left to inference.

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?

Gives explicit when-to-use rules for each mode: source_url when the file lives online, file_base64 only for small agent-generated content, plus the crucial negative constraint that chat attachments and customer-local files cannot reach the server. It even includes the concrete Google Drive direct-link recipe and warns against the share link, which is precisely the failure an agent would otherwise hit.

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