Skip to main content
Glama

Taplio for LinkedIn

Attach media from url

attach_media_from_url

Attach an image or video to a LinkedIn post draft before scheduling or publishing, by giving a public https url. Calls the Taplio API (see https://api.taplio.com) — url is the location of a media file the server downloads and stores, not an API endpoint the caller constructs. The file is then added to the draft. Use it to illustrate a draft you created or edited. If the url is unreachable or not public, the draft is left text-only and the media can be attached in the Taplio composer instead.

Input Schema

NameRequiredDescriptionDefault
idYesThe id of the draft to attach media to (from list_drafts).
urlYesPublic https url of the image or video to attach (jpeg, png, webp, gif, mp4, mov, webm, pdf).
document_titleNoOptional title LinkedIn shows when the url is a PDF. Defaults to the PDF file name. Up to 100 characters; letters, digits, spaces and hyphens are kept.

Output Schema

NameRequiredDescriptionDefault
idYes
mediaNo
statusYes
contentYes
created_atYes
updated_atNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / updated_at
      Added value: +{
      +  "$ref": "#/properties/created_at"
      +}
  2. Changed2 schema fields changed
    • addedInput schema / properties / document_title
      Added value: +{
      +  "description": "Optional title LinkedIn shows when the url is a PDF. Defaults to the PDF file name. Up to 100 characters; letters, digits, spaces and hyphens are kept.",
      +  "maxLength": 100,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedOutput schema / properties / media / items / properties / title
      Added value: +{
      +  "description": "Document title shown on LinkedIn. Only set for documents.",
      +  "type": "string"
      +}
  3. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only declare the mutation/idempotency profile; the description adds substantive behavior: the server downloads and stores the file, and on an unreachable or non-public url the draft is silently left text-only rather than erroring. That failure-mode disclosure is exactly the kind of context annotations cannot carry. It omits whether attaching replaces or adds alongside existing draft media, and does not address idempotencyHint=false.

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 purpose, then mechanism, then usage and fallback. The em-dash clarification about the url is long but earns its place; the final clause about the composer is slightly padded but still informative. No filler sentences.

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 3-parameter mutation with an output schema and full annotation coverage, the description supplies the missing pieces: what the server does with the url, and what happens on failure. Only the interaction with pre-existing draft media is left unaddressed.

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 already 100%, so the baseline is 3, but the description adds a genuinely non-obvious clarification: 'url is the location of a media file the server downloads and stores, not an API endpoint the caller constructs.' That preempts a plausible misuse given the existence of create_media_upload_url. It also implies the public-https constraint that the schema only states flatly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Attach an image or video to a LinkedIn post draft') plus the mechanism ('by giving a public https url'), which separates it from upload_media or pick_media in substance. It never names those siblings directly, so an agent must infer the distinction rather than being told.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a situational cue ('before scheduling or publishing', 'to illustrate a draft you created or edited') and a fallback (use the Taplio composer). It does not state when to prefer this over upload_media, create_media_upload_url, or pick_media, which are the real choice points given the sibling list.

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.