Skip to main content
Glama

Share resume by link

share_resume_link

Create a public link to the user's resume PDF on ResumeQuick.app (ResumeQuick.app/r/…), or return the open one brought up to date. It is for sending the resume to other people: anyone with the link can open and download the clean file until it is closed, with close_resume_link or on the user's resume page. The user's own download is get_resume_pdf_url, which creates no link. No quota on any plan. When the resume changed since the last file, a new file is made first (task_id, a few seconds); the link then follows the newest file. Returns 'not_found' if the resume does not exist or does not belong to the current user, and 'not_generated' for existing_file=true when no file was made yet.

Input Schema

NameRequiredDescriptionDefault
inputYes

Output Schema

NameRequiredDescriptionDefault
urlYesThe public link on ResumeQuick.app. Anyone with it can open and download the resume until it is closed, with close_resume_link or on the resume page; it has no expiry date and counts no opens. Null while the first file is still being made.
task_idYesSet when a new file is being made for the link; get_task_status(task_id) reports it, and a share_resume_link call after it is done points the link at that file.
file_nameYesThe name the file downloads under, e.g. Jane_Doe_Resume.pdf.
resume_idYes
is_currentYesFalse when the resume changed after the file the link shows was made.
page_countYesPages in the file the link shows.
follows_latestYesTrue when the link shows the newest file the user makes, which is the case on every plan. False only for a link made before that, pinned to one version until it is shared again.
version_made_atYesISO 8601 UTC moment the file the link shows was made — its version, as in 'version of Oct 2'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / url / description
      Previous value: -"The public link on ResumeQuick.app. Anyone with it can open and download the resume until the user closes it on their resume page; it has no expiry date and counts no opens. Null while the first file is still being made."New value: +"The public link on ResumeQuick.app. Anyone with it can open and download the resume until it is closed, with close_resume_link or on the resume page; it has no expiry date and counts no opens. Null while the first file is still being made."
  2. Changed5 schema fields changed
    • changedInput schema / $defs / ShareResumeLinkInput / properties / existing_file / description
      Previous value: -"True shares the file already made, as it is, without making a new one — free on every plan. False (default) shares the resume as it is now, making a new file when it changed."New value: +"True shares the file already made, as it is, without making a new one. False (default) shares the resume as it is now, making a new file when it changed."
    • changedOutput schema / properties / follows_latest / description
      Previous value: -"True on a paid plan: the link shows the newest file the user makes. False on the free plan: it shows this version until the user updates the link."New value: +"True when the link shows the newest file the user makes, which is the case on every plan. False only for a link made before that, pinned to one version until it is shared again."
    • removedOutput schema / properties / new_file_uses_free_pdf
      Removed value: -{
      -  "description": "True when bringing the link up to date makes a new file, which spends the free plan's PDF.",
      -  "title": "New File Uses Free Pdf",
      -  "type": "boolean"
      -}
    • removedOutput schema / properties / next_free_at
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "ISO 8601 UTC moment the free plan's next new PDF is free, when this one is spent.",
      -  "title": "Next Free At"
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "resume_id",
      -  "url",
      -  "task_id",
      -  "version_made_at",
      -  "follows_latest",
      -  "is_current",
      -  "file_name",
      -  "page_count",
      -  "new_file_uses_free_pdf",
      -  "next_free_at"
      -]New value: +[
      +  "resume_id",
      +  "url",
      +  "task_id",
      +  "version_made_at",
      +  "follows_latest",
      +  "is_current",
      +  "file_name",
      +  "page_count"
      +]
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses that anyone with the link can open and download the file until closed, how it is closed, that there is no quota on any plan, that a new file is generated first when the resume changed (task_id, a few seconds), and the 'not_found'/'not_generated' outcomes. Annotations only say non-readOnly, non-destructive, non-idempotent; the description supplies the real behavioral picture.

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 action and URL, then alternatives, then side effects, then error codes. Dense but every sentence carries information; the closing error-code sentence could arguably sit in the output schema instead.

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?

Covers the mutation's side effects, async timing, sharing/security semantics, quota, and failure modes, even though an output schema exists and would have excused omitting return values. Nothing an agent needs to call this safely and correctly is missing.

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?

Both schema parameters carry their own descriptions, and the description adds the interaction rule: existing_file=true returns 'not_generated' when no file was made yet, and the default path regenerates the file first. It never restates resume_id semantics, leaving that entirely to the schema, which keeps it at 4 rather than 5.

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 ('Create a public link to the user's resume PDF'), gives the concrete URL shape (ResumeQuick.app/r/…), and explicitly distinguishes itself from get_resume_pdf_url and close_resume_link. An agent can route correctly without opening any schema.

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 use case ('for sending the resume to other people') and the alternatives with their selecting conditions: get_resume_pdf_url for the user's own download ('creates no link'), close_resume_link for termination. Explicit when-to-use and when-not-to-use.

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.