Kill My Idea

biz.killmyidea由 killmyidea.biz 發布官方發布者v1.0.0更新於 Nov 5, 2026

Judges startup and side-project ideas: KILL IT, FIX IT or SHIP IT, a 0-100 score and 8 sub-scores.

已驗證Streamable HTTP可網頁執行資料與分析商業與電商

概覽

AI 產生的概覽

Kill My Idea 用分類器為創業與副業點子評分,回傳 KILL IT、FIX IT 或 SHIP IT 結論、0-100 總分與八項子分。

可以做什麼
  • 評判點子:送出描述與可選目標(賺錢、開源、好玩),取得結論、總分、最佳訊號、最大風險與八項維度分數
  • 要求補充細節:過於模糊的點子會回傳需要更多細節的標記,而不給結論或分數
  • 查看平台統計:已分析點子總數,以及被否決、需修正、可推進的數量
適用情境
適合在動手做產品或副業之前,快速取得結構化的可行性判斷;也適合讓助理一次評估多個點子並比較分數。
執行需求
遠端 Streamable HTTP 端點,位於 killmyidea.biz;不需驗證、API 金鑰或標頭。README 中的本機部署說明(npm install、TYPESAFE_API_KEY)僅適用於自行架設應用程式,與託管的 MCP 端點無關。
安裝前請注意
除非將 do_not_archive 設為 true,點子會以匿名方式存檔到伺服器供產品分析使用,因此不要送出機密內容。此服務無驗證、公開且無狀態,結論來自固定分類器而非生成式模型。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Kill My Idea,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/biz.killmyidea%2Fkillmyidea/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "kill-my-idea": {
      "type": "http",
      "url": "https://killmyidea.biz/api/mcp"
    }
  }
}

README

Kill My Idea

Describe a startup idea. Jev decides: KILL IT, FIX IT or SHIP IT.

No generative LLM. One request asks TypeSafe Jev 10 questions in parallel: 8 plain indie-hacker questions scored 0–4, plus the category and whether the idea is understandable.

idea → Jev (8 scores) → each × 25 → weighted average → clarity gate → KILL / FIX / SHIP

1. Install

bash
npm install

2. Environment

bash
cp .env.example .env
TYPESAFE_API_KEY=your_key

The key is only read by api/evaluate.ts and never reaches the browser.

Successful evaluations are archived in SQLite at data/analytics.sqlite by default. Set ANALYTICS_DB_PATH to an absolute path on a persistent disk in production. Users can opt out per request with the checkbox below private history.

SITE_URL (optional) sets the absolute URL used in the canonical and OG/Twitter tags, robots.txt, sitemap.xml, /mcp.md and llms.txt (generated at build time). It defaults to https://killmyidea.biz. The image itself is public/og.png (1200×630).

For UI work without a key, set TYPESAFE_MOCK=1. The API then returns deterministic fake answers labelled MOCK DATA in the raw-data panel. Mock mode is ignored in production.

3. Run locally

bash
npm run dev          # http://127.0.0.1:5317 (serves /api/* and /mcp/ too)npm test             # unit testsnpm run benchmark    # balanced scoring benchmark; requires the app to be running

Every result has a collapsed "How Jev decided" panel with raw Jev answers, probabilities, confidence, the average, the verdict, latency and token usage. ?debug=1 opens it by default.

4. Build

bash
npm run build        # typecheck + static build in dist/

5. Deploy (Laravel Forge)

The site runs on Forge as a Node server: npm run build for the static assets in dist/, then npm run build:server && npm start to serve the API endpoints. Set TYPESAFE_API_KEY in the site's environment file.

SQLite needs a persistent local disk, which the Forge server provides directly (data/analytics.sqlite); set ANALYTICS_DB_PATH to an absolute path on that disk in production.

Because the SPA is served with an nginx fallback (try_files ... /index.html), every unknown path returns the index page with HTTP 200. Bots probing random URLs therefore show up as pageviews in DataFast. To stop that, change the fallback in the site's nginx configuration (Forge → site → Edit Nginx Configuration) to return 404 for unknown paths if the app has no real routes:

nginx
location / {    try_files $uri $uri/ =404;}

Domain move (killmyidea.stemonte.io → killmyidea.biz)

Both domains belong to the same Forge site. The old one answers every request with a 301 to the same path and query on killmyidea.biz, via deploy/nginx-old-domain-redirect.conf, pasted into the site's nginx configuration inside the server block. Keep that redirect for at least a year.

Idea history lives in localStorage, which is per origin. The 301 adds #moved; the inline script in index.html then makes one hop to public/history-transfer.html on the old domain, which returns with its history in the URL fragment (never sent to a server) to be merged. It runs at most once per browser. Remove both once the old domain is retired.

MCP server

api/mcp.ts is a free, public MCP server at /api/mcp (Streamable HTTP, no auth). It is stateless: every POST is one JSON-RPC message answered with plain JSON, there are no sessions and GET returns 405. Tools:

  • judge_idea(idea, goal?, do_not_archive?): same pipeline as /api/evaluate (api/_judge.ts), returns the verdict, score, best signal, biggest risk and the eight sub-scores, without the raw Jev response
  • get_stats(): analyzed count and verdict split

MCP evaluations are archived like web ones, with source = 'mcp'.

Usage is tracked in the mcp_requests table: one row per JSON-RPC message with the method, tool name, client name and version (sent with initialize), user agent, protocol version, success or error, and latency. It never stores tool arguments or IP addresses. Summary for the last 7 days (or -- 30 for 30):

bash
npm run mcp:usage

That report includes user agents and error messages, so it stays private. The public /stats/ page (stats/index.html + src/stats-page.tsx, linked in the footer) reads GET /api/usage (api/usage.ts, cached 5 minutes): ideas analyzed on the web and via MCP, a 30-day daily chart, tool calls, clients and verdicts. Client and tool names come from callers, so only known ones are published (clientLabel), everything else is "Other".

Docs: mcp/index.html is the static SEO page at /mcp/ (a second Vite entry); mcp/mcp.md is served as /mcp.md for agents and llms.txt is generated in vite.config.ts. Both are emitted at build time and served by the dev server.

bash
claude mcp add --transport http killmyidea https://killmyidea.biz/api/mcp

nginx already proxies /api/ to the Node server, so no extra config is needed.

6. Scoring

src/lib/scoring.ts and src/lib/verdict.ts. That's all there is:

  • each question: Jev score 0–4 × 25 → 0–100
  • score = weighted average of the 8 questions (WEIGHTS)
  • Make money weights Real problem and Money twice; Open source replaces Money with Adoption; Just for fun replaces Real problem and Money with Immediate appeal and Fun. The two goal-defining questions always count twice. The API takes goal (money default, open_source, fun).
  • KILL below 50 · FIX 50–64 · SHIP 65+ (VERDICT_THRESHOLDS)
  • if understandability is below 0.3, the raw scores are retained for analysis but the UI asks for more detail instead of presenting a score or verdict
  • SCORING_VERSION identifies the exact questions, weights, thresholds and gating semantics

BEST SIGNAL / BIGGEST RISK are the highest / lowest question, with fixed copy in src/lib/copy.ts.

7. Jev questions

src/lib/questions.ts: Real problem, Clear customer, Demand, Money, Reach, Different, Buildable, Shareable, plus Adoption, Immediate appeal and Fun for goal-specific scoring. Each has five levels written as concrete situations (Jev judges each level on its own). The HTTP client is src/lib/typesafe.ts.

Layout

api/evaluate.ts           API endpoint for the websiteapi/mcp.ts                MCP server (JSON-RPC over POST /api/mcp)api/_judge.ts             shared pipeline (validate → Jev → score → archive)api/stats.ts              API endpoint (ideas submitted + verdict split, 5-min cache)api/usage.ts              public usage numbers for /stats/ (5-min cache)api/_analytics-db.ts      SQLite archive for evaluation requests and scoresapi/_mock.ts              local-only fake answerssrc/lib/questions.ts      Jev questionssrc/lib/scoring.ts        0-4 → 0-100, averagesrc/lib/verdict.ts        KILL / FIX / SHIP thresholdssrc/lib/copy.ts           fixed copy per questionsrc/lib/storage.ts        history (IdeaStore interface, localStorage implementation)src/lib/share.ts          share text and X intent URLsrc/lib/features.ts       public site and repository URLssrc/components/           UImcp/index.html            /mcp/ docs page (SEO)mcp/mcp.md                /mcp.md docs for agentsstats/index.html          /stats/ public usage pagebenchmarks/cases.json     balanced, synthetic benchmark casesscripts/run-scoring-benchmark.mjs  benchmark runner and summary

Analytics (DataFast, cookieless)

Production builds load DataFast's cookieless script (script.cookieless.js) with the site id dfid_UvVlC3fid8kOr95YTMIho (vite.config.ts). Dev builds only track when DATAFAST_WEBSITE_ID is set; DATAFAST_WEBSITE_ID=off disables tracking. DATAFAST_DOMAIN defaults to killmyidea.biz; DATAFAST_ALLOWED_HOSTNAMES defaults to killmyidea.stemonte.io so the old domain still counts during the move. In DataFast, enable Settings → General → Cookieless / privacy mode so the dashboard matches the script.

There is one custom goal (src/lib/analytics.ts): idea_submitted, with length, saved, and archived params. The idea text is never sent to DataFast.

Evaluation archive (SQLite)

Unless the user checks the opt-out, each successful evaluation creates one row in the evaluations table. It includes the idea, where it came from (source: web or mcp), scoring version, total score, raw verdict, clarity-gate status, category, all eight dimension scores, understandability, latency, model, token usage and the complete diagnostic response JSON. It deliberately excludes IP addresses, cookies and browser identifiers.

For example:

bash
sqlite3 data/analytics.sqlite \  'SELECT scoring_version, goal, COUNT(*), ROUND(AVG(score), 1) FROM evaluations GROUP BY scoring_version, goal;'

Rows collected before scoring v2 are migrated without being reinterpreted: they remain scoring_version = 1, while v2 stores the new appeal score for fun ideas. To export:

bash
sqlite3 -header -csv data/analytics.sqlite 'SELECT * FROM evaluations;' > evaluations.csv

Scoring benchmark

benchmarks/cases.json contains two similarly detailed, synthetic ideas for each category. The runner evaluates every case against all three goals and always sends doNotArchive: true. With the app running against Jev:

bash
BENCHMARK_RUNS=3 npm run benchmark

It reports score and verdict distributions by goal, category accuracy, clarity gates and repeat-score range. The full JSON is written to the ignored benchmarks/results/latest.json; set BENCHMARK_URL to test a deployed instance.

.mcp.json registers the official DataFast MCP server (https://datafa.st/api/mcp). In Claude Code, run /mcp and sign in with OAuth to query these analytics.

Privacy

The public policy is privacy/index.html (/privacy/), with the terms in terms/index.html (/terms/). Keep them in step with what the code stores. Contact: [email protected] (Cloudflare Email Routing).

  • Private history is off by default and stays in the browser's localStorage. There are no accounts.
  • Successful evaluations are archived server-side for product analysis by default; the form provides an explicit opt-out.
  • DataFast never receives idea text. To move private history to Supabase, implement IdeaStore in src/lib/storage.ts.

License

MIT. See LICENSE.

來源:README.md,提交 fccb823

工具

2

judge_idea

Judge a startup idea

Judge a startup or side-project idea. Returns a verdict (verdict KILL, FIX or SHIP, shown as verdict_label KILL IT, FIX IT or SHIP IT), an overall score, the best_signal, the biggest_risk and the eight scored dimensions. If the idea is too vague to judge, needs_detail is true and verdict, verdict_label, score, best_signal and biggest_risk are null, and message says which details are missing. 10 Jev decisions in about a second. Deterministic rubric, no generated prose. The text result is a preformatted card with bar charts.

輸入參數goalidea必填do_not_archive

get_stats

Kill My Idea stats

How many ideas Kill My Idea has analyzed so far and how many were killed, fixed or shipped. Cached for 5 minutes.

無需輸入參數。

版本歷史

1
  1. v1.0.0最新Nov 4, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分