com.submitmap/directory
REMOTE · SUBMITMAP.COM · SCANNED AUG 20
A directory of product launch platforms: where your product qualifies and how each form is filled.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 11 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability62
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2563 tokens (~233/item across 11 items; 11 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage83
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 49% of tool parameters carry a description.Partial
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · submitmap.com
claude mcp add --transport http com-submitmap-directory https://submitmap.com/api/mcp
[mcp_servers.com-submitmap-directory] url = "https://submitmap.com/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-submitmap-directory": {
"type": "remote",
"url": "https://submitmap.com/api/mcp",
"enabled": true
}
}
} openclaw mcp add com-submitmap-directory --url https://submitmap.com/api/mcp --transport streamable-http
mcp_servers:
com-submitmap-directory:
url: "https://submitmap.com/api/mcp" {
"mcpServers": {
"com-submitmap-directory": {
"type": "http",
"url": "https://submitmap.com/api/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Aug 26 0
- Tool “create_project” rewrote its description, which is the text the model reads security
- Tool “whoami” rewrote its description, which is the text the model reads security
- “search_platforms” reworded the description of “maxApprovalDays” cosmetic
- “search_platforms” reworded the description of “sort” cosmetic
- 19 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Aug 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Schema quality: good → excellent functional
- 16 Aug 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “plan_submissions” rewrote its description, which is the text the model reads security
- Tool “qualify_project” rewrote its description, which is the text the model reads security
- Tool “record_submission” rewrote its description, which is the text the model reads security
- Tool “search_platforms” rewrote its description, which is the text the model reads security
- Schema quality: 176 → 217 ▼ functional
- Tool coverage: 41% → 49% ▲ functional
- “search_platforms” added an optional parameter “excludeTracked” cosmetic
- “search_platforms” added an optional parameter “limit” cosmetic
- “search_platforms” added an optional parameter “maxDomainRating” cosmetic
- “search_platforms” added an optional parameter “minDomainRating” cosmetic
- “search_platforms” added an optional parameter “projectId” cosmetic
- “search_platforms” added an optional parameter “sort” cosmetic
- “record_submission” reworded the description of “status” cosmetic
- 15 Aug 26 +10
- Tool “list_projects” rewrote its description, which is the text the model reads security
- Tool “list_submissions” rewrote its description, which is the text the model reads security
- Schema quality: unverified → good ▲ functional
- 14 Aug 26 −9
- Tool “get_platform” rewrote its description, which is the text the model reads security
- Tool “submission_playbook” rewrote its description, which is the text the model reads security
- Schema quality: 150 → 167 ▼ functional
- Schema quality: good → unverified ▼ functional
- Stability: unverified → 0.03 ▲ functional
- “submission_playbook” added an optional parameter “signInAs” cosmetic
- “qualify_project” reworded the description of “categories” cosmetic
- 13 Aug 26 57
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Aug 2026 · Probed https://submitmap.com/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=submitmap.com | CN=WE1,O=Google Trust Services,C=US | 9 Aug 2026 | 7 Nov 2026 | ECDSA 256 | ECDSA-SHA256 | 2295af140368eec90e5f9bd4330ab02a |
| SANs: submitmap.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
DNSSEC insecure
Validation of submitmap.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| submitmap.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://submitmap.com/api/mcp | Verified | 200 | |
| http (plaintext) | http://submitmap.com/api/mcp | HTTPS enforced | 301 | https://submitmap.com/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
create_project ~247
Store a product on the account. Before asking the maker anything, use what you can already see: a README, package metadata, the site's own copy and title, an assets or public folder. A maker working in their product's repository should be able to say 'add my product to SubmitMap' and get a filled-in project back, with questions only about what is genuinely not there. Fill in as much as you can, leave the rest, and come back with update_project. Facts drive what it qualifies for; the pack is what you will paste into forms later. Ask about images early: most platforms want a square logo and many want a cover, and every asset in the pack is two fields, the public address (logoUrl) and the file on the maker's machine (logoFile), because a form uploads the file and only the address can be shown back to them.
| Name | Type | Req | Description |
|---|---|---|---|
| facts | object | – | Same shape qualify_project takes: stage, pricingModel, categories, and the booleans. |
| name | string | yes | – |
| pack | object | – | – |
| pitch | string | – | One paragraph in the maker's own words. |
| url | string | – | – |
No output schema declared.
No examples provided.
get_platform ~130
Full record for one platform: eligibility, disqualifiers, step-by-step submission instructions, requirements, gotchas and expected outcome. With a token it also carries agentPrompt, the brief for that platform's form, and agentGotchas, the traps that only bite something filling it (a placeholder that contradicts its label, a second email input belonging to a newsletter, a honeypot); without a token both are null. For a stored project, submission_playbook returns the same brief with the values already filled in.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | Platform slug, e.g. "product-hunt". |
No output schema declared.
No examples provided.
list_projects ~84
The projects on this account, each with its facts (eligibility answers) and its pack (what a submission form asks for), plus what is still missing from the pack. Call it whenever the maker says "my product" or "my project" without naming one: it is how you find out which project they mean, and every other account tool takes the id it returns.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_submissions ~114
Where every submission for a project stands: what went out, when, what came back, and what is still waiting. This is the tool behind "check my submissions", "what did I submit", "did I ever submit to that one" and "how is my launch going", so answer those from here instead of asking the maker to remember. Start with list_projects if they have not named a project.
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | – | Omit it when the account has one project, which is the free tier. |
No output schema declared.
No examples provided.
plan_submissions ~292
Write the run order for a project: which platforms, in what sequence, and why each one is where it is. Pass the platforms in the order they should be worked, with a short reason on each, plus a summary of the strategy. The plan appears on the maker's dashboard as a checklist that ticks itself off as submissions land. Anything already tracked is reordered rather than reset. Call it after qualify_project, using the `recommended` list it hands back. A plan costs nothing on any plan: what the free tier meters is tracked submissions, spent when an outcome is recorded, so the order you write here is the decision about where a limited budget goes.
| Name | Type | Req | Description |
|---|---|---|---|
| checklist | array | – | What the maker has to prepare before any of this can be submitted: the gallery, the demo video, a privacy policy page, a launch date. Write it from what the platforms in this plan actually demand and… |
| items | array | yes | In the order they should be submitted. First is next. |
| projectId | string | – | Omit it when the account has one project, which is the free tier. |
| summary | string | – | Why this order, in a sentence or two. The maker reads this. |
No output schema declared.
No examples provided.
qualify_project ~432
Given a product, work out which platforms it qualifies for right now, which it could qualify for after supplying something (with the exact list of what is missing), and which are structurally out of reach. It also hands back `recommended`: a run in the order it should be worked, already cut to what a connected account can still track, so the plan comes out of the directory rather than out of what you remember of the web. Needs no account: describe the product inline. Every field is optional and an unanswered field becomes a gap to fill rather than a rejection.
| Name | Type | Req | Description |
|---|---|---|---|
| acceptsBacklink | boolean | – | – |
| categories | array | – | Every audience and form factor this product belongs to, not just the main one. A product is often several at once, and one missing tag is one directory it never hears about: a repository holding a br… |
| coverImage | boolean | – | – |
| demoVideo | boolean | – | – |
| docs | boolean | – | – |
| domainRating | number | – | – |
| livePublicUrl | boolean | – | – |
| logoSquare | boolean | – | – |
| monthlyTraffic | number | – | – |
| name | string | – | – |
| openSignup | boolean | – | – |
| payingCustomers | boolean | – | – |
| pricingModel | string | – | – |
| pricingPage | boolean | – | – |
| privacyPolicy | boolean | – | – |
| publicRepo | boolean | – | – |
| stage | string | – | – |
| url | string | – | – |
No output schema declared.
No examples provided.
record_submission ~280
Log what happened to the dashboard: the listing URL, when it was sent, when it goes live. Call it as soon as a submission lands, including when it is only queued for review, and including when you are not sure it landed: that is what `attempted` is for. Planning costs nothing; this is the call that spends a tracked platform on the free plan, and it spends it once, for good, so an unrecorded submission is the expensive mistake here, not a recorded uncertainty.
| Name | Type | Req | Description |
|---|---|---|---|
| launchAt | string | – | ISO 8601, if it is scheduled. |
| listingUrl | string | – | The product's URL on that platform. |
| note | string | – | – |
| platformSlug | string | yes | – |
| projectId | string | – | Omit it when the account has one project, which is the free tier. |
| status | string | yes | Use `attempted` when the form was sent and you cannot prove it arrived: the tab died, the connection dropped, the page never came back. It is not a lesser `submitted`, it is the honest one, and it ca… |
| submittedAt | string | – | ISO 8601. |
No output schema declared.
No examples provided.
search_platforms ~401
Search the SubmitMap directory of startup launch platforms and directories. Filter by free-text query, category, pricing, link type, backlink requirement, approval speed or domain rating, and with a token leave out the ones this project has already been sent to. This is the tool behind "find me a small directory I can submit to right now": it is the whole directory, so answer from it rather than from what you remember of the web. Returns summaries; call get_platform for the full record including the submission steps.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | e.g. "AI tools", "Dev tools", "Web apps". |
| dofollow | boolean | – | Only platforms giving a dofollow backlink. |
| excludeTracked | boolean | – | Leave out every platform this project has already been submitted to or planned for. Needs a token, and is what makes "one I have not done yet" answerable. |
| limit | number | – | Return at most this many. The count is unaffected. |
| maxApprovalDays | number | – | Only platforms approving within this many days. Leaves out every platform that publishes no approval time, the same way a rating bound leaves out the unrated. |
| maxDomainRating | number | – | Only platforms up to this domain rating. The small, quick, unglamorous end of the directory, which is where a first submission usually belongs. |
| minDomainRating | number | – | Only platforms with at least this domain rating. |
| pricing | string | – | – |
| projectId | string | – | Omit it when the account has one project, which is the free tier. |
| query | string | – | Free text matched against name, tagline and categories. |
| requiresBacklink | boolean | – | Filter on whether they demand a badge/link back. |
| sort | string | – | Fastest approval first (the default), or strongest domain first. Either way, a platform that publishes no approval time comes last rather than reading as instant. |
No output schema declared.
No examples provided.
submission_playbook ~259
Everything needed to submit a stored project to one platform, yourself, in the maker's browser: a preflight of what is still missing, the sign-in plan (on the first submission it carries a question for the maker: hand every login back to them, or use the Google address they write out, which you then pass back as signInAs), the pack values mapped onto the fields the form asks for, the steps, the gotchas, the agentGotchas (traps in the form itself), and the call to make afterwards. Read the preflight before opening a tab.
| Name | Type | Req | Description |
|---|---|---|---|
| platformSlug | string | yes | – |
| projectId | string | – | Omit it when the account has one project, which is the free tier. |
| signInAs | string | – | The Google address the maker wrote out when they agreed you could sign in for them on this project. Pass it on every call after they say it, so the answer travels with the work instead of living in y… |
No output schema declared.
No examples provided.
update_project ~98
Fill in or correct a stored project. Facts and pack are merged into what is there, so you can add one field at a time as the maker answers.
| Name | Type | Req | Description |
|---|---|---|---|
| facts | object | – | – |
| name | string | – | – |
| pack | object | – | – |
| pitch | string | – | – |
| projectId | string | – | Omit it when the account has one project, which is the free tier. |
| url | string | – | – |
No output schema declared.
No examples provided.
whoami ~77
Which SubmitMap account this token belongs to, named by its email address, which plan it is on, and how much of the free tier is left. Call it first if you are unsure whether the maker is connected, and tell them the address it reports: it is the only way either of you can tell one of their accounts from another.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.