Skip to main content
Glama

Share a website, app, agent, or skill by email

share_service
Destructive

Share a website, an app, an agent, or a skill with specific people by email, whatever its access mode — sharing does not change who else can reach it. Each address is mailed a link from Valet that opens it; the recipient needs no Valet account of their own, only the link, so anyone holding the email can open it and forwarding it forwards access. An app runs server code, so a person it is shared with can use everything the app does, including anything that changes data. An agent can be shared only on a server with agent outside access turned on. Sharing again with an address that already has access re-sends the same link rather than creating a second one. Requires connecting a Valet account.

Input Schema

NameRequiredDescriptionDefault
kindNoThe kind you mean. Omit to share whatever the name holds; give it to have a name holding another kind refused.
nameYesRequired. The website's, app's, agent's, or skill's name.
emailsYesRequired. The email addresses to share it with, at most 10 at a time. Sharing again with an address that already has access re-sends the same link rather than creating a second one.
messageNoAn optional note included in the email, shown to the recipient as a quote beside the link. At most 500 characters.
org_nameNoThe Valet organization the website, app, agent, or skill belongs to. Omit to use the organization the account joined first.
access_ttlNoHow long the first open starts access for, after which the link stops working, such as 30m or 7d (units: s, m, h, d). Omit for access that never expires this way. Composes with expires_in: the unopened deadline governs until the first open replaces it.
expires_inNoHow long from now the link works if nobody has opened it yet, such as 24h or 7d (units: s, m, h, d). Omit for a link that never expires this way.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / kind / enum
      Previous value: -[
      -  "site",
      -  "app",
      -  "skill"
      -]New value: +[
      +  "site",
      +  "app",
      +  "agent",
      +  "skill"
      +]
    • changedInput schema / properties / name / description
      Previous value: -"Required. The website's, app's, or skill's name."New value: +"Required. The website's, app's, agent's, or skill's name."
    • changedInput schema / properties / org_name / description
      Previous value: -"The Valet organization the website, app, or skill belongs to. Omit to use the organization the account joined first."New value: +"The Valet organization the website, app, agent, or skill belongs to. Omit to use the organization the account joined first."
  2. Changed3 schema fields changed
    • changedInput schema / properties / kind / description
      Previous value: -"The kind you mean. Omit to share whatever the name holds; give it to have a name holding another kind refused. Only a website or a skill can be shared by email."New value: +"The kind you mean. Omit to share whatever the name holds; give it to have a name holding another kind refused."
    • changedInput schema / properties / name / description
      Previous value: -"Required. The website's or skill's name."New value: +"Required. The website's, app's, or skill's name."
    • changedInput schema / properties / org_name / description
      Previous value: -"The Valet organization the website or skill belongs to. Omit to use the organization the account joined first."New value: +"The Valet organization the website, app, or skill belongs to. Omit to use the organization the account joined first."
  3. Changed5 schema fields changed
    • changedInput schema / properties / emails / description
      Previous value: -"Required. The email addresses to share the site with, at most 10 at a time. Sharing again with an address that already has access re-sends the same link rather than creating a second one."New value: +"Required. The email addresses to share it with, at most 10 at a time. Sharing again with an address that already has access re-sends the same link rather than creating a second one."
    • changedInput schema / properties / kind / description
      Previous value: -"The kind you mean. Omit to share whatever the name holds; give it to have a name holding another kind refused. Only a website can be shared by email so far."New value: +"The kind you mean. Omit to share whatever the name holds; give it to have a name holding another kind refused. Only a website or a skill can be shared by email."
    • changedInput schema / properties / kind / enum
      Previous value: -[
      -  "site",
      -  "app"
      -]New value: +[
      +  "site",
      +  "app",
      +  "skill"
      +]
    • changedInput schema / properties / name / description
      Previous value: -"Required. The website's name."New value: +"Required. The website's or skill's name."
    • changedInput schema / properties / org_name / description
      Previous value: -"The Valet organization the site belongs to. Omit to use the organization the account joined first."New value: +"The Valet organization the website or skill belongs to. Omit to use the organization the account joined first."
  4. Added

TDQS

A4.4/5.0
Behavior5/5

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

It adds substantial behavioral context beyond the annotations: link forwarding forwards access, apps can change data through server code, agents require outside access to be enabled, re-sharing re-sends the same link, and a Valet account is required. These details align with the destructiveHint=true annotation by warning that app sharing can expose data-changing capabilities.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description opens with the core action and then presents the important caveats in compact, front-loaded sentences. Despite being longer than average, every sentence contributes useful operational or security context.

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?

The description covers prerequisites, access semantics, forwarding risk, app data risk, agent requirements, and re-share behavior, which is strong for a complex sharing tool. It does not describe what the tool returns or how partial email failures are represented, which is a minor gap given there is no output schema.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already explains name, emails, kind, org_name, access_ttl, and expires_in in detail. The description adds little parameter-specific meaning beyond restating the re-share behavior already covered in the emails schema description.

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?

The description states a specific verb and resource: sharing a website, app, agent, or skill with specific people by email. It also clarifies scope by noting that sharing does not change who else can reach the resource, which helps distinguish it from access-mode changes handled by siblings such as set_service_access.

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

Usage Guidelines4/5

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

The description gives clear context for when this tool applies: sharing by email with specific people, including the fact that recipients need no Valet account. It does not explicitly name alternatives like unshare_service or set_service_access, so the guidance is clear but not fully comparative.

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