Tengu MCP Server — Claude Copilot for AI-assisted Pentesting

使用说明(Markdown 格式):

  • 项目简介 Tengu 是一个基于 MCP 的服务器端实现,面向将 Claude 等大语言模型作为协同智能体的端到端渗透测试工作流。服务器负责托管与管理资源、注册与执行工具、定义和渲染提示模板,并通过 JSON-RPC 提供一致的上下文服务、数据访问与工具调用能力。它支持多种传输协议,确保与 LLM 客户端的安全、可扩展交互。

  • 主要功能点

    • 资源管理:提供可读的静态资源,如安全框架、PTES 阶段信息、检查清单等,供 LLM 在对话中引用。
    • 工具注册与执行:维护工具目录,并通过 MCP 协议接受来自客户端的工具调用请求,执行外部安全工具链,并返回结构化结果。
    • Prompt 模板渲染:提供按阶段和场景定制的 Prompt 模板,帮助 LLM 进行上下文感知的推理与决策。
    • 安全与审计:内置输入校验、目标白名单、速率限制与审计日志,确保人机协作的安全性与可追踪性。
    • 多传输支持:设计上支持 Stdio、SSE、WebSocket 等传输形式,灵活接入不同客户端。
  • 安装与部署

    • 使用 Docker 构建与启动:参考 README 中的快速启动指令,构建镜像并以容器方式启动 MCP 服务。
    • 本地安装方式(无需 Docker):按照 README 的 Manual Install 指引,安装依赖并在本地运行 MCP 服务器进程。
    • 高级配置:通过 tengu.toml、docker/tengu.toml 与 .env 进行目标允许列表、传输设置、工具路径等自定义配置。
  • MCP 服务器配置(客户端配置示例说明,非代码片段) 客户端在建立与 MCP 服务器的连接时,需要提供对等端的启动信息(服务器端配置由 MCP 客户端读取以建立连接,以下描述用于理解客户端应如何连接服务器)。请以 JSON 形式提供以下字段: { "server_name": "tengu-mcp-server", "command": "uv", "args": ["run", "tengu"], "transport": "stdio", "working_directory": "/path/to/tengu", "environment": { // 可选:环境变量 } // 备注:本字段用于说明与 MCP 服务器的连接方式,此处为客户端示例信息,实际启动由服务器端实现与部署时决定 } 注释:上述配置中的 server_name 代表 MCP 服务器的逻辑名称,command 与 args 指定启动服务器进程的命令及参数,transport 指定通信传输协议,working_directory 为服务器工作目录。MCP 客户端不会需要代码,只需在客户端侧了解连接信息并将其用于初始化连接流程。

  • 基本使用方法

    1. 启动服务器:按照快速启动或手动安装的方式部署 Tengu 的 MCP 服务,确保服务器进程可访问。<br>
    2. 连接客户端:在 Claude(或其他 MCP 客户端)配置中使用服务器的启动参数与传输协议,将 MCP 服务接入对话流,进行资源读取、工具调用与 Prompt 获取。<br>
    3. 运行工作流:通过 MCP 客户端发起 JSON-RPC 风格的请求,例如读取资源、调用工具、获取 Prompt,服务器按 MCP 约定返回结构化的 JSON-RPC 响应或通知。<br>
    4. 安全与审计:在运行过程中,服务器会执行输入 sanitization、目标 allowlist 与审计日志记录,确保对目标的操作可审计、可控。

服务器信息