Skip to main content
Glama

attach_link

Attach an external URL as a WorkspaceDocument inside a library. Zero bytes, just a metadata row. provider must be one of MIRO, FIGMA, NOTION, CONFLUENCE, GOOGLE_DOCS, EXCALIDRAW, OTHER_LINK. url must be http(s). Requires project.content.create on the parent library's project (Viewers are read-only).

Input Schema

NameRequiredDescriptionDefault
urlYes1..2048 chars, http(s) only.
nameYes1..200 chars.
providerYes
libraryIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare the mutation profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the bar is lower, and the description still adds real value: the stored object is metadata-only with zero bytes, and the call requires project.content.create on the parent library's project with viewers being read-only. It stops short of saying what happens on a duplicate URL or what the response returns.

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?

Four tight, front-loaded sentences with no filler; the key distinction ('Zero bytes, just a metadata row') comes early. A small amount of space is spent re-listing the enum values already present in the schema.

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

Completeness3/5

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

For a create-type tool with no output schema and no annotations covering parameters, the description covers permissions and storage behavior but omits what is returned (e.g., a document id) and duplicate-URL handling. It is adequate to invoke the tool but not fully complete.

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

Parameters2/5

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

Schema coverage is only 50%, so the description should compensate for the undocumented parameter (libraryId), but instead it restates the provider enum and the http(s) URL rule that the schema already carries. libraryId is only obliquely covered by 'inside a library' / 'parent library's project', leaving the actual gap unaddressed.

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?

The description states a concrete verb and resource ('Attach an external URL as a WorkspaceDocument inside a library') and immediately clarifies the shape of what is created ('Zero bytes, just a metadata row'). However, it does not distinguish this tool from the near-identical siblings attach_file_from_url and attach_sharepoint_document, leaving the agent to guess which one applies to a given source.

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?

Usage is implied by the constraints ('url must be http(s)', provider enum), and the permission requirement tells the agent who can call it. But there is no explicit when-to-use/when-not guidance and the closest alternatives (attach_file_from_url, attach_sharepoint_document) are never mentioned despite overlapping function.

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.