ShipCheck
Server Details
Independent preview-URL QA for coding agents. Playwright heuristics, pass/fail pack.
- 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.2/5 across 4 of 4 tools scored.
Each tool has a clearly distinct role in the QA workflow: qa_preview starts a run, qa_status polls it, qa_get_report retrieves results, and qa_note handles the needs_review closure. There is no overlap or ambiguity between them.
All tools follow a consistent 'qa_<verb>' pattern, with verbs that clearly describe their actions (get, note, preview, status). The naming is uniform and predictable throughout the set.
With only 4 tools, the set is tightly scoped to the core QA lifecycle (start, poll, fetch, close). Each tool serves a necessary purpose and none feels redundant or decorative for the server's stated function.
The tool surface covers the main QA workflow end-to-end: initiating a preview, checking status, retrieving evidence, and finalizing with a note. Minor gaps like cancellation or listing historical jobs exist, but they don't break the primary use case.
Available Tools
4 toolsqa_get_reportARead-onlyIdempotentInspect
Evidence pack for a job: heuristics, screenshot paths, optional human_note. Call when qa_status is pass or needs_review.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint: true, idempotentHint: true, and destructiveHint: false, so the safety profile is known. The description adds the term 'Evidence pack' and clarifies it includes 'heuristics, screenshot paths, optional human_note,' which enriches understanding of the data. It doesn't contradict annotations and provides a bit more context than the schema alone.
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 long: 'Evidence pack for a job: heuristics, screenshot paths, optional human_note. Call when qa_status is pass or needs_review.' Every word adds value, front-loading the purpose and including a critical usage condition. 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 tool's simplicity (one parameter, no nested objects, no output schema), the description is complete. It explains what is returned (evidence pack with heuristics, screenshots, human note) and when to call it. Since there's no output schema, the description covers the return value concept. It could mention error conditions, but the tool is simple enough that this isn't necessary.
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 0%, meaning the description must add meaning for the parameters. The description explains what the job represents ('a job') and the content of the return, but it doesn't explicitly elaborate on the job_id parameter beyond what the schema shows (a required string). The context 'job' is helpful, and the overall purpose clarifies what job_id is used for, but it doesn't add syntax or format details not already 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 clearly states 'Evidence pack for a job: heuristics, screenshot paths, optional human_note', which specifies the resource (a job's QA report) and the content. It also includes a usage condition ('Call when qa_status is pass or needs_review') that differentiates it from other QA tools. It doesn't explicitly name a sibling, but the context distinguishes it sufficiently.
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?
Explicit when-to-use guidance is provided: 'Call when qa_status is pass or needs_review.' This gives clear conditions for invoking the tool. While it doesn't list alternative tools, the conditional nature directly implies not to call in other statuses, and the sibling tools list provides context for alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
qa_noteAInspect
Close a needs_review job with a human/agent note. verdict=pass promotes status to pass; verdict=fail keeps needs_review.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| verdict | Yes | ||
| human_note | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the key behavioral difference between verdict outcomes ('verdict=pass promotes status to pass; verdict=fail keeps needs_review'), adding important context beyond the annotations. It does not contradict the read-only=false annotation.
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 that directly state the purpose and the critical verdict logic. No wasted 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?
The description covers the core behavior and verdict semantics for a simple 3-parameter tool. It lacks explicit return/response details, but with no output schema, it still provides enough context for an agent to invoke it correctly.
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 schema coverage at 0%, the description compensates by explaining the verdict parameter's effect. The other parameters (job_id, human_note) are self-explanatory from their names, and the phrase 'human/agent note' adds clarity for human_note.
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 function: 'Close a needs_review job with a human/agent note.' This uses a specific verb and resource, and the verdict semantics further distinguish it from siblings like qa_get_report and qa_status.
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 for when to use the tool: when closing a needs_review job with a note. It does not explicitly exclude alternatives, but the sibling tools are clearly read-only or preview actions, so usage is well implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
qa_previewAInspect
Queue an independent Playwright QA run against a public https preview URL. Returns a job_id. Poll qa_status; fetch qa_get_report when status is pass or needs_review. https only; localhost and private IPs are rejected.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public https preview URL | |
| stories | Yes | ||
| viewport | No | desktop | |
| auth_hint | No | Public demo credentials only; not used to log in in v0 | |
| webhook_url | No | Accepted and SSRF-checked; not fired in v0 |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey readOnly=false, idempotent=false, and destructive=false, so the description builds on that by explaining the asynchronous job model, the job_id return value, the polling pattern, and the SSRF-related URL rejection. It doesn't cover all failure modes or the meaning of statuses beyond pass/needs_review, but it adds useful behavior 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: the first states the core action and resource, the second describes the return value and follow-up workflow, and the third gives a security constraint. Every sentence earns its place with no wasteful repetition.
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 tool's asynchronous nature, five parameters, and no output schema, the description covers the essential invocation and follow-up workflow well: returns job_id, tells the agent to poll qa_status, names the terminal states, and specifies fetch conditions. It could be more complete by mentioning failure statuses or reporting behavior when status is unknown, but it is sufficient for basic correct use.
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 60% and most parameters (url, stories, auth_hint, webhook_url) already have meaningful schema descriptions. The tool description adds the extra constraint that localhost/private IPs are rejected, which is useful for url, but it does not otherwise explain or enrich parameter semantics beyond what the schema provides.
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 ('Queue') and clearly identifies the resource ('an independent Playwright QA run against a public https preview URL') and the expected output ('Returns a job_id'). It also distinguishes itself from siblings by explicitly directing the agent to poll qa_status and fetch qa_get_report.
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 gives a clear operational workflow: queue the run, then poll qa_status, then fetch qa_get_report on pass or needs_review. It also states constraints (https only, localhost/private IPs rejected), but it doesn't explicitly state when not to use this tool versus using qa_status or qa_get_report directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
qa_statusARead-onlyIdempotentInspect
Poll a ShipCheck job: queued / running / pass / needs_review / error.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so safety is covered. The description adds value by listing the possible states, which informs the agent about expected outcomes. It does not contradict annotations and provides additional useful context.
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, efficient sentence that front-loads the action and immediately conveys the tool's purpose. There is no fluff or repetition.
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 status-polling tool with no output schema, the description covers the essential return states and the single parameter. It does not dwell on edge cases (e.g., timeouts), but given the annotations and simplicity, it is sufficiently 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 description coverage is 0%, so the description bears responsibility for explaining parameters. The only parameter, job_id, is not described beyond its name, and the description does not clarify its format or purpose. It relies on the obvious name, but fails to compensate for the lack of schema documentation.
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 'poll' with a clear resource ('a ShipCheck job') and enumerates the possible states, which distinguishes it from sibling tools like qa_get_report or qa_preview. It clearly indicates a status-checking function.
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 implies usage for checking job status, but does not explicitly contrast with sibling tools (e.g., 'use qa_get_report for full report'). It provides clear context for when to poll, but lacks explicit exclusions or alternative suggestions.
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
- AlicenseAqualityDmaintenanceRun real Playwright E2E tests from your AI coding agent.427MIT
- AlicenseAqualityAmaintenancePoint your coding agent at a URL and get a real-browser QA audit: broken signup/login/checkout flows, JS console errors, missing analytics, consent + security headers, mobile tap targets, and accessibility — returned as machine-verified findings graded A-F.442Apache 2.0
- -license-qualityCmaintenanceEnables coding agents to submit a public preview URL and acceptance stories for independent QA, returning pass/fail evidence packs with screenshots and supporting human notes on failures.
- Alicense-qualityDmaintenanceAnalyzes website UIs using Playwright and provides precise CSS/HTML fix instructions for AI coding assistants like GitHub Copilot and Cursor.4MIT