Skip to main content
Glama

SaaSCity

Submit a project to SaaSCity

submit_project

List a product on the SaaSCity launch directory. Creates an inert draft and returns a claim URL; the human opens it to sign in, gets the submit form prefilled with the draft, picks a launch Monday and submits the form. Nothing is submitted, published or charged until they submit that form, and every listing is reviewed by a person. Free to submit. Free subdomain hosts (github.io, netlify.app...) and domains that already have a listing are refused.

Input Schema

NameRequiredDescriptionDefault
tagsNoUp to 10 short keywords (optional)
titleYesProduct name
taglineYesOne line on what it does and for whom
categoryYesListing category id
github_urlNoPublic repo URL (optional)
descriptionYesPlain text: the problem, who it is for, what makes it different
twitter_urlNoX/Twitter profile URL (optional)
website_urlYesProduct homepage, https, on its own domain

Output Schema

NameRequiredDescriptionDefault
claimUrlYesThe human must open this to publish the listing
expiresAtYesISO date after which the draft is discarded
claimTokenYesPass to get_submission_status
badgeSnippetYesHTML that earns a dofollow link once verified with check_badge

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing that nothing is submitted, published, or charged until the human submits the form, that every listing gets human review, that submission is free, and which domains are refused. These are exactly the side-effect and eligibility facts an agent needs before invoking a mutating tool, and they do not contradict the non-destructive, non-idempotent annotation set.

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 core behavior and the claim-URL handoff are front-loaded in the first two sentences, and the following sentences each add a distinct, decision-relevant fact (no side effects until form submit, human review, free, domain exclusions). No filler or restatement of the name.

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?

For an 8-parameter mutation tool with an output schema and full annotation coverage, the description supplies the remaining critical context: the asynchronous human handoff, the fact that the call itself is a no-op, review latency implications, cost, and eligibility refusals. Return values are covered by the output schema, so nothing essential is missing.

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 every property has a description with lengths and the category enum, so the schema already does the heavy lifting. The description adds no parameter-level detail — the mention of picking a launch Monday is a human step, not an input field — so the baseline 3 applies.

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?

States a specific verb and resource (list a product on the SaaSCity launch directory) and immediately clarifies the mechanism: it creates an inert draft and returns a claim URL rather than publishing anything. This cleanly separates it from siblings like get_submission_status, get_listing, and check_launch_readiness, which read rather than initiate a submission.

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?

Describes the usage flow in detail — the agent creates the draft, then a human opens the claim URL, fills the prefilled form, picks a launch Monday, and submits — which makes the human-in-the-loop boundary unmistakable. It also states preconditions (no free subdomain hosts, no domains with an existing listing) but never names an alternative sibling tool or says explicitly when not to call this one.

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.