Skip to main content
Glama

SaaSCity

Get submission status

get_submission_status
Read-onlyIdempotent

Where a SaaSCity submission stands: a draft by claim token (unclaimed, claimed and in review, or expired) or a live listing by slug (launch week, badge, link type, points).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugNoSlug of a live listing
claim_tokenNoToken from submit_project (the mcp_... part of the claim URL)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
stateYes
listingNo
expiresAtNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=false, covering the safety and idempotency profile. The description adds meaningful behavioral context beyond the annotations: it specifies that the tool has two mutually exclusive input paths (claim token vs slug) and that the response varies by mode (draft statuses vs live listing fields). This clarifies that the tool is not a simple lookup but a mode-dependent status reporter, which is not evident from the annotations or schema alone. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence that front-loads the core purpose ('where a submission stands') and then efficiently enumerates the two modes and their respective statuses. Every clause adds value: the mode distinction, the specific statuses, and the parameter-to-mode mapping. There is zero waste, and the structure makes the dual nature of the tool immediately apparent.

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 tool has an output schema (indicated by the 'has output schema: true' signal) and the description already covers the modes and returned fields, the description is largely sufficient for an agent to call it correctly. It lacks a few niceties: it doesn't explicitly say the parameters are optional and mutually exclusive (though it's implied by the description and schema), and it doesn't mention what happens if neither is provided (e.g., an error). However, for a status-check tool with a lightweight schema and clear annotations, these are minor gaps. The description is complete for the primary use cases.

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

Parameters4/5

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

The schema already provides 100% coverage of both parameters with descriptions (slug for live listing, claim_token for draft token). However, the description adds crucial semantic value: it explains the relationship between the parameters and the tool's modes, and clarifies that they are mutually exclusive (implicitly, since only one is used per call). It also connects claim_token to the submit_project tool, which is not in the schema. This goes beyond the schema's simple field descriptions, but it doesn't detail parameter formats (e.g., exact regex for slug or token), so it's not a perfect 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear subject ('Where a SaaSCity submission stands') and divides the tool's scope into two distinct modes: drafts by claim token and live listings by slug. It names the specific statuses returned for each mode (unclaimed, claimed and in review, or expired for drafts; launch week, badge, link type, points for live listings), which goes beyond a generic phrase like 'get status'. It does not explicitly differentiate from siblings such as get_listing or check_badge, but the focus on 'where a submission stands' (a status lifecycle) distinguishes it from a generic listing fetch.

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 clearly states when to use the tool: to check the status of a submission, either for a draft (using claim token) or a live listing (using slug). It implies the alternative: if you need details of a listing beyond status (e.g., content, media), you might use get_listing; if you need to check badge eligibility, use check_badge. However, it does not explicitly list exclusions or say 'do not use this for X'. The context is clear enough for an agent to route correctly, but it lacks explicit 'when not to use' warnings.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.