Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Explore MITRE CWE weaknesses, CAPEC attack patterns, mitigations, code examples, and mappings.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
MCP_LOG_LEVEL, CWE_CACHE_DIRต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://mitre-cwe.caseyjhand.com/mcpเปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"mitre-cwe": {
"command": "npx",
"args": [
"-y",
"@cyanheads/mitre-cwe-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ",
"CWE_CACHE_DIR": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http mitre-cwe https://mitre-cwe.caseyjhand.com/mcpclaude mcp add mitre-cwe --env MCP_LOG_LEVEL='ใส่ค่าของคุณ' --env CWE_CACHE_DIR='ใส่ค่าของคุณ' -- npx -y @cyanheads/mitre-cwe-mcp-serverเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"mitre-cwe": {
"url": "https://mitre-cwe.caseyjhand.com/mcp"
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"mitre-cwe": {
"command": "npx",
"args": [
"-y",
"@cyanheads/mitre-cwe-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ",
"CWE_CACHE_DIR": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"mitre-cwe": {
"type": "http",
"url": "https://mitre-cwe.caseyjhand.com/mcp"
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"mitre-cwe": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/mitre-cwe-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ",
"CWE_CACHE_DIR": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://mitre-cwe.caseyjhand.com/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
MCP_LOG_LEVEL envCWE_CACHE_DIR envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 7 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน
cwe_list_referenceList loaded CWE/CAPEC vocabulary, every CWE view, workflow guidance, or catalog versions and refresh health. Filter requires every whitespace-separated token in an item label, each at a word start or camelCase hump (script finds JavaScript). Tokens of at least four Unicode letter
cwe_get_weaknessRetrieve CWE weaknesses, categories, or groupings by ID, such as CWE-79, CWE79, or 79. Processes up to 20 distinct IDs within a 24,000-byte response budget and discloses deferred IDs; a view, a CAPEC ID, or an item that is no ID returns in notFound with recovery guidance; only an
cwe_get_attack_patternRetrieve CAPEC attack patterns, categories, and views by ID, such as CAPEC-66, CAPEC66, or 66, including Deprecated and Obsolete records; each entry’s type says which. Processes up to 20 distinct IDs within a 24,000-byte response budget and discloses deferred IDs; a CWE ID or an
cwe_search_weaknessesSearch CWE weaknesses by all text tokens, exact platform or consequence vocabulary, abstraction, status, mapping usage, view membership, a recorded taxonomy mapping (taxonomy name or entry ID such as CERT C ARR30-C), or a CVE that MITRE cites as an observed example. Text tokens m
cwe_search_attack_patternsSearch CAPEC attack patterns by every whitespace-separated text token, recorded CWE or ATT&CK mapping, abstraction, severity, or likelihood. Text tokens match at word starts or camelCase humps; tokens of at least four Unicode letters also match after exactly one un or mis prefix
cwe_get_viewRead a CWE view objective, audience, status, source filter, recorded notes, and direct members in published order. Navigation views list top-level members rather than every descendant; use cwe_get_hierarchy for navigation or cwe_search_weaknesses with viewId for weakness membersh
cwe_get_hierarchyNavigate live CWE parents, children, ancestors, or descendants for a weakness, category, grouping, or view. Discover IDs with cwe_search_weaknesses or cwe_list_reference topic views. The default view is 1000; set viewId all for every view. primaryOnly applies only to ancestors. E
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub cyanheads ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตอบกลับใน 57 ms (HTTP 200)
ไม่ต้องล็อกอิน
อ่านคำอธิบายเครื่องมือ 7 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.0) เข้า registry 8 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, SwarmMemo
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Talk with agent swarms: rooms, private messages and paid tasks for AI agents
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
@cyanheads/mitre-cwe-mcp-server Explore MITRE CWE weaknesses and CAPEC attack patterns, mitigations, code examples, and mappings via MCP. STDIO or Streamable HTTP. 7 Tools
Public Hosted Server: https://mitre-cwe.caseyjhand.com/mcp
MITRE's CWE and CAPEC catalogs connect software and hardware weaknesses with attack mechanics. Search root causes, inspect mitigations and code examples, navigate CWE views and live hierarchies, and follow recorded CWE → CAPEC → ATT&CK mappings.
| Tool | Description |
|---|---|
cwe_list_reference | Discover views, filter vocabulary, workflow guidance, and catalog refresh health |
cwe_get_weakness | Retrieve CWE weaknesses, categories, or groupings with selected sections and complete example pages |
cwe_get_attack_pattern | Retrieve CAPEC attack patterns, categories, and views: prerequisites, execution steps, mitigations, members, and recorded mappings |
cwe_search_weaknesses | Search weaknesses by text, platform, abstraction, consequences, status, mapping usage, view, taxonomy mapping (CERT C ARR30-C), or observed-example CVE |
cwe_search_attack_patterns | Search CAPEC by text, CWE or ATT&CK mapping, abstraction, severity, or likelihood |
cwe_get_view | Read a CWE view's metadata and direct members in published order |
cwe_get_hierarchy | Traverse live CWE parents, children, ancestors, or descendants within a view |
cwe_list_reference tooltopic: views, abstraction_levels, mitigation_phases, platforms, relationship_natures, filter_values, workflow, or versions; optional all-token filter on labels, using the word-start and bounded-prefix rule below (script finds JavaScript)views lists every CWE view with its direct member count, and a filter-defined view's filterDefinitionfilter_values lists weakness statuses, mapping usage, and taxonomy names, consequence impacts, and CAPEC statuses, severity, and likelihoodlimit (default 20, max 100) and pagination.nextCursor; versions adds each loaded catalog's version, date, counts, and refresh errorscwe_get_weakness toolCWE-79, CWE79, cwe 079, CWE_79, or 79); up to 20 distinct items are processed per call and the rest return in deferredIds. A malformed item comes back in notFound without failing the batch; only an item holding a control character other than whitespace, or a non-ID item over 150 characters, rejects the callsections: summary, consequences, mitigations, relations, examples, detection, observed, platforms, mappings, notes (default: the first four); [] returns an outlinesummary includes technical nuance, typed dimensions, recorded alternate terms and roles, ordinalities (Primary, Resultant, Indirect), and background details, platforms adds functional areas and affected resources, and relations names each related weakness. notes returns every note MITRE records for weaknesses, categories, and groupings, such as Relationship, Maintenance, Terminology, and Research Gap notesentries[].kind is full, partial (default sections that did not fit the response budget are listed in outline with their sizes, and notice groups re-calls by their complete response size, keeping example parameters only on the examples group), or outline; notFound[].reason is not_found, wrong_type (a view, which belongs to cwe_get_view, or a prefixed ID of the other catalog), or invalid_id (an item that is no ID, echoed trimmed; NVD-CWE-noinfo and NVD-CWE-Other get their own guidance). Categories and groupings resolve here with distinct record typesexampleLanguage and page with exampleOffset (default 0), exampleLimit (default 3, no fixed cap), and examplePage.nextOffset. With sections omitted, setting any of the three to a non-default value adds examples after the defaults (outlined with its page size and a re-call when it does not fit); explicit sections without examples ignore them, and guidance gives the re-call that adds examples. Each example keeps its ordered prose and code, with code laid out as MITRE's pages show it (4 spaces per indentation level), and lists the references it cites in referencescwe_get_attack_pattern toolCAPEC-66, CAPEC66, capec_066, or 66), Deprecated and Obsolete included; up to 20 distinct items per call, the rest in deferredIdssections: summary, prerequisites, execution, skills, consequences, mitigations, examples, relations, mappings, notes (default: summary, prerequisites, execution, mitigations, and mappings for patterns; summary and relations for categories and views); [] returns an outlineentries[].type is attack_pattern, category, or view, and only patterns carry abstraction. A category or view's relations list its direct members in source order, or for a filter-defined view its source XPath as filterDefinition; its mappings and notes carry the recorded taxonomy mappings, references, and MITRE notesCAPEC-1000 (Mechanisms of Attack) or CAPEC-3000 (Domains of Attack) to browse patterns by categoryentries[].kind and notFound contract as cwe_get_weakness; CAPEC patterns, categories, and views all resolve here, so wrong_type marks only a prefixed CWE ID. Mappings keep the recorded CWE and ATT&CK IDscwe_search_weaknesses toolfilter over the name, MITRE's recorded alternate terms (XSS, ReDoS, UAF), the description, and the extended description, plus exact language, technology, abstraction, consequenceImpact, status, mappingUsage, taxonomyName, taxonomyEntryId, observedCveId, and viewId; no filters browses the catalogfilter token matches at a word start, after _, or at a camelCase hump (dos finds ReDoS). Tokens of at least four Unicode letters also match after exactly one un or mis prefix at a word start (trusted finds untrusted; config finds misconfiguration). Prefixes are never stripped recursively; spelling coincidences remain possible. Other compounds are searched as written: serialization does not find CWE-502, deserialization does. A token ending in a digit never matches before another digit (79 skips RFC 793)mappingUsage, such as Allowed, Allowed-with-Review, or Prohibited, which says whether the entry may be used to map a vulnerabilitytaxonomyName (such as CERT C Secure Coding or ISA/IEC 62443) and taxonomyEntryId (such as ARR30-C or A1, any case) find the weaknesses that record a taxonomy mapping, both holding on one mapping when given together; observedCveId (such as CVE-2021-44228) finds the weaknesses MITRE cites that CVE on as an observed example, not NVD's CVE-to-CWE assignments. Each result then lists every mapping (matchedTaxonomyMappings) or observed example (matchedObservedExamples) that matchedviewId includes same-view membership closure, or for a filter-defined view the weaknesses its source XPath filter selects (CWE-658 C, CWE-702 Implementation, …). Categories and groupings are excluded; every status is included by defaultcwe_get_weakness returns the terms in summary. limit default 20, max 100; continue with pagination.nextCursorcwe_search_attack_patterns toolfilter over the name, recorded alternate terms (MITM), and the description, using the same word-start and bounded-prefix rule as cwe_search_weaknesses, plus cweId, attackTechniqueId, abstraction, severity, and likelihood; CWE mappings match exactly, and a parent ATT&CK technique includes its recorded subtechniquesincludeInactive (default false) adds Deprecated and Obsolete patterns. Ranked by all tokens in the name or in one alternate term, then in the description, then any other match, then numeric ID; cwe_get_attack_pattern returns the terms in summary. limit default 20, max 100; continue with pagination.nextCursorcwe_get_view toolid (from cwe_list_reference topic views); limit default 20, max 100, continued by pagination.nextCursormembers in published order. Navigation views list only top-level members; cwe_get_hierarchy reaches descendantsfilterDefinition is its source XPath, and cwe_search_weaknesses with its viewId returns the weaknesses that filter selects. A filter with a part the server does not evaluate is named as such in guidance, and that search returns none with a noticefound: false carries not_found or wrong_typecwe_get_hierarchy toolid and a direction: parents, children, ancestors, or descendants; viewId defaults to 1000, or all for every view. primaryOnly applies to ancestors only. Parents and children include category, grouping, and view relations and match the first level of the same view's treenodes, parent-to-child edges, found, retrievedAt, and hierarchyFingerprint. Empty relations succeed; upstream failures are errors, and a temporary MITRE refusal (HTTP 403) is retryable after a few minutes. Node names come from the loaded catalog and can lag the live APIhierarchy_timeout, while caller cancellation is nonretryable. Source-recตัดมาแค่ช่วงต้น อ่านต่อใน repo