Submit Map vs Proofsource

A side-by-side look at the Submit Map and Proofsource MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Submit Map logoSubmit MapMarketing · Remote HTTP/SSEA directory of product launch platforms: where your product qualifies and how each form is filled.64GoodAuth: api key requiredProofsource logoProofsourceMarketing · Remote HTTP/SSEAI visibility for your brand: which buyer questions name you in ChatGPT, Perplexity, Claude and Google AI Overviews, which competitors AI recommends instead, which sources it cites, and what to fix. Remote server with OAuth sign-in.68GreatAuth: oauth 2.0

Verdict: choose Submit Map for marketing work over a hosted endpoint; choose Proofsource for marketing over a hosted endpoint. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Submit Map logoChoose Submit Map when

  • You need dedicated capabilities in the Marketing domain.
  • You prefer a remote HTTP/SSE transport.
  • Its auth model fits you: API key required.
  • You want tools like search_platforms, get_platform, qualify_project.
Explore Submit Map

Proofsource logoChoose Proofsource when

  • You need dedicated capabilities in the Marketing domain.
  • You prefer a remote HTTP/SSE transport.
  • Its auth model fits you: OAuth 2.0.
  • You want tools like list_brands, list_topics, get_visibility.
Explore Proofsource

Feature & specification comparison

Rows where the two servers differ are marked.

SpecSubmit Map logoSubmit MapProofsource logoProofsource
CategoryMarketingMarketing
Quality signal64/100 · Good68/100 · Great
Install commandConfirmedConfirmed
TransportRemote HTTP/SSERemote HTTP/SSE
AuthAPI key requiredOAuth 2.0
PricingFreeFreemium
Required env varsNone listedNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars2650
Directory activity 4 views 0 installs 1 upvotes 2 views 0 installs 0 upvotes
Tools1114

Tools & capabilities

Submit Map tools 11

  • search_platformsSearch 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.
  • get_platformFull record for one platform: eligibility, disqualifiers, step-by-step submission instructions, requirements, gotchas and expected outcome. All of that is free, and it is what decides whether this product should be submitted here at all. Pass brief: true to also get 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). The brief spends one of the account's tracked platforms, so ask for it once the maker has decided to fill this form, not while you are still choosing between platforms. For a stored project, submission_playbook returns the same brief with the maker's values already in it.
  • qualify_projectGiven 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`: the run in the order it should be worked, so the plan comes out of the directory rather than out of what you remember of the web. That order is decided by `goal` and `budget`, and when they have not been answered the response says what it assumed and carries the questions to put to the maker: ask them, call again with the answers, and store them with update_project so nobody asks twice. Needs no account: describe the product inline. Every field is optional and an unanswered field becomes a gap to fill rather than a rejection.
  • whoamiWhich SubmitMap account this token belongs to, named by its email address, which plan it is on, and what it already holds. 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. It does not hand you the plan's limits and you do not need them to work: plan the whole run, and a limit says so at the write it stops.
  • list_projectsThe 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.
  • create_projectStore 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.
  • update_projectFill 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.
  • submission_playbookEverything 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. One brief is out at a time per project: ask for the next platform only after record_submission has answered this one, because until then this tool refuses the next brief and names the one still open. Do not fetch briefs ahead or in parallel. This is the tool the free plan meters: it covers the same submissions the dashboard tracks, plus any platform the account has already sent to, and past that it says so and points at the upgrade rather than answering.
  • record_submissionLog what happened to the dashboard: the listing URL, when it was sent, when it goes live. Call it as soon as a submission lands, before you ask for the next brief, including when it is only queued for review, and including when you are not sure it landed: that is what `attempted` is for. The next brief on this project is refused until this call is made. A platform that needs the maker (a captcha, a login, a payment, a file, an address to confirm) is recorded as `planned` with a note saying what you need from them: that hands it back without claiming an outcome, and frees the run to carry on. If the live platform did not match what the brief said, put the difference in `differsFromRecord`. This costs nothing on any plan and no status costs more than another, so record what actually happened: the brief was what spent the tracked platform, and leaving the row wrong now only makes the run harder to follow.
  • plan_submissionsWrite the run order for a project: which platforms, in what sequence, and why each one is where it is. Anything already submitted to is dropped from the plan and named back to you in `alreadySubmitted`, because a plan is what is still ahead. 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, and if that response carried `questions`, put them to the maker before you plan: the order depends on the answers, and a plan written on an assumption is one they have to undo by hand. A plan costs nothing on any plan, so plan the whole run the product deserves rather than a short one sized to a guess about what the account can track.
  • list_submissionsWhere 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.

Proofsource tools 14

  • list_brandsThe brands this workspace tracks in AI answers, with ids and websites. Call first; every other tool takes a brand_id.
  • list_topicsThe topics and buyer questions this workspace asks ChatGPT, Perplexity, Claude and Google AI for a brand. Gives the topic_id create_prompt needs.
  • get_visibilityHow often ChatGPT, Perplexity, Claude and Google AI mention the brand when buyers ask about its category. by=engine (default): mention rate, share of voice, average position, citation share and sentiment per engine, with the change from the previous period. by=question: each buyer question's mention rate and rank.
  • get_competitorsThe competitors AI answers name for the brand's buyer questions, per engine, with each one's share of voice against the brand and how it changed over the window.
  • get_citationsThe websites AI answers cite for the brand's buyer questions, ranked by share of citations and by how many answers cite them, and where the brand's own site ranks.
  • get_changesWhat moved over the window: the daily mention-rate trend, how much the engines' answers changed, notable changes on competitors' websites, and new pages about the category.
  • list_fix_opportunitiesThe gaps that keep AI engines from citing or recommending the brand, each with its evidence and the suggested fix. Gives the gap_id mark_fix_shipped needs.
  • get_fix_verificationEach fix marked shipped for the brand with its mention rate before and after and a verdict: moved (beyond normal answer churn), within_noise, or awaiting_samples. Fixes marked "Not a fix" are left out; auto-detected page changes carry source auto_detected.
  • create_promptAdds a buyer question to a topic so it is asked on every engine in the plan from the next run. Counts toward the plan's question limit. Calling again with the same text returns the existing question, never a duplicate.
  • mark_fix_shippedRecords that a fix shipped, against a gap_id from list_fix_opportunities or a published content_draft_id, so get_fix_verification can measure whether it moved the brand's mention rate. Calling again with the same fix and description returns the existing record.
  • add_brandStart measuring a brand: does ChatGPT, Perplexity, Claude or Google AI mention it, and who does AI recommend instead? Give the brand's website (or its app store, Google Maps, YouTube or Instagram link). It reads the site, picks the buyer questions, and starts the first scan across the AI engines. Reading the site takes 1-2 minutes; if it is still running, call again with the same link and it picks up the same run, never a second one. Returns the brand_id; then use get_scan_status.
  • get_scan_statusProgress of a brand's first scan after add_brand: the stage, how many AI answers are in out of how many expected, per engine, and when it should finish. Once complete, use get_visibility for the results.
  • +2 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Submit Map

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "directory-3": {
      "url": "https://submitmap.com/api/mcp"
    }
  }
}

Proofsource

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "proofsource": {
      "command": "npx",
      "args": [
        "-y",
        "proofsource"
      ]
    }
  }
}

Frequently asked questions

Submit Map is categorized under Marketing and uses a remote HTTP/SSE transport. Proofsource belongs to Marketing and uses a remote HTTP/SSE transport. Pick Submit Map for marketing work and Proofsource for marketing.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Submit Map is listed as free. Auth: api key required. Proofsource is listed as freemium — a free tier with paid plans. Auth: oauth 2.0. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add directory-3 and proofsource as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Submit Map has a quality signal of 64/100 (Good) with 4 views, 0 installs and 265 GitHub stars. Proofsource has 68/100 (Great) with 2 views, 0 installs and 0 GitHub stars.