deadends.dev

dev.deadends由 deadends.dev 發布官方發布者v0.9.0更新於 Oct 24, 2026

Structured failure knowledge for AI agents — dead ends, workarounds, error chains

已驗證Streamable HTTP可網頁執行位置與生活知識與記憶開發者工具

概覽

AI 產生的概覽

一個結構化失敗知識庫,讓助理在動手前查詢已知的程式錯誤與特定國家的現實陷阱,以及可行的替代做法。

可以做什麼
將錯誤訊息與數千筆已知模式比對,回傳應避免的死路與有效的解決方式,並可依 ID 查看完整條目、一次批次查詢最多十筆錯誤(lookup_error、get_error_detail、batch_lookup)。依關鍵字、領域或國家瀏覽與搜尋目錄,查看領域與國家的條目數、修復率等彙總(search_errors、list_error_domains、list_errors_by_domain、list_errors_by_country、get_country_summary、get_domain_stats)。沿錯誤關聯圖查看某個故障通常會導致哪個故障(get_error_chain)。回報某個解決方式是否真的有效,回饋會更新成功率(report_outcome)。
適用情境
適合助理排查反覆出現的程式錯誤、需要跳過已知無效的修復方式時使用;也適合回答特定國家關於簽證、銀行開戶、法律紅線、禮儀或食品安全的問題,這類問題通用建議往往出錯。
執行需求
可作為免驗證的遠端 HTTP 端點使用,也可作為本機 Python 套件(pip install deadends-dev)透過 stdio 執行;README 的本機設定範例使用 python 指令並指定工作目錄路徑。未宣告任何 API 金鑰或環境變數。
安裝前請注意
report_outcome 工具會回報意見並改變公開的成功率,因此只應提交真實結果。國家相關的法律、簽證、醫療與安全條目僅供參考,並非權威建議;README 本身也建議對高風險變更與官方文件交叉核對。涵蓋範圍並不完整,各領域的可靠性也有差異。

安裝

在 SourceWeft 中

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

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

交給代理程式安裝

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

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

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

其他 MCP 客戶端

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

{
  "mcpServers": {
    "deadends-dev": {
      "type": "http",
      "url": "https://deadends.dev/mcp"
    }
  }
}

README

deadends.dev

[Precision@1] [MRR] [Entries] [Domains] [Countries] [MCP Tools] [PyPI] [License]

Stop AI agents from repeating known failures - in code AND in the real world.

AI assistants reliably fumble two kinds of problems: known-failed code fixes, and country-specific real-world rules they've never been exposed to in training. deadends.dev now covers both:

  • Code errors (2,089 entries, 51 domains): what NOT to try when an agent hits ModuleNotFoundError, CUDA OOM, CrashLoopBackOff, etc.
  • Country-scoped dead ends (250+ entries across 52 countries): visa rules (ETA/eVisitor, NZeTA, e-visas, arrival cards), banking requirements, legal red lines (lèse-majesté, §86a, Article 301), cultural taboos (chopsticks in rice, clock gifts in China, red-ink names in Korea), food safety (tap-water safety by country), emergency numbers, driving norms (left-hand traffic), housing contracts - all the friction where a plausible-sounding global answer is wrong locally.

Why the expansion? Coding dead ends are largely solved by a good LLM. Country-specific friction - Japanese hanko requirements, Schengen 90/180 math, Ramadan business hours, Saudi alcohol ban, Indian beef taboos - is where generic AI advice breaks hardest. The codebase and schema are identical; the env segment just carries a country code.

90% Precision@1 · 0.935 MRR · Data Quality Dashboard

Website: deadends.dev · MCP Server: Smithery · PyPI: deadends-dev · API: /api/v1/index.json Repository: https://github.com/dbwls99706/deadends.dev

Why Use This?

Without deadends.devWith deadends.dev
Agent tries sudo pip install → breaks system Python → wastes 3 retriesAgent sees "dead end: sudo pip - fails 70%" → skips it immediately
Agent tells user to tip 15% at a Tokyo restaurantAgent knows tipping is refused in Japan (culture/tipping-refused/jp)
Agent drafts a Thai social post referencing King Rama XAgent stops: Article 112 lèse-majesté risk (legal/lese-majeste-article-112/th)
Agent fixes error A, gets confused by error BAgent knows "A leads to B 78% of the time" → handles both
Agent tells unmarried couple to kiss publicly in DubaiAgent flags UAE public decency law (legal/unmarried-public-affection/ae)

What makes this different from asking an LLM?

  • Deterministic: Same query → same answer, every time. No hallucination.
  • Country-scoped: ID format {domain}/{slug}/{env} - env holds the country code (kr, jp, us, de...) so the same taboo can be answered differently for different jurisdictions.
  • Primary-sourced: Every country canon cites government sites, embassies, or verifiable reporting. No "based on general knowledge" answers.
  • Community-validated: Fix success rates updated from real outcome reports.
  • Sub-millisecond: Local regex matching, no API roundtrip.

현실적인 한계 (운영 관점)

  • 모든 에러를 다 커버하지는 못합니다. 없는 케이스는 이슈/PR/report_outcome로 빠르게 보완합니다.
  • 설명의 깊이보다 실전 해결 우선(dead end/workaround 중심)으로 설계되어 있습니다.
  • 신뢰성은 도메인/케이스마다 다를 수 있으므로, 고위험 변경은 공식 문서/벤더 가이드와 교차 검증을 권장합니다.

Quick Start (30 seconds)

bash
pip install deadends-devdeadends "CUDA error: out of memory"

MCP Server (Claude Desktop / Cursor)

Add to ~/.claude/claude_desktop_config.json:

json
{  "mcpServers": {    "deadend": {      "command": "python",      "args": ["-m", "mcp.server"],      "cwd": "/path/to/deadends.dev"    }  }}

Or install via Smithery (no local setup):

bash
npx -y @smithery/cli@latest install deadend/deadends-dev --client claude
MCP Unauthorized 빠른 해결 가이드 (사람용)

deadend: calling "initialize": sending "initialize": Unauthorized 에러가 보이면 아래를 순서대로 그대로 실행/확인하세요.

  1. 로컬 서버 모드인지, 원격(Smithery) 모드인지 하나만 사용
bash
# 로컬 서버 확인 (정상 시 툴 목록이 출력됨)python -m mcp.server --help
  1. Claude Desktop 설정 파일 점검 (cwd는 실제 경로여야 함)
bash
cat ~/.claude/claude_desktop_config.json
  1. 로컬 서버 직접 실행 테스트
bash
cd /path/to/deadends.devpython -m mcp.server
  1. Smithery 모드라면 재설치(토큰/설정 꼬임 복구)
bash
npx -y @smithery/cli@latest uninstall deadend/deadends-dev --client claudenpx -y @smithery/cli@latest install deadend/deadends-dev --client claude
  1. 마지막으로 Claude Desktop 완전 재시작
bash
# macOS 예시osascript -e 'quit app "Claude"'open -a Claude

팁: Unauthorized는 보통 잘못된 cwd, 중복 서버 설정(로컬+원격 동시), 또는 만료된 인증 상태에서 발생합니다.

Antigravity (Google AI IDE)

Add as a remote MCP server - no authentication required:

json
{  "mcpServers": {    "deadend": {      "serverUrl": "https://deadends.dev/mcp",      "type": "http"    }  }}

Note: Antigravity uses serverUrl (not url). If you get Unauthorized, remove any existing deadend entries from the MCP Store and re-add manually using the config above. See the Antigravity MCP auth guide for general troubleshooting.

Python SDK

python
from generator.lookup import lookup, batch_lookup, search
# Single error lookupresult = lookup("ModuleNotFoundError: No module named 'torch'")
# What NOT to try (saves tokens and time)for d in result["dead_ends"]:    print(f"AVOID: {d['action']} - fails {int(d['fail_rate']*100)}%")
# What actually worksfor w in result["workarounds"]:    print(f"TRY: {w['action']} - works {int(w['success_rate']*100)}%")
# Batch lookup (multiple errors at once)results = batch_lookup(["error1", "error2", "error3"])

Example Response

## ModuleNotFoundError: No module named 'X' (Python 3.11+)Resolvable: true | Fix rate: 0.88
### Dead Ends (DO NOT TRY):- pip install X with system Python (fails 70%): venv not activated
### Workarounds (TRY THESE):- Create venv, activate, then pip install (works 95%)- Use python -m pip install instead of bare pip (works 90%)

MCP Tools (11)

ToolDescription
lookup_errorMatch an error message against 2000+ known patterns
get_error_detailFull canon by ID
list_error_domainsAll 54 domains with counts
search_errorsTF-IDF keyword search across all domains
list_errors_by_domainAll errors in a domain
list_errors_by_countryAll country-scoped dead ends for an ISO alpha-2 code
get_country_summaryCountry-level summary (entries, fix rate, domain mix)
batch_lookupLook up multiple errors at once (max 10)
get_domain_statsDomain quality metrics and confidence levels
get_error_chainTraverse the error transition graph
report_outcomeReport whether a workaround worked (feeds back into success rates)

API Endpoints

EndpointDescription
/api/v1/match.jsonLightweight regex matching (fits in context window)
/api/v1/index.jsonFull error index with metadata (entries include country field for country canons)
/api/v1/{id}.jsonIndividual ErrorCanon
/api/v1/countries.jsonCountry index with counts and update dates
/api/v1/country/{cc}.jsonPer-country aggregate (one call returns all entries for that country)
/api/v1/openapi.jsonOpenAPI 3.1 spec
/api/v1/stats.jsonDataset quality metrics by domain
/api/v1/errors.ndjsonNDJSON streaming
/llms.txtLLM-optimized listing (llmstxt.org)
/dashboard/Data quality dashboard

Covered Domains (54)

Code error domains (51)

DomainErrorsExamples
Python88ModuleNotFoundError, TypeError, KeyError, MemoryError, RecursionError
Node70ERR_MODULE_NOT_FOUND, EACCES, EADDRINUSE, heap OOM, ERR_REQUIRE_ESM
Docker65no space left, exec format error, bind address in use, healthcheck
Kubernetes61CrashLoopBackOff, ImagePullBackOff, OOMKilled, RBAC forbidden, HPA
Git60failed to push, merge conflicts, detached HEAD, stash apply, tags
CUDA57OOM, device-side assert, NCCL, cuDNN, tensor device mismatch
Go54nil pointer, unused import, interface conversion, slice out of range
Java54NullPointerException, ClassNotFound, OutOfMemoryError, connection pool
Database52deadlock, connection pool, slow query, replication lag
AWS51AccessDenied, S3 NoSuchBucket, Lambda timeout, CloudFormation rollback
.NET50NullReferenceException, LINQ translation, DI circular, EF concurrency
ROS 250node spin, launch error, QoS mismatch, tf2 transform
TypeScript49TS2307, TS2322, TS2345, TS2532, TS7053
Rust48E0382 borrow, E0308 mismatch, E0277 trait, E0106 lifetime
+ 37 more domains40+ eachCI/CD, PHP, Terraform, Networking, Next.js, React, pip, Android, ...

Country-scoped real-world domains (new, growing)

DomainCoversExample dead ends
visaPre-travel authorization, overstay, re-entry bansESTA 90-day rule (US), K-ETA (KR), ETIAS/EES (Schengen), Schengen 90/180 (DE)
bankingAccount opening, KYC, foreigner rulesARC required (KR), residence card 6-month (JP), SSN/ITIN (US)
emergencyCorrect emergency numbers, transit112 not 911 (DE), 999/101/111 (UK)
medicalInsurance, Rx import, coverageShaho/Kokuho (JP), NHIS 6-month (KR), EHIC ineligibility (DE), Adderall import ban (JP)
legalCriminal liability, contract norms§86a Nazi symbols (DE), Article 112 (TH), Article 301 (TR), alcohol ban (SA), key money (JP)
cultureEtiquette, taboos, social normsChopsticks in rice (JP), clock gifts (CN), Tiananmen silence, red ink names (KR), bonjour (FR)
food-safetyWater, pathogens, religious taboosTap water (MX), fugu license (JP), beef in India, pork in Indonesia
communicationLanguage register, terminologyHonorifics (KR), American War framing (VN), 'gringo' (MX), Cantonese vs Mandarin (HK)
safetyDriving, public-safety normsLeft-side drive (JP), Autobahn rules (DE), horn-language (IN)

Data Quality

All metrics are publicly available on the Data Quality Dashboard:

  • 2,204 canon entries across 54 domains and 39+ countries
  • Benchmark: 90% Precision@1, 95% Precision@3, 0.935 MRR (on code scenarios)
  • Error transition graph: 4,330+ edges connecting related errors
  • Community feedback loop: report_outcome updates fix success rates from real usage
  • Country canons: every entry cites primary gov/embassy/regulator sources, reviewed by humans (review_status: human_reviewed), no LLM bulk generation

Country coverage (52 countries as of v0.10)

kr · jp · us · de · uk · fr · it · es · nl · ch · pt · ie · at · be · se · no · dk · fi · pl · gr · cn · hk · tw · th · in · vn · id · sg · ph · my · pk · bd · sa · ae · tr · il · ru · br · mx · ar · cl · co · pe · au · nz · eg · ma · et · ng · ke · za · ca

See /country/ hub or /api/v1/countries.json for the authoritative list with counts.

See docs/country-canon-guide.md for the authoring workflow, sourcing requirements, and confidence calibration.

Contributing

See CONTRIBUTING.md for full details.

Development

bash
pip install -e ".[dev]"
python -m generator.pipeline          # Full pipelinepython -m generator.build_site        # Build static sitepython -m generator.validate          # Validate data + sitepython -m pytest tests/ -v            # Run testsruff check generator/ tests/          # Lintpython benchmarks/run_benchmark.py    # Run benchmarks

SEO 점검 가이드 (모든 페이지 공통)

아래 명령은 템플릿에 핵심 SEO 신호가 있는지 빠르게 점검합니다.

bash
python - <<'PY'from pathlib import Pathfiles=[  'generator/templates/index.html',  'generator/templates/domain.html',  'generator/templates/error_summary.html',  'generator/templates/page.html',  'generator/templates/search.html',  'generator/templates/dashboard.html',]required=[  '<title',  'meta name="description"',  'meta name="robots"',  'link rel="canonical"',  'meta property="og:title"',  'meta name="twitter:card"',]for f in files:    txt=Path(f).read_text()    missing=[r for r in required if r not in txt]    print(f'✅ {f}' if not missing else f'❌ {f} missing: {", ".join(missing)}')PY

실제 빌드 결과물까지 확인하려면:

bash
python -m generator.build_sitepython -m http.server -d public 8080

그 후 브라우저에서 아래를 점검:

  • view-source:http://localhost:8080/search/
  • view-source:http://localhost:8080/dashboard/
  • canonical / og / twitter / JSON-LD 유효성

Changelog

v0.10.0 - Country coverage expansion

  • 250+ country canons across 52 countries (up from 56 across 20): emergency numbers for nearly every supported country, modern visa gateways (ETA/eVisitor, NZeTA, e-visas, digital arrival cards), medication-import rules, tap-water safety, left-hand-traffic safety, and banking access - all primary-sourced and human-reviewed
  • By-destination cross-linking: country summary pages now link to other dead ends for the same country across domains (a "More dead ends in {country}" section), strengthening topical internal linking
  • SEO: sitemap <priority> weighted by page strength (country/high-evidence pages ranked higher); JSON-LD omits empty dates
  • Style: em-dash removed site-wide in favor of the hyphen

v0.9.0 - Country pivot

  • New axis: country-scoped real-world dead ends alongside code errors
  • 56+ country canons across 20+ countries - visa, banking, legal red lines, cultural taboos, food safety, emergency numbers, driving norms
  • 3 new domains: visa, banking, emergency (plus extended use of existing legal, culture, medical, communication, food-safety, safety domains with country env segment)
  • Per-country landing pages at /country/{cc}/ (e.g. /country/jp/)
  • generator.country_canon_template helper for authoring new country canons with validated env-segment + audience + jurisdiction metadata
  • docs/country-canon-guide.md: sourcing standards (primary > embassy

    reputable media), confidence calibration, slug/regex conventions

  • Schema unchanged (backward-compatible enum extensions); existing 2,089 code canons preserved

v0.8.0

  • Benchmark suite: 20 error scenarios, Precision@1=90%, MRR=0.935
  • Data quality dashboard at /dashboard/ - transparent metrics
  • Outcome feedback loop: report_outcome → aggregated stats → fix_success_rate updates
  • Usage analytics: anonymous tool usage tracking (domain/match only, no PII)
  • Community contribution: GitHub Issue templates for new errors and workaround reports
  • TF-IDF search: improved relevance with smoothed IDF scoring
  • Error transition graph: materialized graph with 4,330+ edges, hub node analysis
  • 9 MCP tools (added report_outcome)

v0.7.0

  • Expanded to 2089 error entries across 51 domains (from 1028/20)
  • Added 23 new domains
  • Fixed 73 regex patterns that didn't match their own signatures

v0.5.0

  • page_url field added to index.json, errors.ndjson, and all SDK/MCP responses
  • SEO fixes for canonical summary URLs

v0.4.0

  • Initial public release with 1028 error entries across 20 domains

License

MIT (code) · CC BY 4.0 (data)

Ops Docs

來源:README.md,提交 9223b7f

工具

0
SourceWeft 尚未讀取此伺服器的工具。

版本歷史

1
  1. v0.9.0最新Sep 16, 2026

評分

已滿足適用檢查項的 85%

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

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Deadends 整合