Skip to main content
Glama

ship.page

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 6 of 6 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct operation: deploy_html vs deploy_files create different deployment types, get_account vs get_limits serve different information needs (account-specific vs plan matrix), and delete_drop/list_drops manage drops. There is no overlapping functionality between any pair of tools.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern: deploy_html, deploy_files, get_account, get_limits, list_drops, delete_drop. Verbs (deploy, get, list, delete) are clear and uniform, and nouns (html, files, account, limits, drops, drop) precisely identify the resource.

Tool Count4/5

With 6 tools covering deployment, account management, and drop lifecycle, the count feels well-scoped for a hosting server. It is slightly lean (e.g., no update or rename tool for drops), but the core create-read-delete operations are present, making the count appropriate without bloat.

Completeness3/5

The tool set covers basic deployment (HTML and multi-file), account info, and drop listing/deletion, but lacks several expected operations: there is no way to update an existing drop (e.g., re-deploy to a slug), no tool to get details of a single drop, and no anonymous drop management (since anonymous drops aren't listable). These are notable gaps that could cause agent failures in some workflows.

Available Tools

6 tools
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 shipped.page URL).

Output Schema

ParametersJSON Schema
NameRequiredDescription
deletedYesSlug of the deleted drop
Behavior4/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the bar is lower. The description adds value by specifying permanence ('cannot be recovered'), immediate effect ('stops serving immediately'), and auth requirement ('sp_ API key'), which are beyond annotation scope. 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 two sentences, front-loading the purpose and then providing essential behavioral and auth context. Every part adds value with no redundancy.

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?

Given the low complexity (one param, no enums, no nested objects), and that annotations and schema cover destructive nature and param details, the description is complete enough. It could add what the output looks like (though output schema exists), but it still feels sufficient.

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 description coverage is 100%, so baseline is 3. The description adds no parameter-specific details beyond the schema, but the schema itself clearly documents slug as the subdomain part of the URL. The tool has only one simple parameter, so the description's lack of extra parameter context is acceptable.

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 tool's action ('Permanently delete a drop'), specifies the resource ('a drop owned by the authenticated account'), and differentiates it from siblings like deploy_files or list_drops by emphasizing destruction.

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 explicitly states the requirement for an 'sp_ API key' and provides consequences of use ('URL stops serving immediately and cannot be recovered'). It implies when to use (when permanent deletion is needed) but lacks explicit alternatives or when-not-to-use guidance.

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 siteAInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlNoLifetime in seconds (min 60). Free: max 604800 (7 days), default 7 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.
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
nameNo
planYes
slugYesDrop slug; the site is live at https://<slug>.shipped.page/
filesYes
replacedNoPresent with named deploys; true when an existing drop was replaced
expires_atYesISO timestamp, or null when the drop never expires
Behavior4/5

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

Annotations indicate it is not read-only, idempotent, or destructive. The description adds behavioral context about file limits (100 free, 900 pro), a 7-day expiry for free, and named drops for paid users. This goes beyond the annotations by explaining practical usage limits and restrictions.

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 very concise, front-loading the core function in the first sentence, then clearly listing constraints in a bullet-like style. Every sentence earns its place without redundancy.

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?

Given the complexity of the tool (3 params, nested files object, output schema present), the description is complete. It covers the core action, file limits, TTL behavior, and naming details. The output schema exists, so explaining return values is not needed.

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 description coverage is 100%, so parameters are well-documented in the schema. The description adds value by explaining the free vs pro implications for ttl and name, such as 'Free: max 604800' and 'Paid: any value'. It also clarifies the required presence of index.html, which is not in the schema.

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 uses a specific verb 'Deploy' and clearly identifies the resource as a 'map of path -> content as a multi-file site'. It distinguishes this tool from siblings like 'deploy_html' (which likely handles a single HTML file) and 'list_drops' or 'delete_drop' by focusing on the multi-file deployment action.

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 provides clear context on when to use this tool (to deploy multiple files as a site) and includes important constraints like requiring index.html and limits based on subscription (free vs pro). However, it does not explicitly state when not to use it or how it compares to alternatives like deploy_html for single-file cases.

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 pageAInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlNoLifetime in seconds (min 60). Free: max 604800 (7 days), default 7 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
nameNo
planYes
slugYesDrop slug; the site is live at https://<slug>.shipped.page/
filesYes
replacedNoPresent with named deploys; true when an existing drop was replaced
expires_atYesISO timestamp, or null when the drop never expires
Behavior5/5

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

Annotations already indicate not read-only, not idempotent, not destructive. Description adds critical behavioral context beyond annotations: rate limits (10 deploys/min per IP), size limits (10MB), and 7-day expiry for free tier. No contradictions 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 sentences, front-loaded with the primary outcome (returns live URL), then compactly covers rate limits, size cap, expiry, and paid features. Every sentence adds distinct value with no redundancy.

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 output schema present, return values are handled externally. Description fully covers the tool's purpose, constraints (rate, size, expiry), tier differentiation, and naming behavior. No gaps given the tool's complexity and supporting structures.

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%, so each parameter is described in the schema itself. Description adds no new parameter details beyond what the schema provides. Baseline 3 is appropriate since schema fully documents parameters.

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?

Description clearly states the tool deploys an HTML document and returns a live URL with specific format. It distinguishes from sibling tools like deploy_files (multiple files) and delete_drop (deletion). The verb 'deploy' and resource 'HTML document' are specific.

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?

Explicitly details usage context: anonymous vs. paid tier restrictions (rate limit, size cap, expiry), plus naming for paid users with vanity subdomain. This helps the agent choose between anonymous deployment (using defaults) or paid features, and distinguishes from deploy_files.

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

get_accountGet account infoA
Read-onlyIdempotent
Inspect

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
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the important behavioral trait that an sp_ API key is required, which is extra context beyond the annotations. No contradictions.

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, each earning its place. The first covers purpose and authentication requirement; the second provides an alternative for anonymous users. Front-loaded and concise with no fluff.

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?

Given the output schema exists, the description is complete for a zero-parameter tool. It addresses the key scenario (authenticated vs anonymous) and specifies the returned data fields.

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

Parameters5/5

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

With zero parameters and 100% schema coverage, the description has no burden to explain parameters. It adds meaning by specifying what the tool returns (plan, subscription status, usage), which is useful beyond the schema.

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 tool shows the authenticated account's plan, subscription status, and usage. It distinguishes itself from the sibling get_limits by specifying that anonymous callers should use that tool instead, providing a clear differentiation.

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?

Explicitly states when to use the tool (authenticated users with an sp_ API key) and when not to (anonymous callers should use get_limits). This provides clear guidance on alternatives and context.

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

get_limitsGet plan limitsA
Read-onlyIdempotent
Inspect

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
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description's main behavioral addition is the conditional API key requirement and the fact that it returns the plan matrix regardless. This adds useful but limited context beyond what annotations 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?

One well-crafted sentence front-loads the plan matrix details and adds the important conditional logic about API keys. Every part is essential and there is no wasted text.

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?

Given the existence of an output schema and the tool's simple nature (0 params, clear conditional behavior), the description is nearly complete. It could be slightly improved by hinting at what the output structure covers, but the output schema fills that gap.

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 there are 0 parameters, so no parameter documentation is needed. Baseline of 3 is appropriate—the description adds no parameter information but nothing is missing either.

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 tool shows the ship.page plan matrix and, conditionally, the caller's account/plan status. The verb 'show' and specific resources (plan matrix, account status) are precise, and the tool is easily distinguishable from sibling tools like get_account.

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 clarifies that account/plan status is only shown 'when an sp_ API key is present', providing clear context for when the tool provides full vs. partial output. However, it does not explicitly state when to use this tool versus siblings like get_account, which might also reveal plan info.

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

list_dropsList your dropsA
Read-onlyIdempotent
Inspect

List drops owned by the authenticated account (requires an sp_ API key; anonymous drops are not listable). Returns slug, url, name, file counts, and expiry, 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
Behavior4/5

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

Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description adds meaningful behavioral context: authentication requirements, what fields are returned (slug, url, name, file counts, expiry), and the ordering (newest first). This helps the agent understand the tool's behavior without relying solely on the schema or 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, well-structured sentence that front-loads the purpose, then adds constraints and return details. Every element earns its place with no redundancy or unnecessary words.

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 read-only list tool with an output schema and well-documented parameters, the description covers authentication, returned fields, and sorting order. It lacks mention of error conditions (e.g., invalid API key) or rate limits, but these are secondary for a simple listing operation.

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 detailed descriptions for both limit and offset. The description does not provide additional parameter-level information beyond what the schema already offers. Baseline 3 is appropriate as the schema itself is sufficient.

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 verb 'List' and the resource 'drops owned by the authenticated account,' which distinguishes it from siblings like delete_drop and deploy_files. It also specifies the required API key and what fields are returned, making the tool's purpose unambiguous.

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 explicitly requires an sp_ API key and notes that anonymous drops are not listable, providing clear context for when this tool can be used. No explicit comparison with other tools is needed since list_drops is the only listing tool among the siblings.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Agent-native hosting: your agent deploys any folder to a live URL in one command — no account, no dashboard, no CAPTCHA — and hands the human a link plus a plain-language summary. Full deploy lifecycle as MCP tools (deploy, verify, logs, inspect, rollback), production approval human-only; static sites and full Node.js apps, open source (Apache-2.0).
    13
    Apache 2.0
  • A
    license
    -
    quality
    A
    maintenance
    MCP server for BrewPage, a free no-signup hosting service. Lets AI agents publish HTML, Markdown, JSON, files, or a full multi-file static site and get a public URL instantly via a REST API.
    2
    Apache 2.0

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources