ShipDesk
Server Details
Launch your product on ShipDesk.dev from Claude Code, Cursor or any MCP client. Create launch drafts from a website, App Store or Google Play link (name, tagline, description and tags are read from your site), add screenshots, and see what each draft still needs before launch day. Free API key at shipdesk.dev/dashboard/settings, sent as x-api-key or Authorization: Bearer.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 6 tools
Each tool targets a distinct action or resource: add_screenshot (image upload), create_launch_draft (new draft), update_launch_draft (edit draft), list_tags (categories), my_launches (own launches), and search_launches (public search). The boundaries between create/update/add_screenshot are clear, and the two list/search tools are separated by scope (own vs public).
Five of six tools follow a consistent verb_noun pattern (add_screenshot, create_launch_draft, list_tags, search_launches, update_launch_draft). The outlier is my_launches, which is possessive and lacks a verb, but the overall convention remains predictable.
Six tools is well-scoped for a launch-platform maker surface. Every tool earns its place without redundancy, and the set avoids both thinness and bloat.
Core maker workflows are covered: create, update, add screenshots, list tags, list own launches, and search public launches. Minor gaps exist (no delete_launch or get_launch by ID), but submission happens via an external edit_link, so the missing operations are not critical.
Available Tools
6 toolsadd_screenshotAdd a screenshotAInspect
Add a screenshot to a launch: a png, jpg or webp up to 2 MB, either as a public https image_url or as image_base64. The first screenshot is the cover. Use real screenshots of the product, never made-up ones.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the launch id | |
| image_url | No | a public https address of the image | |
| image_base64 | No | the image file, base64 encoded |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose real behavioral constraints: accepted formats (png/jpg/webp), a 2 MB size cap, the two mutually exclusive input modes (public https URL vs. base64), and that the first screenshot becomes the cover. It stops short of stating permission requirements, what happens to existing screenshots, or failure behavior, which keeps it below a 5.
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 tightly packed sentences with zero filler. The core action and format constraints are front-loaded, and the cover-image behavior plus the content guideline follow in the second sentence.
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 simple add-operation with no output schema and no annotations, the description covers what the agent needs to construct a valid call: input modes, formats, size limit, and cover semantics. It omits return/error behavior and whether the launch must be in a particular state, but those gaps are minor at this complexity level.
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 all three parameters are already documented in the schema. The description largely restates those constraints ('public https image_url', 'image_base64') and only adds the 2 MB cap, which is marginal value over the structured fields — baseline 3 applies.
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 names a specific verb and resource ('Add a screenshot to a launch') and immediately qualifies the accepted formats and size, so the agent knows exactly what operation this is. Sibling tools are all launch/tag CRUD operations, so there is little risk of confusion, but the description never explicitly contrasts itself with them.
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?
Usage is implied by 'Add a screenshot to a launch', and the 'Use real screenshots of the product, never made-up ones' line is a genuine content guideline that steers the agent away from generated placeholders. However, there is no when-to-use vs. when-not-to-use guidance, no mention of prerequisites (e.g., must the launch be a draft?), and no named alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_launch_draftCreate a launch draftAInspect
Start a new launch on ShipDesk.dev as a private draft. Give at least one link: website, app_store or google_play. Name, one line, description and tags are read from the website when left out. Returns the draft with an edit_link where the maker picks a launch day and sends it in.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | the product's name | |
| tags | No | up to 3 categories | |
| website | No | the product's website, like example.com | |
| one_line | No | one line about what it does, shown under the name on the board | |
| app_store | No | the App Store link, like apps.apple.com/app/name/id123456789 | |
| description | No | what it does, who it is for and why it was built | |
| google_play | No | the Google Play link, like play.google.com/store/apps/details?id=com.example |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the created object is a private draft (not a published launch), that omitted fields are auto-read from the website, and that the maker must later pick a launch day and submit via the returned edit_link. It omits auth requirements, rate limits, and error behavior.
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?
Three sentences, purpose front-loaded, zero filler. Every clause (the link requirement, the auto-fill fallback, the edit_link workflow) carries information an agent needs.
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?
No output schema exists, so the description rightly explains the return (draft plus edit_link) and the follow-up workflow, which is the key missing piece for a create tool. It stops short of visibility semantics for 'private', auth, or failure modes, but is otherwise complete for a 7-param creation call.
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 the baseline is 3, but the description adds real meaning the schema lacks: the fallback that name, one_line, description and tags are pulled from the website when omitted, plus the 'at least one link' constraint on website/app_store/google_play.
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?
States a specific verb ('Start a new launch'), resource (launch draft) and scope ('private draft') on a named platform. The word 'new' and 'draft' implicitly separate it from the update_launch_draft sibling, though no sibling is named explicitly.
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?
Provides a concrete usage rule that the schema does not encode: 'Give at least one link: website, app_store or google_play' — essential since the schema declares zero required params. It does not, however, state when to prefer this tool over siblings or name any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tagsList tagsCInspect
The categories a launch can be filed under.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a read-only enumeration of a fixed vocabulary, which is inherently low-risk, but it never states that it is a non-mutating call, whether the list is complete/static, or whether an empty result is possible.
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?
A single short sentence with no filler, appropriately sized for a zero-parameter lookup. It is not front-loaded with a verb, which slightly weakens scannability.
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 no output schema and no annotations, the description should convey what a caller actually receives — the shape of the returned tags (id, name, label) and whether ordering is guaranteed. It conveys only the concept, leaving the agent unable to anticipate the response.
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?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. The description correctly implies no filtering arguments are accepted.
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 defines the resource ('the categories a launch can be filed under') but never states the operation — it reads as a gloss on what a tag is rather than what the tool does. The name and title ('List tags') carry the verb, so an agent can infer listing, but the description itself adds only domain vocabulary, not 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?
There is no when-to-use guidance, no mention of prerequisites, and no reference to any sibling tool (e.g. how it relates to create_launch_draft or search_launches). The agent must guess that this is a reference-data lookup needed before filing a launch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_launchesMy launchesAInspect
List the maker's launches with their status (draft, pending, scheduled, approved, denied), links and what each draft still needs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the return payload (status, links, per-draft outstanding requirements). However it says nothing about authorization requirements, pagination, or result size limits for a listing tool.
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?
A single front-loaded sentence with no filler; the scope comes first and the returned content follows immediately.
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?
No output schema exists, so the description must describe the return value, and it does (status enum, links, draft gaps). Nothing about parameters needs coverage, though it could say more about the volume or ordering of results.
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?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies.
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?
States a specific verb ('List') and a precisely scoped resource ('the maker's launches'), and even enumerates the status values returned (draft, pending, scheduled, approved, denied). It does not name or differentiate itself from the sibling search_launches, so it stops short of a 5.
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 phrase 'the maker's launches' implicitly scopes this to the caller's own items versus a general search, which hints at when to prefer it over search_launches, but there is no explicit when-to-use, when-not-to-use, or alternative naming.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_launchesSearch launchesBInspect
Search the products live on ShipDesk.dev by name, line or category.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | words to look for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not state that this is a read-only operation, whether results are paginated or limited, how matching is performed (substring vs fuzzy), or what authentication/scope is required, leaving the agent with only the surface intent.
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 front-loaded sentence that names the action, target, and match dimensions. No filler or 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?
For a one-parameter search with no output schema, the description covers the query side but says nothing about result shape, ordering, or limits. A single clause on what comes back would make it complete.
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% and the single parameter is already documented as 'words to look for'. The description adds genuine value by clarifying which fields the query can match against (name, line, category), which the schema does not say.
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?
States a specific verb (search) and resource (products live on ShipDesk.dev) plus the match dimensions (name, line, category). Sibling tools are all clearly distinct operations, but the description never names or contrasts them, so it stops short of a 5.
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 search intent is obvious from the verb, and the mention of matching by name, line or category implies when it applies. However, there is no explicit when-to-use guidance, no statement of when it is not appropriate, and no pointer to alternatives such as my_launches for your own drafts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_launch_draftUpdate a launch draftAInspect
Change a draft's links, name, one line, description or tags. Only the fields you give change. A launch already in review or live can only change its one line, description and tags.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the launch id from create_launch_draft or my_launches | |
| name | No | the product's name | |
| tags | No | up to 3 categories | |
| website | No | the product's website, like example.com | |
| one_line | No | one line about what it does, shown under the name on the board | |
| app_store | No | the App Store link, like apps.apple.com/app/name/id123456789 | |
| description | No | what it does, who it is for and why it was built | |
| google_play | No | the Google Play link, like play.google.com/store/apps/details?id=com.example |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose genuinely useful behavior: PATCH-style partial updates and a per-state mutability restriction for in-review/live launches. However, it says nothing about permission/auth requirements, what happens when an invalid or non-existent id is supplied, or whether edits are recoverable, leaving material gaps for a mutation tool.
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, zero filler, and the core capability is front-loaded ahead of the state restriction. Every clause carries distinct information.
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 an 8-parameter mutation tool with no annotations and no output schema, the description covers the essential semantics: what can change, that changes are partial, and the lifecycle-state restriction. Remaining gaps are error/permission behavior and any indication of what a successful update returns.
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 the baseline is 3. The description still adds value: it groups website/app_store/google_play under the single concept 'links' and states the partial-update contract ('Only the fields you give change'), which the schema itself does not express. It does not, however, restate per-field constraints such as the 60-char name or 3-tag limits, which the schema already covers.
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?
States a specific verb (Change) and resource (a draft), and enumerates the mutable field groups: links, name, one line, description, tags. An agent immediately knows this is a partial-edit tool for launch drafts. It does not name or contrast against siblings like create_launch_draft, so it stops short of a 5.
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?
Gives an explicit state-dependent rule: a launch already in review or live can only change its one line, description and tags. Combined with 'Only the fields you give change,' this tells the agent both when the tool applies and what is off-limits in later lifecycle states. No explicit alternative tool is named for the restricted cases.
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.
6 tool updates
- First observed
add_screenshot - First observed
create_launch_draft - First observed
list_tags - First observed
my_launches - First observed
search_launches - First observed
update_launch_draft
Related MCP Servers
- AlicenseNot gradedqualityBmaintenancePerplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.2Apache 2.0
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm54 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.164 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.