Skip to main content
Glama

Server Details

Deploy HTML from any agent: POST markup, get a live URL. Static hosting API with MCP tools.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 42 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.2/5.0

Scored across 11 tools

Disambiguation4/5

Most tools have distinct resource+action purposes, and deploy_html vs deploy_files vs append_files are clearly delineated by descriptions (single doc vs multi-file site vs adding to an existing drop). The only mild overlap is get_account vs get_limits, since get_limits also surfaces account/plan status when an API key is present.

Naming Consistency5/5

Every tool follows a clean snake_case verb_noun pattern (deploy_html, delete_drop, list_drops, set_drop_password), with the subject consistently being 'drop' or the target resource.

Tool Count5/5

11 tools is well within the ideal range and each earns its place, covering deployment, lifecycle, password management, and account introspection for a drop-hosting service.

Completeness4/5

The surface covers deploy, append, claim, list, delete, restore, and password set/remove — a strong lifecycle. Minor gap: no single-drop lookup (e.g. get_drop by slug) or rename/update metadata, though list_drops partially compensates.

Available Tools

11 tools
append_filesAppend files to an existing dropA
Destructive
Inspect

Add files to a drop owned by the authenticated account (requires an sp_ API key and an active subscription): up to 900 files per call, 10,000 per drop total, and existing paths are overwritten. The drop keeps its current expiry and password protection.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe drop slug (the subdomain part of its ${domain} URL).
filesYesMap of relative paths (e.g. 'index.html', 'css/app.css') to either a string, or { encoding: 'base64', content } for binary files.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
planNo
slugYes
filesYesPaths added by this call
expires_atYesISO timestamp, or null when the drop never expires
total_filesYesTotal files on the drop after the append

TDQS

A4.4/5.0
Behavior5/5

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

Even though annotations already mark this as destructive, the description adds crucial specifics: existing paths are overwritten, limits of 900 files per call and 10,000 per drop, and the drop retains its expiry and password protection. This is exactly the kind of behavioral context that goes beyond the annotations.

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?

One dense, well-structured sentence that front-loads the purpose and then packs in the most important constraints. Every clause adds value, with no filler or repetition of schema details.

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?

With annotations, a rich input schema, and an output schema present, the description provides all critical operational context: authentication, subscription requirement, file count limits, overwrite behavior, and preservation of expiry/password. Nothing essential is missing for an agent to call this tool correctly.

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 100%, so the schema already documents both parameters. The description adds meaningful parameter-level constraints: up to 900 files per call and 10,000 per drop total, plus overwrite semantics for existing paths. This goes beyond the baseline schema documentation.

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 specific verb and resource ('Add files to a drop') and clarifies ownership and authentication. It does not explicitly distinguish itself from sibling tools like deploy_files, but the title's 'append to an existing drop' plus the description's focus on adding to an owned drop make the purpose clear.

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: the drop must be owned by the authenticated account, and an sp_ API key with an active subscription is required. It does not explicitly name alternatives or exclusions, but the ownership and authentication context is strong enough to guide appropriate use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

claim_dropClaim an anonymous dropA
Destructive
Inspect

Attach an anonymously deployed drop to the authenticated account using its one-time claim token (spc_..., returned once by deploy_html/deploy_files). Claiming extends the drop to the free-account lifetime (90 days) and can revive an offline drop during its 30-day private recovery window. Claimed drops become listable, deletable, and — on paid plans — redeployable via named drops. Requires an sp_ API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe drop slug (the subdomain part of its ${domain} URL).
claim_tokenYesThe one-time spc_... token returned at deploy time.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
slugYes
claimedYes
restoredNoTrue when the drop had already expired and was revived by the claim
expires_atNoISO timestamp after the claim's lifetime extension, or null

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already signal a mutating, non-idempotent, destructive operation, and the description adds meaningful context: the token is one-time, claiming extends the drop lifetime, can revive an offline drop during its recovery window, and grants new capabilities. It also notes the sp_ API key requirement, which is beyond what annotations provide. No contradiction with annotations.

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?

Three sentences pack the core action, lifecycle consequences, and auth requirement without wasted words. The key action and token mechanism are front-loaded, and the later sentences add useful context without bloating the description.

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 two-parameter tool with an output schema and annotations, the description covers the purpose, the token source, the effects of claiming, and the required API key. It does not detail error cases or explicitly warn about irreversibility, but the one-time token wording and the lifecycle information make the tool's behavior sufficiently clear for correct invocation.

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%, and both slug and claim_token are clearly described in the schema. The description reiterates the spc_... token format but adds no meaning beyond the schema, so the baseline of 3 is appropriate.

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 ('Attach') and a specific resource ('anonymously deployed drop') with a precise mechanism (one-time claim token), making the tool's purpose immediately clear. It also distinguishes itself from siblings by referencing deploy_html/deploy_files as the source of the token and noting claimed drops become listable/deletable/redeployable, which separates it from delete_drop and restore_drop.

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 to use this tool: when claiming an anonymously deployed drop with its one-time token, including lifecycle effects like extending lifetime to 90 days and reviving offline drops. It does not explicitly state when not to use it or name alternatives, but the unique claim-token mechanism makes the intended use unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_dropDelete a dropA
Destructive
Inspect

Permanently delete a drop owned by the authenticated account (requires an sp_ API key). The URL stops serving immediately and cannot be recovered.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe drop slug (the subdomain part of its ${domain} URL).

Output Schema

ParametersJSON Schema
NameRequiredDescription
deletedYesSlug of the deleted drop

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already mark destructiveHint as true, but the description adds meaningful behavioral specifics: deletion is permanent, the URL stops serving immediately, and recovery is impossible. It also discloses the credential requirement. No contradiction with annotations.

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?

Two short sentences with no filler. The core destructive action is front-loaded, followed by the key consequences and auth requirement. Every sentence earns its place.

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 single-parameter destructive tool with a complete input schema and an output schema present, the description covers the action, ownership requirement, auth requirement, and immediate irreversible effects. Nothing essential is missing.

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%, and the schema already explains slug as the subdomain part of the drop's URL. The tool description adds no parameter-specific detail, so the baseline of 3 is appropriate.

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 action ('Permanently delete') on a specific resource ('a drop owned by the authenticated account') and emphasizes irreversibility. This clearly distinguishes it from non-destructive siblings such as remove_drop_password or restore_drop.

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?

Provides clear context: the drop must be owned by the authenticated account and an sp_ API key is required. It does not explicitly name alternatives or give a when-not-to-use condition, but the permanent and unrecoverable nature strongly implies when this tool should be avoided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deploy_filesDeploy a multi-file siteA
Destructive
Inspect

Deploy a map of path -> content as a multi-file site (must include index.html to serve at the root). Anonymous: up to 100 files per request, 30-day expiry (90 days once signed in). Pro ($4/mo): up to 900 files, custom or no TTL, named drops.

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlNoLifetime in seconds (min 60). Anonymous: max 2592000 (30 days), default 30 days. Signed-in free: max 7776000 (90 days), default 90 days. Paid: any value, omit for no expiry.
nameNoStable name for a redeployable drop (1-41 chars of [a-z0-9-]). Requires an active subscription; Team accounts serve it on their vanity subdomain.
agentNoName of the AI agent or app publishing this drop, e.g. 'chatgpt', 'claude', 'cursor'. AI agents: always set this.
emailNoContact email for an anonymous deploy: the one-time claim link is mailed to it, so the drop stays recoverable even if the claim_token from the response is lost. Pass it whenever the deploy is for a human. Ignored for authenticated deploys (those are owned already).
filesYesMap of relative paths (e.g. 'index.html', 'css/app.css') to either a string, or { encoding: 'base64', content } for binary files.
passwordNoShared password: 8-128 Unicode characters, at most 512 UTF-8 bytes. Requires active paid Pro/Team. Sent privately, never in the URL or response. Omit on a live named redeploy to preserve protection. Recreating an expired or purged name is a new drop: send the password again.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
nameNo
planYes
slugYesDrop slug; the site is live at https://<slug>.shipped.run/
filesYes
replacedNoPresent with named deploys; true when an existing drop was replaced
expires_atYesISO timestamp, or null when the drop never expires
claim_tokenNoOne-time claim token (spc_...), present only on anonymous deploys and shown once. Anyone holding it can attach the drop to an account via claim_drop.
password_protectedYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and non-idempotent, so the bar is lower. The description still adds real behavioral context: file-count ceilings, 30/90-day expiry windows, and the index.html serving requirement — all beyond what the annotations convey.

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?

Two tight sentences with the core purpose front-loaded before the tier/pricing detail. Dense but every clause carries usable information; only the pricing parenthetical is slightly extraneous for an agent.

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?

With an output schema present and annotations covering the safety profile, the description only needs to add behavioral context, which it does via limits, expiry, and the index.html rule. Minor gap: no explicit statement of auth requirements or what a failed deploy returns, but those are largely covered elsewhere.

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 coverage is 100% with rich per-parameter descriptions for ttl, name, password, and files, so the schema does the heavy lifting. The description's mention of 'named drops' and expiry adds only marginal framing beyond what the schema already documents.

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 (deploy) and resource (multi-file site) plus the critical index.html constraint for root serving. The 'map of path -> content' and 'multi-file' phrasing clearly distinguishes it from the sibling deploy_html and append_files.

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?

Provides tier-based context (anonymous 100 files/30-day, Pro 900 files/custom TTL) that implicitly guides when the tool is usable, but never explicitly routes the agent between this and deploy_html or append_files for incremental updates. Usage is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deploy_htmlDeploy a single HTML pageA
Destructive
Inspect

Deploy one HTML document and get back a live, unguessable https://.shipped.run/ URL. Anonymous: 10 deploys/min per IP, 10MB body cap, 30-day expiry. Pro ($4/mo): custom or no TTL, named drops.

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlNoLifetime in seconds (min 60). Anonymous: max 2592000 (30 days), default 30 days. Signed-in free: max 7776000 (90 days), default 90 days. Paid: any value, omit for no expiry.
htmlYesThe full HTML document to publish.
nameNoStable name for a redeployable drop (1-41 chars of [a-z0-9-]). Requires an active subscription; Team accounts serve it on their vanity subdomain.
agentNoName of the AI agent or app publishing this drop, e.g. 'chatgpt', 'claude', 'cursor'. AI agents: always set this.
emailNoContact email for an anonymous deploy: the one-time claim link is mailed to it, so the drop stays recoverable even if the claim_token from the response is lost. Pass it whenever the deploy is for a human. Ignored for authenticated deploys (those are owned already).
passwordNoShared password: 8-128 Unicode characters, at most 512 UTF-8 bytes. Requires active paid Pro/Team. Sent privately, never in the URL or response. Omit on a live named redeploy to preserve protection. Recreating an expired or purged name is a new drop: send the password again.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
nameNo
planYes
slugYesDrop slug; the site is live at https://<slug>.shipped.run/
filesYes
replacedNoPresent with named deploys; true when an existing drop was replaced
expires_atYesISO timestamp, or null when the drop never expires
claim_tokenNoOne-time claim token (spc_...), present only on anonymous deploys and shown once. Anyone holding it can attach the drop to an account via claim_drop.
password_protectedYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations are limited to hints (non-read-only, open-world, non-idempotent, destructive), and the description goes well beyond them: rate limit per IP, body size cap, expiry behavior for anonymous deploys, and the unguessable-slug security property. It does not explain what a deploy overwrites when a name is reused, which is the behavior the destructiveHint implies.

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?

Three sentences, front-loaded with the action and its result, then tier constraints. Dense but every clause carries information; the mid-sentence tier enumeration is slightly list-like but not wasteful.

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?

With an output schema present, the description need not explain return fields, and it still surfaces the key output (the live URL). It covers quotas, caps, and expiry tiers, which is enough for an agent to invoke it correctly; only the sibling routing decision is left unaddressed.

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% and the parameter docs are already detailed (ttl tiers, name/subscription requirement, email claim link, password rules). The description's mentions of TTL, named drops, and Pro tier restate that same information rather than adding syntax or edge-case detail the schema lacks, so the baseline 3 applies.

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 gives a specific verb and resource (deploy one HTML document) plus the concrete outcome: a live unguessable https://<slug>.shipped.run/ URL. It is clear on its own, but it never names the obvious sibling deploy_files, so an agent has to guess whether a multi-file or single-file case routes here.

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?

Tier-based conditions are stated (anonymous 10 deploys/min, 10MB cap, 30-day expiry; Pro gets custom TTL and named drops), which implies when the tool is usable. But there is no explicit when-to-use-this-vs-deploy_files guidance and no stated prerequisites for named/password deploys.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_accountGet account infoAInspect

Show the authenticated account's plan, subscription status and usage (requires an sp_ API key). Anonymous callers should use get_limits for the static free-tier limits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
planYesfree | pro | team
cancelAtNo
accountIdYes
portalAvailableNo
currentPeriodEndNo
activeSubscriptionYes

TDQS

A4.7/5.0
Behavior4/5

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

All annotation hints are false, so the description carries the burden of behavioral disclosure. It discloses an authentication requirement (sp_ API key) and characterizes the operation as 'Show', implying a read-only, non-destructive access. It does not explicitly state 'does not modify state', but given the tool name and description, this is sufficiently clear for an agent. No contradiction with annotations.

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 is a single, focused sentence with no wasted words. The core purpose is front-loaded, followed by the auth requirement and the routing to an alternative, all in compact, scannable structure.

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?

This is a low-complexity, zero-parameter tool with an output schema present. The description covers the tool's purpose, authentication requirement, and the alternative for anonymous callers. Nothing needed for correct invocation 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?

The input schema has zero parameters and schema coverage is 100%, so there are no parameter semantics to document. The baseline of 4 applies because the description adds no unnecessary parameter commentary and there is nothing missing.

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 names the resource ('the authenticated account') and a specific verb ('Show'), and enumerates the exact fields returned (plan, subscription status, usage). It also differentiates this tool from the sibling get_limits by explicitly stating the account-specific scope, leaving no ambiguity about what the tool does.

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?

The description clearly states a precondition ('requires an sp_ API key') and explicitly routes anonymous callers to the alternative tool get_limits. This is direct when-to-use versus when-not-to-use guidance, with the named sibling alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_limitsGet plan limitsAInspect

Show the ship.page plan matrix (anonymous free tier vs Pro $4/mo vs Team $19/mo) and, when an sp_ API key is present, the caller's current account/plan status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
plansYesPlan matrix: anonymous, pro, team
accountNoPresent when an sp_ API key was supplied

TDQS

A4.2/5.0
Behavior4/5

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

The description adds meaningful behavior beyond annotations: it discloses the anonymous vs authenticated behavior and the public plan matrix. The word 'Show' implies a non-mutating operation, and while readOnlyHint is false, this is not an affirmative contradiction since false is not a positive claim of mutation.

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 is a single, information-dense sentence with principal content front-loaded and the conditional case stated second. No unnecessary words or repetition of the title or schema.

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 tool with no parameters and an output schema, the description is complete: it specifies exactly what is shown in both the anonymous and API-key-present cases. Nothing an agent needs to decide whether to call it 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?

There are no parameters, so the description does not need to explain parameter meaning. The baseline for zero parameters is 4, and the description correctly avoids inventing parameter details while still clarifying the API key as an environmental condition.

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 specific action ('Show') and a specific resource (the ship.page plan matrix), and adds the conditional account/plan status. It is clear about what the tool does, though it does not explicitly differentiate itself from the overlapping 'get_account' sibling for account status.

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 the tool provides just the public matrix versus when it also shows the caller's status (when an sp_ API key is present). It does not mention alternatives or exclusions, but for a zero-parameter informational tool this is adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_dropsList your dropsAInspect

List drops owned by the authenticated account (requires an sp_ API key; anonymous drops are not listable). Returns slug, url, name, file counts, expiry and password_protected, newest first.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax drops to return (1-500, default 100).
offsetNoNumber of drops to skip (default 0).

Output Schema

ParametersJSON Schema
NameRequiredDescription
dropsYes
totalYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations provide no hints (all false), so the description carries the burden. It discloses the auth requirement, that anonymous drops are excluded, the exact returned fields, and newest-first ordering — meaningful behavior beyond the schema.

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?

Two sentences with no filler. Purpose and auth constraint are front-loaded, followed by return fields and ordering. Every element earns its place.

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?

Complete for a simple list tool: output schema covers return values, pagination lives in the documented schema, and auth requirements and return composition are described. Slightly richer tie-in to how ordering interacts with offset could push it higher, but nothing essential is missing.

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 coverage is 100% for both limit and offset, so the schema fully documents the parameters. The description adds nothing substantive about parameters beyond the schema, but it needn't — baseline 3 applies.

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 (list) + resource (drops) + scope (owned by the authenticated account), immediately distinguishing it from get_account and get_limits. The mention of returned fields makes the operation unmistakable.

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?

Gives clear operational context: requires an sp_ API key, anonymous drops are not listable. While it doesn't name a specific sibling alternative, none of the siblings compete for this operation, so the context is sufficient for an agent to know when to call it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_drop_passwordRemove a drop passwordA
Destructive
Inspect

Remove password protection from a drop you own, making it readable by anyone with its URL. Requires an sp_ API key; works even after your paid subscription lapses.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe drop slug (the subdomain part of its URL).

Output Schema

ParametersJSON Schema
NameRequiredDescription
slugYes
password_protectedYes

TDQS

A4.5/5.0
Behavior5/5

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

The description goes beyond the annotations by disclosing the destructive consequence (password removed and drop becomes publicly readable), the authentication requirement, and the surprising behavior of remaining functional after subscription lapse. No contradiction with destructiveHint or readOnlyHint exists.

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?

Two concise sentences with the core action front-loaded and no unnecessary detail. Every clause adds useful decision-making information.

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 one-parameter mutation with an output schema, the description covers prerequisites, side effects, authentication, and an edge-case licensing condition. Nothing essential is missing for an agent to select and invoke this tool correctly.

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?

The single parameter `slug` is already fully described in the input schema as the drop slug subdomain part. The description adds no additional parameter-level detail, so the schema carries the semantic burden.

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 clearly states the action ('Remove password protection'), the resource ('a drop you own'), and the outcome ('making it readable by anyone with its URL'). This unambiguously distinguishes it from sibling tools like set_drop_password.

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?

It specifies key usage context: the drop must be owned, an sp_ API key is required, and the action works even after subscription lapse. It does not explicitly name set_drop_password as the alternative, but the conditions for when to use this tool are clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

restore_dropRestore an expired dropAInspect

Bring back an expired drop owned by the authenticated account while its files are still retained (requires an sp_ API key). Free accounts restore up to 30 days past expiry and the drop comes back at the 90-day lifetime; paid plans restore up to 90 days past expiry and the drop never expires again.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe drop slug (the subdomain part of its ${domain} URL).

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
slugYes
restoredYesFalse when the drop was not expired and nothing changed
expires_atYesISO timestamp after the restore, or null when the drop never expires

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false, and the description adds meaningful behavioral details: the authentication requirement, file retention dependency, restore windows, and resulting lifetime behavior. This goes beyond what annotations alone provide.

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?

Two sentences with no filler: the first states the core action and key prerequisite, the second summarizes plan-specific behavior. Every clause adds necessary information and the most important action is front-loaded.

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 single-parameter tool with an output schema and annotations, the description provides all essential operational context: ownership, authentication, retention condition, time limits, and post-restore lifetime. Nothing critical is missing for an agent to decide whether and how to call it.

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 coverage is 100% with the only parameter, slug, fully described as the subdomain part of the drop URL. The description does not add parameter-level meaning, but the schema already handles it, so the baseline of 3 applies.

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 ('bring back') and resource ('an expired drop owned by the authenticated account'), clearly differentiating it from siblings like delete_drop and list_drops. The scope is precise: restore only expired drops while files are still retained.

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 explicit usage conditions: requires an sp_ API key, only works for expired drops, and applies different restore windows for free vs paid accounts. It does not explicitly name alternative tools, but the conditions make when-to-use clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_drop_passwordSet a drop passwordA
Destructive
Inspect

Set or rotate the shared password on a drop you own. Requires an sp_ API key and active paid Pro/Team; unavailable billing returns an error, not a public drop. Visitors unlock in their browser. Never put the password in a URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe drop slug (the subdomain part of its URL).
passwordYesShared password: 8-128 Unicode characters, at most 512 UTF-8 bytes. Requires active paid Pro/Team. Sent privately, never in the URL or response. Omit on a live named redeploy to preserve protection. Recreating an expired or purged name is a new drop: send the password again.

Output Schema

ParametersJSON Schema
NameRequiredDescription
slugYes
password_protectedYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already indicate a destructive, non-read-only, non-idempotent write operation. The description adds valuable behavioral context beyond that: billing failures error out instead of exposing a public drop, visitors unlock in their browser, and the password must not be placed in a URL. This meaningfully supplements the structured hints without contradicting them.

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 is compact, front-loaded with the core action, and every sentence earns its place: the operation, prerequisites, failure behavior, visitor experience, and a security warning. No redundant phrases or filler are present.

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 write operation with annotations, a fully documented schema, and an output schema, the description covers the essential context: authentication needs, billing prerequisite, failure mode, security constraints, and the end-user effect. Nothing critical for selecting or calling the tool is missing.

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 fully documents both slug and password, including length limits, UTF-8 byte constraints, and redeploy behavior. The description adds minimal parameter-specific semantics beyond reinforcing that the password is shared and should be kept out of URLs, so the baseline score of 3 applies.

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 opens with a specific verb and resource: 'Set or rotate the shared password on a drop you own.' This clearly defines the operation and naturally distinguishes it from the sibling remove_drop_password tool, which removes rather than sets or rotates.

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 the tool is usable: it requires an sp_ API key and active paid Pro/Team, and it warns that unavailable billing returns an error rather than falling back to a public drop. It does not explicitly mention alternatives or when to prefer remove_drop_password, but the usage context is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changeddeploy_files1 field changed
      • addedInput schema / properties / agent
        Added value: +{
        +  "description": "Name of the AI agent or app publishing this drop, e.g. 'chatgpt', 'claude', 'cursor'. AI agents: always set this.",
        +  "maxLength": 64,
        +  "type": "string"
        +}
    • Changeddeploy_html1 field changed
      • addedInput schema / properties / agent
        Added value: +{
        +  "description": "Name of the AI agent or app publishing this drop, e.g. 'chatgpt', 'claude', 'cursor'. AI agents: always set this.",
        +  "maxLength": 64,
        +  "type": "string"
        +}
  2. 2 tool updates
    • Changeddeploy_files1 field changed
      • changedOutput schema / properties / slug / description
        Previous value: -"Drop slug; the site is live at https://<slug>.shipped.cloud/"New value: +"Drop slug; the site is live at https://<slug>.shipped.run/"
    • Changeddeploy_html1 field changed
      • changedOutput schema / properties / slug / description
        Previous value: -"Drop slug; the site is live at https://<slug>.shipped.cloud/"New value: +"Drop slug; the site is live at https://<slug>.shipped.run/"
  3. 2 tool updates
    • Changeddeploy_files1 field changed
      • changedOutput schema / properties / slug / description
        Previous value: -"Drop slug; the site is live at https://<slug>.shipped.run/"New value: +"Drop slug; the site is live at https://<slug>.shipped.cloud/"
    • Changeddeploy_html1 field changed
      • changedOutput schema / properties / slug / description
        Previous value: -"Drop slug; the site is live at https://<slug>.shipped.run/"New value: +"Drop slug; the site is live at https://<slug>.shipped.cloud/"
  4. 2 tool updates
    • Changeddeploy_files1 field changed
      • changedOutput schema / properties / slug / description
        Previous value: -"Drop slug; the site is live at https://<slug>.shipped.page/"New value: +"Drop slug; the site is live at https://<slug>.shipped.run/"
    • Changeddeploy_html1 field changed
      • changedOutput schema / properties / slug / description
        Previous value: -"Drop slug; the site is live at https://<slug>.shipped.page/"New value: +"Drop slug; the site is live at https://<slug>.shipped.run/"
  5. 6 tool updates
    • Changedappend_files1 field changed
      • changedInput schema / properties / slug / description
        Previous value: -"The drop slug (the subdomain part of its shipped.run URL)."New value: +"The drop slug (the subdomain part of its ${domain} URL)."
    • Changedclaim_drop1 field changed
      • changedInput schema / properties / slug / description
        Previous value: -"The drop slug (the subdomain part of its shipped.run URL)."New value: +"The drop slug (the subdomain part of its ${domain} URL)."
    • Changeddelete_drop1 field changed
      • changedInput schema / properties / slug / description
        Previous value: -"The drop slug (the subdomain part of its shipped.run URL)."New value: +"The drop slug (the subdomain part of its ${domain} URL)."
    • Changeddeploy_files1 field changed
      • changedOutput schema / properties / slug / description
        Previous value: -"Drop slug; the site is live at https://<slug>.shipped.run/"New value: +"Drop slug; the site is live at https://<slug>.shipped.page/"
    • Changeddeploy_html1 field changed
      • changedOutput schema / properties / slug / description
        Previous value: -"Drop slug; the site is live at https://<slug>.shipped.run/"New value: +"Drop slug; the site is live at https://<slug>.shipped.page/"
    • Changedrestore_drop1 field changed
      • changedInput schema / properties / slug / description
        Previous value: -"The drop slug (the subdomain part of its shipped.run URL)."New value: +"The drop slug (the subdomain part of its ${domain} URL)."
  6. 5 tool updates
    • Changeddeploy_files3 fields changed
      • addedInput schema / properties / password
        Added value: +{
        +  "description": "Shared password: 8-128 Unicode characters, at most 512 UTF-8 bytes. Requires active paid Pro/Team. Sent privately, never in the URL or response. Omit on a live named redeploy to preserve protection. Recreating an expired or purged name is a new drop: send the password again.",
        +  "maxLength": 128,
        +  "minLength": 8,
        +  "type": "string",
        +  "writeOnly": true
        +}
      • addedOutput schema / properties / password_protected
        Added value: +{
        +  "type": "boolean"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "slug",
        -  "url",
        -  "files",
        -  "plan",
        -  "expires_at"
        -]New value: +[
        +  "slug",
        +  "url",
        +  "files",
        +  "plan",
        +  "expires_at",
        +  "password_protected"
        +]
    • Changeddeploy_html3 fields changed
      • addedInput schema / properties / password
        Added value: +{
        +  "description": "Shared password: 8-128 Unicode characters, at most 512 UTF-8 bytes. Requires active paid Pro/Team. Sent privately, never in the URL or response. Omit on a live named redeploy to preserve protection. Recreating an expired or purged name is a new drop: send the password again.",
        +  "maxLength": 128,
        +  "minLength": 8,
        +  "type": "string",
        +  "writeOnly": true
        +}
      • addedOutput schema / properties / password_protected
        Added value: +{
        +  "type": "boolean"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "slug",
        -  "url",
        -  "files",
        -  "plan",
        -  "expires_at"
        -]New value: +[
        +  "slug",
        +  "url",
        +  "files",
        +  "plan",
        +  "expires_at",
        +  "password_protected"
        +]
    • Changedlist_drops2 fields changed
      • addedOutput schema / properties / drops / items / properties / password_protected
        Added value: +{
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / drops / items / required
        Previous value: -[
        -  "slug",
        -  "url"
        -]New value: +[
        +  "slug",
        +  "url",
        +  "password_protected"
        +]
    • Addedremove_drop_password
    • Addedset_drop_password
  7. 2 tool updates
    • Changeddeploy_files1 field changed
      • changedInput schema / properties / ttl / description
        Previous value: -"Lifetime in seconds (min 60). Anonymous: max 604800 (7 days), default 7 days. Signed-in free: max 2592000 (30 days), default 30 days. Paid: any value, omit for no expiry."New value: +"Lifetime in seconds (min 60). Anonymous: max 2592000 (30 days), default 30 days. Signed-in free: max 7776000 (90 days), default 90 days. Paid: any value, omit for no expiry."
    • Changeddeploy_html1 field changed
      • changedInput schema / properties / ttl / description
        Previous value: -"Lifetime in seconds (min 60). Anonymous: max 604800 (7 days), default 7 days. Signed-in free: max 2592000 (30 days), default 30 days. Paid: any value, omit for no expiry."New value: +"Lifetime in seconds (min 60). Anonymous: max 2592000 (30 days), default 30 days. Signed-in free: max 7776000 (90 days), default 90 days. Paid: any value, omit for no expiry."
  8. 6 tool updates
    • Changedappend_files1 field changed
      • changedInput schema / properties / slug / description
        Previous value: -"The drop slug (the subdomain part of its shipped.page URL)."New value: +"The drop slug (the subdomain part of its shipped.run URL)."
    • Changedclaim_drop1 field changed
      • changedInput schema / properties / slug / description
        Previous value: -"The drop slug (the subdomain part of its shipped.page URL)."New value: +"The drop slug (the subdomain part of its shipped.run URL)."
    • Changeddelete_drop1 field changed
      • changedInput schema / properties / slug / description
        Previous value: -"The drop slug (the subdomain part of its shipped.page URL)."New value: +"The drop slug (the subdomain part of its shipped.run URL)."
    • Changeddeploy_files1 field changed
      • changedOutput schema / properties / slug / description
        Previous value: -"Drop slug; the site is live at https://<slug>.shipped.page/"New value: +"Drop slug; the site is live at https://<slug>.shipped.run/"
    • Changeddeploy_html1 field changed
      • changedOutput schema / properties / slug / description
        Previous value: -"Drop slug; the site is live at https://<slug>.shipped.page/"New value: +"Drop slug; the site is live at https://<slug>.shipped.run/"
    • Changedrestore_drop1 field changed
      • changedInput schema / properties / slug / description
        Previous value: -"The drop slug (the subdomain part of its shipped.page URL)."New value: +"The drop slug (the subdomain part of its shipped.run URL)."
  9. 2 tool updates
    • Changeddeploy_files1 field changed
      • addedInput schema / properties / email
        Added value: +{
        +  "description": "Contact email for an anonymous deploy: the one-time claim link is mailed to it, so the drop stays recoverable even if the claim_token from the response is lost. Pass it whenever the deploy is for a human. Ignored for authenticated deploys (those are owned already).",
        +  "type": "string"
        +}
    • Changeddeploy_html1 field changed
      • addedInput schema / properties / email
        Added value: +{
        +  "description": "Contact email for an anonymous deploy: the one-time claim link is mailed to it, so the drop stays recoverable even if the claim_token from the response is lost. Pass it whenever the deploy is for a human. Ignored for authenticated deploys (those are owned already).",
        +  "type": "string"
        +}
  10. 2 tool updates
    • Addedappend_files
    • Addedrestore_drop
  11. 3 tool updates
    • Changedclaim_drop2 fields changed
      • addedOutput schema / properties / expires_at
        Added value: +{
        +  "description": "ISO timestamp after the claim's lifetime extension, or null",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / restored
        Added value: +{
        +  "description": "True when the drop had already expired and was revived by the claim",
        +  "type": "boolean"
        +}
    • Changeddeploy_files1 field changed
      • changedInput schema / properties / ttl / description
        Previous value: -"Lifetime in seconds (min 60). Free: max 604800 (7 days), default 7 days. Paid: any value, omit for no expiry."New value: +"Lifetime in seconds (min 60). Anonymous: max 604800 (7 days), default 7 days. Signed-in free: max 2592000 (30 days), default 30 days. Paid: any value, omit for no expiry."
    • Changeddeploy_html1 field changed
      • changedInput schema / properties / ttl / description
        Previous value: -"Lifetime in seconds (min 60). Free: max 604800 (7 days), default 7 days. Paid: any value, omit for no expiry."New value: +"Lifetime in seconds (min 60). Anonymous: max 604800 (7 days), default 7 days. Signed-in free: max 2592000 (30 days), default 30 days. Paid: any value, omit for no expiry."
  12. 3 tool updates
    • Addedclaim_drop
    • Changeddeploy_files1 field changed
      • addedOutput schema / properties / claim_token
        Added value: +{
        +  "description": "One-time claim token (spc_...), present only on anonymous deploys and shown once. Anyone holding it can attach the drop to an account via claim_drop.",
        +  "type": "string"
        +}
    • Changeddeploy_html1 field changed
      • addedOutput schema / properties / claim_token
        Added value: +{
        +  "description": "One-time claim token (spc_...), present only on anonymous deploys and shown once. Anyone holding it can attach the drop to an account via claim_drop.",
        +  "type": "string"
        +}
  13. 6 tool updates
    • First observeddelete_drop
    • First observeddeploy_files
    • First observeddeploy_html
    • First observedget_account
    • First observedget_limits
    • First observedlist_drops

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources