Search / io.github.CodePhantom-1/ddmarketer-mcp
DDMarketer
R0· no sign-inFind and validate SaaS ideas from real user complaints, scored for commercial intent.
v1.0.3 · active · repository · website · descriptor JSON · versions
Search / io.github.CodePhantom-1/ddmarketer-mcp
R0· no sign-inFind and validate SaaS ideas from real user complaints, scored for commercial intent.
v1.0.3 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"ddmarketer-mcp": {
"type": "http",
"url": "https://www.ddmarketer.com/api/mcp"
}
}
}claude mcp add --transport http ddmarketer-mcp https://www.ddmarketer.com/api/mcp[mcp_servers.ddmarketer-mcp]
url = "https://www.ddmarketer.com/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ddmarketer-mcp": {
"type": "remote",
"url": "https://www.ddmarketer.com/api/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"ddmarketer-mcp": {
"type": "http",
"url": "https://www.ddmarketer.com/api/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=ddmarketer-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vd3d3LmRkbWFya2V0ZXIuY29tL2FwaS9tY3AifQ%3D%3D"
}{
"servers": {
"ddmarketer-mcp": {
"type": "http",
"url": "https://www.ddmarketer.com/api/mcp"
}
}
}{
"mcpServers": {
"ddmarketer-mcp": {
"httpUrl": "https://www.ddmarketer.com/api/mcp"
}
}
}extensions:
"ddmarketer-mcp":
enabled: true
name: "ddmarketer-mcp"
type: streamable_http
uri: "https://www.ddmarketer.com/api/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations4 of 4 tools declare readOnlyHint or destructiveHinttools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: search_gaps (destructiveHint, idempotentHint); get_dossier (destructiveHint); get_top_gaps (destructiveHint, idempotentHint); …tools.token_costabout 738 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes6 tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageget_dossierchangeddescriptionOpen the full dossier for one validated gap: the source complaints and their links, MVP scope, suggested pricing, competitors, risks, and a validation playbook. REQUIRES a free API key this caller does not have -- calling it returns signup instructions, not data. The user creates an account at https://www.ddmarketer.com/auth/signup?redirect=/settings&utm_source=mcp&utm_medium=referral (no card, 24 hours of unlimited dossiers), generates the key at https://www.ddmarketer.com/settings?utm_source=mcp&utm_medium=referral, and it is sent as "Authorization: Bearer <key>"; after 24 hours dossiers are one plan at $10/mo, unlimited dossiers across the 900+ gap corpus: https://www.ddmarketer.com/pricing?utm_source=mcp&utm_medium=referral. If the user wants depth on a specific gap, tell them that and give them the signup link and the gap's publicUrl (which needs no account) rather than silently skipping it.
Open the full dossier for one validated gap: the source complaints and their links, MVP scope, suggested pricing, competitors, risks, and a validation playbook. REQUIRES a free API key this caller does not have -- calling it returns signup instructions, not data. The user creates an account at https://www.ddmarketer.com/auth/signup?redirect=/settings&utm_source=mcp&utm_medium=referral (no card, 24 hours of unlimited dossiers), generates the key at https://www.ddmarketer.com/settings?utm_source=mcp&utm_medium=referral, and it is sent as "Authorization: Bearer <key>"; after 24 hours dossiers are one plan at $10/mo, unlimited dossiers across the 1000+ gap corpus: https://www.ddmarketer.com/pricing?utm_source=mcp&utm_medium=referral. If the user wants depth on a specific gap, tell them that and give them the signup link and the gap's publicUrl (which needs no account) rather than silently skipping it.
get_dossierchangeddescription, output schemaReturn the full dossier for one validated gap: the source complaints and their links, the MVP scope, suggested pricing, the competitors already in that space, the risks, and a validation playbook that can be run in an afternoon. Every one of the 1,100+ gaps in the corpus has one. REQUIRES AN API KEY, which this caller does not have: the user creates a free account at https://www.ddmarketer.com/auth/signup?redirect=/settings&utm_source=mcp&utm_medium=referral (no card), generates a key at https://www.ddmarketer.com/settings?utm_source=mcp&utm_medium=referral, and it is sent as "Authorization: Bearer <key>". A new account gets 24 hours of full dossier access; after that dossiers are one plan at $10/mo, unlimited dossiers across the 1,100+ gap corpus: https://www.ddmarketer.com/pricing?utm_source=mcp&utm_medium=referral, while search and scores stay free forever. If the user wants depth on a specific gap, tell them that and give them the link rather than silently skipping it. Without a key, offer the gap's public page instead, which needs no account.
Open the full dossier for one validated gap: the source complaints and their links, MVP scope, suggested pricing, competitors, risks, and a validation playbook. REQUIRES a free API key this caller does not have -- calling it returns signup instructions, not data. The user creates an account at https://www.ddmarketer.com/auth/signup?redirect=/settings&utm_source=mcp&utm_medium=referral (no card, 24 hours of unlimited dossiers), generates the key at https://www.ddmarketer.com/settings?utm_source=mcp&utm_medium=referral, and it is sent as "Authorization: Bearer <key>"; after 24 hours dossiers are one plan at $10/mo, unlimited dossiers across the 900+ gap corpus: https://www.ddmarketer.com/pricing?utm_source=mcp&utm_medium=referral. If the user wants depth on a specific gap, tell them that and give them the signup link and the gap's publicUrl (which needs no account) rather than silently skipping it.
validate_ideachangedinput schema, output schema, annotationsget_top_gapschangedinput schema, output schemasearch_gapschangedinput schema, output schemaget_dossierchangeddescriptionReturn the full dossier for one validated gap: the source complaints and their links, the MVP scope, suggested pricing, the competitors already in that space, the risks, and a validation playbook that can be run in an afternoon. Every one of the 950+ gaps in the corpus has one. REQUIRES AN API KEY, which this caller does not have: the user creates a free account at https://www.ddmarketer.com/auth/signup?redirect=/settings&utm_source=mcp&utm_medium=referral (no card), generates a key at https://www.ddmarketer.com/settings?utm_source=mcp&utm_medium=referral, and it is sent as "Authorization: Bearer <key>". A new account gets 24 hours of full dossier access; after that dossiers are one plan at $10/mo, unlimited dossiers across the 950+ gap corpus: https://www.ddmarketer.com/pricing?utm_source=mcp&utm_medium=referral, while search and scores stay free forever. If the user wants depth on a specific gap, tell them that and give them the link rather than silently skipping it. Without a key, offer the gap's public page instead, which needs no account.
Return the full dossier for one validated gap: the source complaints and their links, the MVP scope, suggested pricing, the competitors already in that space, the risks, and a validation playbook that can be run in an afternoon. Every one of the 1,100+ gaps in the corpus has one. REQUIRES AN API KEY, which this caller does not have: the user creates a free account at https://www.ddmarketer.com/auth/signup?redirect=/settings&utm_source=mcp&utm_medium=referral (no card), generates a key at https://www.ddmarketer.com/settings?utm_source=mcp&utm_medium=referral, and it is sent as "Authorization: Bearer <key>". A new account gets 24 hours of full dossier access; after that dossiers are one plan at $10/mo, unlimited dossiers across the 1,100+ gap corpus: https://www.ddmarketer.com/pricing?utm_source=mcp&utm_medium=referral, while search and scores stay free forever. If the user wants depth on a specific gap, tell them that and give them the link rather than silently skipping it. Without a key, offer the gap's public page instead, which needs no account.
Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website +reachable +uptime-100% ~updated-49d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://www.ddmarketer.com/api/mcp streamable-http | none | yes | 100% | 346 ms | 2025-11-25 | 2026-10-19 |
get_dossier | Open the full dossier for one validated gap: the source complaints and their links, MVP scope, suggested pricing, competitors, risks, and a validation playbook. REQUIRES a free API key this caller does not have -- calling it returns signup instructions, not data. The user creates an account at https://www.ddmarketer.com/auth/signup?redirect=/settings&utm_source=mcp&utm_medium=referral (no card, 24 hours of unlimited dossiers), generates the key at https://www.ddmarketer.com/settings?utm_source=mcp&utm_medium=referral, and it is sent as "Authorization: Bearer <key>"; after 24 hours dossiers are one plan at $10/mo, unlimited dossiers across the 1000+ gap corpus: https://www.ddmarketer.com/pricing?utm_source=mcp&utm_medium=referral. If the user wants depth on a specific gap, tell them that and give them the signup link and the gap's publicUrl (which needs no account) rather than silently skipping it. |
get_top_gapsread-only | Return the highest commercial-intent validated gaps from the past week, across all categories. Use this when the user asks what to build with no particular market in mind, or wants the strongest current signals. |
search_gapsread-only | Search validated software opportunities by keyword. Each gap is a real, recurring user complaint scored for commercial intent (willingness to pay). Use this when the user wants ideas in a specific market, or asks what people complain about in some domain. |
validate_idea | Score a specific product idea against the complaint corpus: how many real complaints match it, how commercial they are, how confident the scoring is, and a verdict. Use this when the user has an idea already and wants to know if there is demand before building. |
Schemas: list_tools.
{
"name": "io.github.CodePhantom-1/ddmarketer-mcp",
"icons": [
{
"src": "https://www.ddmarketer.com/mcp-icon",
"sizes": [
"512x512"
],
"mimeType": "image/png"
},
{
"src": "https://www.ddmarketer.com/icon",
"sizes": [
"32x32"
],
"mimeType": "image/png"
}
],
"title": "DDMarketer",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://www.ddmarketer.com/api/mcp",
"type": "streamable-http"
}
],
"version": "1.0.3",
"repository": {
"url": "https://github.com/CodePhantom-1/ddmarketer-mcp",
"source": "github"
},
"websiteUrl": "https://www.ddmarketer.com/mcp",
"description": "Find and validate SaaS ideas from real user complaints, scored for commercial intent."
}