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.
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.
Tool Definition Quality
Average 4.4/5 across 6 of 6 tools scored.
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.
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.
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.
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 toolsdelete_dropDelete a dropADestructiveInspect
Permanently delete a drop owned by the authenticated account (requires an sp_ API key). The URL stops serving immediately and cannot be recovered.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The drop slug (the subdomain part of its shipped.page URL). |
Output Schema
| Name | Required | Description |
|---|---|---|
| deleted | Yes | Slug of the deleted drop |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ttl | No | Lifetime in seconds (min 60). Free: max 604800 (7 days), default 7 days. Paid: any value, omit for no expiry. | |
| name | No | Stable name for a redeployable drop (1-41 chars of [a-z0-9-]). Requires an active subscription; Team accounts serve it on their vanity subdomain. | |
| files | Yes | Map of relative paths (e.g. 'index.html', 'css/app.css') to either a string, or { encoding: 'base64', content } for binary files. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| name | No | |
| plan | Yes | |
| slug | Yes | Drop slug; the site is live at https://<slug>.shipped.page/ |
| files | Yes | |
| replaced | No | Present with named deploys; true when an existing drop was replaced |
| expires_at | Yes | ISO timestamp, or null when the drop never expires |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ttl | No | Lifetime in seconds (min 60). Free: max 604800 (7 days), default 7 days. Paid: any value, omit for no expiry. | |
| html | Yes | The full HTML document to publish. | |
| name | No | Stable 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
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| name | No | |
| plan | Yes | |
| slug | Yes | Drop slug; the site is live at https://<slug>.shipped.page/ |
| files | Yes | |
| replaced | No | Present with named deploys; true when an existing drop was replaced |
| expires_at | Yes | ISO timestamp, or null when the drop never expires |
Tool Definition Quality
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.
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.
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.
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.
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.
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 infoARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| plan | Yes | free | pro | team |
| cancelAt | No | |
| accountId | Yes | |
| portalAvailable | No | |
| currentPeriodEnd | No | |
| activeSubscription | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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 limitsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| plans | Yes | Plan matrix: anonymous, pro, team |
| account | No | Present when an sp_ API key was supplied |
Tool Definition Quality
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.
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.
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.
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.
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.
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 dropsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max drops to return (1-500, default 100). | |
| offset | No | Number of drops to skip (default 0). |
Output Schema
| Name | Required | Description |
|---|---|---|
| drops | Yes | |
| total | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Flicense-qualityDmaintenanceDeploys HTML pages to an online preview platform and returns a shareable URL via MCP protocol.
- AlicenseAqualityDmaintenanceAgent-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).13Apache 2.0
- Alicense-qualityBmaintenanceEnables AI agents to deploy HTML pages and manage them (list, archive, move, rename) in a versioned library via MCP tools.55MIT
- Alicense-qualityAmaintenanceMCP 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.2Apache 2.0