Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
MCP server exposing the MITRE ATT&CK framework via the official MCP Python SDK.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"mitre": {
"command": "uvx",
"args": [
"mitre-mcp"
]
}
}
}在终端中运行这条命令
claude mcp add mitre -- uvx mitre-mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"mitre": {
"command": "uvx",
"args": [
"mitre-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"mitre": {
"type": "stdio",
"command": "uvx",
"args": [
"mitre-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
发布者(luongnv89)不是仓库所有者(Montimage);可能是其他人代为上架的
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 0 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.3.1)于12个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Spec Driven Development, Remote Desktop Commander, SwarmMemo
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Production-ready Model Context Protocol (MCP) server that exposes the MITRE ATT&CK® framework to LLMs, AI assistants, and automation workflows. Built with the official MCP Python SDK and mitreattack-python library for secure, high-performance access to adversary tactics, techniques, groups, software, and mitigations.
Available in the [MCP Registry](https://registry.modelcontextprotocol.io) (search for io.github.luongnv89/mitre-mcp).
| Tool Name | Description |
|---|---|
get_techniques | List all techniques with filtering options |
get_technique_by_id | Look up specific technique by ID (e.g., T1055) |
get_techniques_by_tactic | Get techniques for a specific tactic (e.g., persistence) |
get_tactics | List all tactical categories |
get_groups | List all threat actor groups |
get_techniques_used_by_group | Get techniques used by a specific group (e.g., APT29) |
get_software | List malware and tools with filtering |
get_mitigations | List all security mitigations |
get_techniques_mitigated_by_mitigation | Get techniques addressed by a specific mitigation |
All list and relationship tools accept limit/offset paging parameters (default page size 20, maximum 200 — see MITRE_DEFAULT_PAGE_SIZE and MITRE_MAX_PAGE_SIZE in CONTRIBUTING.md) and return a pagination block (total, offset, limit, has_more).
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate.bat
pip install mitre-mcp
mitre-mcp --help
Start the server:
mitre-mcp --http
Expected output:
2025-11-17 22:40:10,991 - mitre_mcp.mitre_mcp_server - INFO - Starting MITRE ATT&CK MCP Server (HTTP mode on localhost:8000)
====================================================================== MITRE ATT&CK MCP Server is ready (Streamable HTTP mode) Server URL: http://localhost:8000 MCP Endpoint: http://localhost:8000/mcp
Add this to your MCP client configuration: { "mcpServers": { "mitreattack": { "url": "http://localhost:8000/mcp" } } } ======================================================================
Configure your MCP client:
Add this JSON to your client's configuration file:
{
"mcpServers": { "mitreattack": { "url": "http://localhost:8000/mcp" } } }
Configuration file locations:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonCustom host and port:
mitre-mcp --http --host 0.0.0.0 --port 8080
Then use http://your-server-ip:8080/mcp in your client configuration.
Security — a non-loopback bind is unauthenticated by default.
Binding
--host 0.0.0.0(or any non-loopback address) exposes the MCP
endpoint to the whole network: the data is public, but the endpoint is
an open CPU and memory amplifier. Either set
MITRE_HTTP_AUTH_TOKEN
so every request must carry
Authorization: Bearer:
`bash
MITRE_HTTP_AUTH_TOKEN=$(openssl rand -hex 32) mitre-mcp --http --host 0.0.0.0 --port 8080
`
or place an authenticating reverse proxy in front of a loopback-only
server — nginx example (TLS + basic auth →
127.0.0.1:8000):
`nginx
server {
listen 443 ssl;
server_name mcp.example.com;
ssl_certificate /etc/nginx/certs/mcp.example.com.pem;
ssl_certificate_key /etc/nginx/certs/mcp.example.com.key;
location / {
auth_basic "mitre-mcp";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
}
}
`
The server logs a warning at startup whenever it binds a non-loopback
host without
MITRE_HTTP_AUTH_TOKENset.
Why HTTP mode?
For local-only clients that require stdio transport:
mitre-mcp
Client configuration:
{
"mcpServers": { "mitreattack": { "command": "/absolute/path/to/.venv/bin/python", "args": ["-m", "mitre_mcp.mitre_mcp_server"] } } }
Note: Use absolute paths. HTTP mode is recommended for most use cases.
Force a fresh download of MITRE ATT&CK data:
mitre-mcp --http --force-download
VSCode Configuration:
Tool Invocation:
Results:
A React chat UI lives in frontend/. A hosted copy is at https://montimage.github.io/mitre-mcp/. That public HTTPS page can call cloud LLM providers (Gemini, OpenRouter). It cannot reach anything on this machine — mitre-mcp on localhost:8000, Ollama, LM Studio, or any other loopback endpoint. The browser blocks public sites from the loopback address space (net::ERR_SSL_PROTOCOL_ERROR if it upgrades the MCP URL to https://localhost:8000/mcp, CORS / private-network errors for http://localhost:…/v1/models).
Use the local UI whenever the MCP server or the LLM runs on your computer.
Two terminals, from a clone of this repository.
1. Install and start the MCP server (Python >= 3.11):
uv sync --locked --extra dev
source .venv/bin/activate mitre-mcp --http
Wait for MCP Endpoint: http://localhost:8000/mcp. The first start downloads ATT&CK data into ~/.cache/mitre-mcp.
2. Start the chat UI (Node 24):
cd frontend
npm ci npm run dev
Open http://localhost:5173/ — not the GitHub Pages URL.
3. Settings (gear in the chat header):
| Setting | Local value |
|---|---|
| MCP host / port | localhost / 8000 (dev proxies /mcp to the server) |
| LLM provider | Ollama, Gemini, OpenRouter, or OpenAI-compatible |
For a local OpenAI-compatible server (LM Studio, llama.cpp, vLLM, …):
http://localhost: /v1 (example: http://localhost:20128/v1)/v1/modelsThe endpoint must allow CORS from http://localhost:5173. If Ollama is not running, do not leave Ollama selected — the default probe hits localhost:11434 and Vite logs http proxy error: /api/tags.
For more details, see frontend/README.md.
We provide three comprehensive guides tailored to different use cases:
[Beginner-Playbook.md](Beginner-Playbook.md) - For those new to MITRE ATT&CK or cybersecurity
Ideal for:
[Playbook.md](Playbook.md) - For security professionals using MCP clients
Ideal for:
Includes 10 ready-to-use scenarios:
[API-INTEGRATION.md](API-INTEGRATION.md) - Fo
只显示了开头部分;其余内容请在仓库中阅读