使用说明(Markdown 格式)
-
项目简介 STRIDE GPT MCP Server 是一个基于 MCP 的威胁建模后端服务器实现,提供完整的 STRIDE 威胁建模框架、若干分析与生成工具,以及可渲染的威胁模型报告。通过 JSON-RPC 向 MCP 客户端暴露工具列表、工具调用以及输出内容,旨在帮助 LLM 客户端进行结构化的威胁建模工作流。
-
主要功能点
- 初始化与能力声明:实现 MCP 的 initialize 请求,返回服务器信息、协议版本与能力。
- 工具注册与调用:提供 tools/list 获取工具清单,tools/call 调用具体工具(如 get_stride_threat_framework、generate_threat_mitigations、calculate_threat_risk_scores 等)。
- 输出内容格式化:工具调用返回的内容通常以文本块承载 JSON 或 Markdown 内容,便于后续渲染。
- 安全与鲁棒性:内置 JSON 复杂度与长度等校验,错误信息就客户端保持模糊化(带错误ID),不暴露内部细节。
- HTTP 服务端实现:附带一个基于 HTTP 请求处理的实现,支持 GET 用于服务器信息展示,POST 用于 MCP 请求处理;并包含简单的错误处理与跨域头部支持。
- 服务器端工具集合:包括获取 STRIDE 框架、生成缓解措施、风险评分、攻击树、测试用例、报告以及仓库分析指南等工具,形成端到端的威胁建模工作流。
-
安装步骤
- 获取代码:从仓库直接获取源码。
- 运行方式:本实现提供服务端和测试用例。实际运行环境可参考官方部署方式(如 Vercel)或本地 Python HTTP 服务进行接入测试。若在本地测试,请通过提供的 HTTP 处理入口直接加载并调用工具接口(详见 handle_mcp_request 的使用)。如需服务器化部署,请参考 README 的部署说明与 hosted server 的使用方式。
- 测试与验证:仓库自带单元测试目录,直接执行测试用例即可验证 MCP 请求处理流程是否符合预期。
-
服务器配置(MCP 客户端配置示例说明) 该服务器对外提供 hosted 服务,MCP 客户端需要知道服务器地址并按 MCP 客户端方式进行连接。以下配置示例来自仓库文档,用于 Claude Desktop/Claude Code 等环境的集成,帮助客户端建立连接:
- server_url: https://mcp.stridegpt.ai/
- 客户端配置(示例): { "mcpServers": { "stride-gpt": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.stridegpt.ai/"], "description": "STRIDE GPT - Professional threat modeling using STRIDE methodology" } // 如需与 GitHub MCP 结合,可按官方 GitHub MCP 服务器示例扩展 } } 说明:
- 该配置用于客户端在启动时将 STRIDE GPT MCP 服务器添加为可用的 MCP 服务。客户端通过指定服务器地址(URL)即可与服务器进行 JSON-RPC 交互,进行 initialize、工具查询、工具调用等操作。
- 客户端无需将服务器代码直接启动在本地,服务器端托管时客户端通过网络访问即可。
- 服务器地址与工具集名称在工具列表中保持一致,工具调用返回的 content 为 JSON/Markdown 字符串,供客户端渲染或进一步分析。
-
基本使用方法
- 第一步:与服务器建立对话,发送 initialize 请求,获取协议版本、服务器信息和能力声明。
- 第二步:查询工具列表(tools/list),了解可用工具及其输入结构。
- 第三步:按工作流通过 tools/call 调用具体工具,获取框架、缓解措施、风险分数、攻击树、测试计划、报告等输出。
- 第四步:根据需要,将 tool 输出的 content 进行解析(JSON 或 Markdown),生成最终威胁模型报告。
- 第五步:如遇到错误,使用返回的错误结构中的 Error ID 与后端日志对齐排错,客户端应显示通用错误信息以避免泄露实现细节。
-
使用建议
- 将 STRIDE 框架与分析输出作为 LLM 的推理上下文,结合业务环境进行威胁归类与优先级排序。
- 结合仓库分析指南等工具,逐步提取系统边界、信任边界、数据流与敏感数据,形成完整的威胁模型。
-
注意事项
- 本实现包含服务器端工具的示例实现与逻辑,若直接部署为服务器,请确保环境可运行 Python HTTP 服务并对外暴露接口。
- 安全性设计尽量保护服务端日志,不将敏感信息暴露给客户端,错误信息采用通用描述并附上错误ID 以便追踪。
信息
分类
AI与计算