GitHub
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
Description from the maker (original English)
Explore MITRE CWE weaknesses, CAPEC attack patterns, mitigations, code examples, and mappings.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
MCP_LOG_LEVEL, CWE_CACHE_DIRYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://mitre-cwe.caseyjhand.com/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"mitre-cwe": {
"command": "npx",
"args": [
"-y",
"@cyanheads/mitre-cwe-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "your-value",
"CWE_CACHE_DIR": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http mitre-cwe https://mitre-cwe.caseyjhand.com/mcpclaude mcp add mitre-cwe --env MCP_LOG_LEVEL=your-value --env CWE_CACHE_DIR=your-value -- npx -y @cyanheads/mitre-cwe-mcp-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"mitre-cwe": {
"url": "https://mitre-cwe.caseyjhand.com/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"mitre-cwe": {
"command": "npx",
"args": [
"-y",
"@cyanheads/mitre-cwe-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "your-value",
"CWE_CACHE_DIR": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"mitre-cwe": {
"type": "http",
"url": "https://mitre-cwe.caseyjhand.com/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"mitre-cwe": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/mitre-cwe-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "your-value",
"CWE_CACHE_DIR": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://mitre-cwe.caseyjhand.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
MCP_LOG_LEVEL envCWE_CACHE_DIR envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.
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
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account cyanheads, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 57 ms (HTTP 200)
No sign-in needed
Read 7 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 8 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: GitHub, Desktop Commander, Cloudflare MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
@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-recOnly the beginning is shown; read the rest in the repo