capitalthought avatar

Doom

capitalthought/doom

Connects Claude to Doomscore's obsolescence screening API to check if a startup idea or product is likely to get absorbed into core LLM platform features. You can score products by URL, description, or pitch deck and get back a defensibility rating (0 to 5), the specific feature and lab that might kill it, estimated time to impact, and a suggested pivot. The verdict runs against a maintained knowledge base of frontier lab roadmaps and returns consensus across Claude, GPT, Gemini, and Grok. Useful for VCs triaging deal flow or founders stress testing their moat before a competitor ships it as a checkbox. Free tier available, no signup required.

tools
11
transport
HTTP
last updated
Jun 2, 2026

Install

From registry metadata
$ npx add-mcp https://mcp.doomscore.vc --name doom

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http doom https://mcp.doomscore.vc

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 11 tools

Verified live against the running server on Nov 6, 2026.

doom_prepPrep Gate. Validates config + confirms the roadmap-signals KB is within the staleness threshold. Fails closed if stale. Call before assess_product.

Prep Gate. Validates config + confirms the roadmap-signals KB is within the staleness threshold. Fails closed if stale. Call before assess_product.

No parameters. Call it with no arguments.

assess_productAssess one product's obsolescence risk. Provide exactly ONE of description/url/pitch_company_id/deck_text. Async — returns job_id; poll get_assessment. Defaults to deep mode. Optionally pass requested_by to identify the caller (shown in the activity feed).6 params

Assess one product's obsolescence risk. Provide exactly ONE of description/url/pitch_company_id/deck_text. Async — returns job_id; poll get_assessment. Defaults to deep mode. Optionally pass requested_by to identify the caller (shown in the activity feed).

Parameters* required
deck_textstring
descriptionstring
modestring
one of quick · deepdefault: deep
pitch_company_idstring
requested_bystring
Who is requesting this assessment (name/handle/agent id) — shown in the #doom-activity feed; defaults to anonymous.
urlstring
get_assessmentPoll an assessment job_id. Returns status + the typed assessment when complete. Hard timeout — never hangs on pending.1 params

Poll an assessment job_id. Returns status + the typed assessment when complete. Hard timeout — never hangs on pending.

Parameters* required
job_id*string
list_assessmentsRecent assessments, filterable by verdict.2 params

Recent assessments, filterable by verdict.

Parameters* required
limitnumber
default: 20
verdictstring
overviewInspectable State. No input. Counts, recent activity, roadmap-signal freshness, health, last calibration run.

Inspectable State. No input. Counts, recent activity, roadmap-signal freshness, health, last calibration run.

No parameters. Call it with no arguments.

record_outcomeOutcome-feedback (learning loop). Record what ACTUALLY happened to a previously-assessed product as a labeled calibration case; the weekly recalibration folds it into the gate. Operator-only (requires operator_key). Provide either job_id (links the case to that assessment + re...7 params

Outcome-feedback (learning loop). Record what ACTUALLY happened to a previously-assessed product as a labeled calibration case; the weekly recalibration folds it into the gate. Operator-only (requires operator_key). Provide either job_id (links the case to that assessment + re...

Parameters* required
actual_outcome*string
one of sherlocked · survived · thrived
expected_verdict*string
one of roadkill · squeezed · defensible · riding-the-wave
job_idstring
notesstring
operator_key*string
productstring
year_observednumber
list_signal_candidatesKB-refresh review queue. List auto-scraped candidate roadmap signals (default: pending). Operator-only. Approve/reject with review_signal_candidate; the weekly cron signs approved ones into the live KB.3 params

KB-refresh review queue. List auto-scraped candidate roadmap signals (default: pending). Operator-only. Approve/reject with review_signal_candidate; the weekly cron signs approved ones into the live KB.

Parameters* required
limitnumber
default: 50
operator_key*string
statusstring
one of pending · approved · rejected · signed
review_signal_candidateApprove or reject a KB-refresh candidate signal. Operator-only. Approved candidates are signed (Ed25519) into the live roadmap_signals KB by the next refresh run; rejected ones are dropped. Controls what becomes grounding truth.3 params

Approve or reject a KB-refresh candidate signal. Operator-only. Approved candidates are signed (Ed25519) into the live roadmap_signals KB by the next refresh run; rejected ones are dropped. Controls what becomes grounding truth.

Parameters* required
action*string
one of approve · reject
candidate_id*string
operator_key*string
list_kb_signalsList the active (signed, grounding) roadmap signals with their ids — use to find a signal_id to retire. Operator-only.1 params

List the active (signed, grounding) roadmap signals with their ids — use to find a signal_id to retire. Operator-only.

Parameters* required
operator_key*string
retire_signalUNLEARN a KB signal that became false/obsolete (e.g. a rumored feature cancelled, or a signal no longer predictive). Soft-deletes it (active=false) so it stops grounding assessments immediately — recoverable. Operator-only. Find the id via list_kb_signals.3 params

UNLEARN a KB signal that became false/obsolete (e.g. a rumored feature cancelled, or a signal no longer predictive). Soft-deletes it (active=false) so it stops grounding assessments immediately — recoverable. Operator-only. Find the id via list_kb_signals.

Parameters* required
operator_key*string
reason*string
signal_id*string
supersede_calibration_caseUNLEARN a calibration case whose label turned out wrong or obsolete — retires it (active=false) so the recalibration gate stops scoring it. To correct, retire the wrong case then record_outcome the right one. Operator-only.3 params

UNLEARN a calibration case whose label turned out wrong or obsolete — retires it (active=false) so the recalibration gate stops scoring it. To correct, retire the wrong case then record_outcome the right one. Operator-only.

Parameters* required
case_id*string
operator_key*string
reason*string

Sponsors

Readme

Details

Repository
github.com/capitalthought/doom
Website
doomscore.vc
Category
AI & LLM Tools
Transport
HTTP
Registry
MCP registry, active
Tools verified
Nov 6, 2026

More from capitalthought

Related AI & LLM Tools MCP servers

View all
1christopherdavenport avatargithub-twinchristopherdavenport/github-twinPersonal RAG over your GitHub history (commits, code, reviews), served to Claude Code over MCP.0stars
2clauxel avatarAgentdataboundary Mcpclauxel/agent-data-boundary-mcpPermission boundary receipts for ChatGPT agents.0stars
3clauxel avatarAgentmonitorrelay Mcpclauxel/agent-monitor-relay-mcpAI agent run monitoring with incident replay and SLA receipts.0stars
4clauxel avatarAgentskillupdategate Mcpclauxel/agent-skill-update-gate-mcpPaid remote MCP for Claude Code skill update gate MCP, structured receipts, audit logs, and reviewer0stars
5clauxel avatarAgenticbudgetrouter Mcpclauxel/agentic-budget-router-mcpAgentic workflow budget approvals with usage receipts.0stars
6clauxel avatarAgentichtmlexportqa Mcpclauxel/agentic-html-export-qa-mcpPaid remote MCP for agentic HTML export QA MCP, structured receipts, audit logs, and reviewer-ready0stars