mcpField
O
OSINT Toolbox

OSINT Toolbox

本地服务
github.com安全36 天前更新

关于 OSINT Toolbox

OSINT Toolbox 是本地 MCP 服务,可让 AI Agent 调用常见 OSINT 工具和内置的公开数据查询。它适用于调查用户名、域名、邮箱、电话号码及本地文件元数据,查询不经云服务中转。

主要功能

  1. 01搜索用户名和邮箱关联的账户
  2. 02调查域名、DNS 与证书信息
  3. 03调用集成的 OSINT 工具扫描
  4. 04检查本地文件的元数据
  5. 05查看工具安装情况与运行状态

适用场景

  1. 01查找用户名或邮箱关联的公开账户
  2. 02梳理域名的子域名与 DNS 记录
  3. 03查询电话号码关联的公开信息
  4. 04从本地照片提取位置与相机信息

MCP 相关

向 MCP 客户端提供已安装的 OSINT 工具,以及内置的 WHOIS、DNS、证书透明度和 Wayback 查询工具。工具在本地运行并直接查询公开来源;仅提供已安装的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"renkagod-osint-toolbox": {
"command": "uvx",
"args": [
"osint-toolbox-mcp"
],
"env": {
"OSINT_SPIDERFOOT_DIR": "<OSINT_SPIDERFOOT_DIR>",
"OSINT_BLACKBIRD_DIR": "<OSINT_BLACKBIRD_DIR>",
"OSINT_EXIFTOOL": "<OSINT_EXIFTOOL>"
}
}
}
}
启动命令uvx osint-toolbox-mcp
需要配置的环境变量
OSINT_SPIDERFOOT_DIRFolder of a SpiderFoot checkout (the one with sf.py)
OSINT_BLACKBIRD_DIRFolder of a Blackbird checkout (the one with blackbird.py)
OSINT_EXIFTOOLPath to exiftool, if it is not on PATH

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiosint-toolbox-mcp1.1.0
ocighcr.io/renkagod/osint-toolbox-mcp:1.1.0

工具

5

收录的工具列表 · 更新于 2 周前

参数类型必填说明
querystring是域名(example.com)、IP 地址、CIDR 网络或 AS 编号(AS13335)

详细介绍

osint-toolbox-mcp

License: MIT CI PyPI Donate

一个 MCP 服务,让 AI Agent 能在你的本机运行经典 OSINT 工具:Sherlock、Maigret、Blackbird、Holehe、GHunt、theHarvester、SpiderFoot、subfinder、dnstwist、dnsrecon、PhoneInfoga 和 ExifTool,此外还内置 WHOIS、DNS、证书透明度和 Wayback Machine 查询。无需 API 密钥,也无需经过云服务:工具在本机运行,直接查询公开来源。

问你的助手“哪些网站有 [email protected] 的账户?”或“你能找到哪些关于 example.com 的信息?”,它就会选择工具、运行并为你读取结果。

功能

工具输入结果依赖
sherlock_username_search用户名400 多个网站上的账户Sherlock
maigret_username_search用户名最多 3000 多个网站上的账户,以及找到的个人资料数据Maigret
blackbird_username_search用户名WhatsMyName 列表中 700 多个网站上的账户Blackbird checkout(不包含在 Docker 镜像中)
holehe_email_search电子邮件地址约 120 个网站中哪些网站有该地址的账户Holehe
ghunt_google_searchGoogle 账户电子邮件地址或 Gaia ID姓名、头像、Maps 评论、日历和其他公开数据GHunt,已登录
theharvester_domain_search域名或公司名称电子邮件地址、子域名、主机、IP 地址theHarvester
spiderfoot_scan域名、IP、电子邮件、电话、用户名、姓名……按类型分组的发现结果SpiderFoot checkout
phoneinfoga_scan电话号码国家/地区、号码格式、运营商(需要 API 密钥)、搜索查询PhoneInfoga
exiftool_metadata本地文件路径GPS 坐标、相机、作者、软件、时间戳ExifTool
subfinder_subdomain_search域名来自被动来源的子域名,以及报告这些子域名的来源subfinder
dnstwist_lookalike_domains域名已注册的相似域名(拼写错误、同形异义字符、其他 TLD)及其 A、MX 和 NS 记录dnstwist
dnsrecon_domain_scan域名DNS 记录、区域传送尝试、DNSSEC 区域遍历dnsrecon
whois_lookup域名、IP 地址、网络或 AS 号码注册商、日期、名称服务器、持有人及公开的联系人信息(RDAP 或 WHOIS)内置
dns_lookup域名或 IP 地址A、AAAA、CNAME、MX、NS、TXT、SOA、CAA 记录,或反向名称内置
crtsh_certificate_search域名为其颁发的 TLS 证书中的主机名和电子邮件地址(crt.sh)内置
wayback_snapshotsURL 或域名Wayback Machine 中的归档快照,按最新时间优先内置
osint_toolbox_status无已安装的工具,以及如何安装缺失的工具内置

只有已安装的工具才会提供给 Agent。运行时间从几秒到半小时不等(完整的 SpiderFoot 扫描);请求会并行运行,也可以取消。

快速开始

任选一种:

  • Docker:一个镜像包含除 Blackbird 之外的所有工具,无需安装其他内容。
  • uvx:一条命令即可在你的计算机上安装工具,无需管理员权限。
Docker

镜像很大,因此请先拉取镜像,再添加服务;否则,首次启动可能会超过客户端的等待时间:

docker pull ghcr.io/renkagod/osint-toolbox-mcp

将服务添加到你的客户端:

{
  "mcpServers": {
    "osint-toolbox": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/renkagod/osint-toolbox-mcp"]
    }
  }
}

ExifTool 文件、GHunt 登录信息、API 密钥和代理的相关说明见 Docker 详情。

uvx

安装 uv,然后安装工具。这会安装所有缺失的工具,并检查每个工具是否可以启动;有关其作用,请参阅安装工具:

uvx osint-toolbox-mcp --install

将服务添加到客户端:

{
  "mcpServers": {
    "osint-toolbox": {
      "command": "uvx",
      "args": ["osint-toolbox-mcp"]
    }
  }
}

若要运行来自 main 的最新代码,而非某个发行版,请使用 uvx --from git+https://github.com/renkagod/osint-toolbox-mcp osint-toolbox-mcp。

连接客户端

一键安装:

客户端Docker(Blackbird 除外)uvx(你的工具)
Cursor添加到 Cursor添加到 Cursor
VS Code在 VS Code 中安装在 VS Code 中安装
VS Code Insiders在 VS Code Insiders 中安装在 VS Code Insiders 中安装
LM Studio添加到 LM Studio添加到 LM Studio

Claude Desktop:从最新发行版下载 osint-toolbox-mcp-<version>.mcpb 并打开。Claude Desktop 会将其安装为扩展,并询问可选的 SpiderFoot、Blackbird 和 ExifTool 路径;其他工具会从 PATH 中查找。你也可以将上面的 JSON 粘贴到 Settings → Developer → Edit Config。

Claude Code:

claude mcp add osint-toolbox -- uvx osint-toolbox-mcp
claude mcp add osint-toolbox -- docker run -i --rm ghcr.io/renkagod/osint-toolbox-mcp

读取上方 mcpServers JSON 的客户端(将其粘贴到文件中):

客户端配置文件位置
Cursor~/.cursor/mcp.json,或项目中的 .cursor/mcp.json
Windsurf~/.codeium/windsurf/mcp_config.json
ClineMCP Servers → Configure → cline_mcp_settings.json
Roo Code项目中的 .roo/mcp.json,或全局 MCP 设置
Gemini CLI~/.gemini/settings.json
AntigravityAgent 面板“…” → MCP Servers → Manage MCP Servers → View raw config
LM StudioProgram 标签页 → Install → Edit mcp.json
Kiro~/.kiro/settings/mcp.json,或项目中的 .kiro/settings/mcp.json

使用自有格式的客户端(此处展示 uvx 配置;对于 Docker,请使用 docker 和参数 run -i --rm ghcr.io/renkagod/osint-toolbox-mcp):

VS Code ``` code --add-mcp '{"name":"osint-toolbox","command":"uvx","args":["osint-toolbox-mcp"]}' ```

或者在 .vscode/mcp.json 中:

{
  "servers": {
    "osint-toolbox": {
      "type": "stdio",
      "command": "uvx",
      "args": ["osint-toolbox-mcp"]
    }
  }
}
Codex CLI
codex mcp add osint-toolbox -- uvx osint-toolbox-mcp

或者在 ~/.codex/config.toml 中,为耗时较长的扫描设置更长的超时时间:

[mcp_servers.osint-toolbox]
command = "uvx"
args = ["osint-toolbox-mcp"]
tool_timeout_sec = 1800
Zed

在 settings.json 中:

{
  "context_servers": {
    "osint-toolbox": {
      "command": "uvx",
      "args": ["osint-toolbox-mcp"],
      "env": {}
    }
  }
}
Goose

在 ~/.config/goose/config.yaml 中:

extensions:
  osint-toolbox:
    name: osint-toolbox
    type: stdio
    cmd: uvx
    args: [osint-toolbox-mcp]
    enabled: true
    timeout: 1800
opencode

在 opencode.json 中:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "osint-toolbox": {
      "type": "local",
      "command": ["uvx", "osint-toolbox-mcp"],
      "enabled": true
    }
  }
}
Continue

在 .continue/mcpServers/osint-toolbox.yaml 中:

name: OSINT Toolbox
version: 1.0.0
schema: v1
mcpServers:
  - name: osint-toolbox
    type: stdio
    command: uvx
    args:
      - osint-toolbox-mcp

安装工具

如果使用 Docker,可以跳过此步骤,除非需要 Blackbird。

uvx osint-toolbox-mcp --install

此命令会安装所有缺失的工具,无需管理员权限,然后检查每个工具能否启动。uvx osint-toolbox-mcp --install sherlock maigret 只会安装指定的工具。它需要 uv 和:

  • 使用 uv tool install 将每个 Python 工具(Sherlock、Holehe、Maigret、GHunt、theHarvester、dnstwist、dnsrecon)安装到独立环境中,并使用 Python 3.12:这些工具的依赖项彼此冲突,且有些工具没有适用于较新 Python 版本的构建版本。theHarvester 和 dnsrecon 来自其最新的 GitHub 发行版;
  • 从 GitHub 下载 SpiderFoot 和 Blackbird,并分别为它们创建虚拟环境;
  • 下载 PhoneInfoga、subfinder 和 ExifTool,并根据其作者发布的校验和进行验证。在 macOS 和 Linux 上,ExifTool 需要 Perl,而这些系统通常已自带 Perl。

检出内容和下载文件会存放在 Windows 的 %LOCALAPPDATA%\osint-toolbox-mcp、macOS 的 ~/Library/Application Support/osint-toolbox-mcp 和 Linux 的 ~/.local/share/osint-toolbox-mcp 中;设置 OSINT_TOOLBOX_HOME 可指定其他文件夹。服务会自动在该位置查找。之后,GHunt 仍需要运行一次 ghunt login。

随时运行 uvx osint-toolbox-mcp --check,即可查看每个工具的状态:ok 表示正常,missing 表示缺失(并显示安装方法),broken 表示已找到但无法启动。Agent 也可以通过 osint_toolbox_status 工具查询相同信息。

手动安装
工具安装方式测试版本
Sherlockuv tool install sherlock-project0.16
Holeheuv tool install holehe1.61
Maigretuv tool install maigret0.6
GHuntuv tool install ghunt,然后运行 ghunt login2.3.4
theHarvesteruv tool install git+https://github.com/laramies/[email protected],或使用最新的发行标签4.11.1
dnstwistuv tool install dnstwist --with dnspython --with tld --with idna20250130
dnsreconuv tool install git+https://github.com/darkoperator/[email protected],或使用最新的发行标签1.6.3
subfinder从其发行版下载二进制文件,并将其加入 PATH2.16.0
PhoneInfoga从其发行版下载二进制文件,并将其加入 PATH2.11.0
ExifToolexiftool.org、brew install exiftool 或 apt install libimage-exiftool-perl13.59
SpiderFoot检出代码库,见下文提交 0f815a2
Blackbird检出代码库,见下文提交 b455050

如果 Python 工具在默认 Python 版本下无法构建,请在 uv tool install 命令中添加 --python 3.12。

SpiderFoot 和 Blackbird 从 Git 代码库检出内容运行。为每个工具分别创建自己的 .venv,服务会自动识别该环境,并告知服务代码库的所在位置:

git clone https://github.com/smicallef/spiderfoot
cd spiderfoot
uv venv --python 3.12
uv pip install -r requirements.txt

然后,在客户端配置的 env 中将 OSINT_SPIDERFOOT_DIR 设置为该文件夹。Blackbird 的设置方式相同,代码库地址为 https://github.com/antoniaci/blackbird,环境变量为 OSINT_BLACKBIRD_DIR。SpiderFoot 固定使用 lxml<5,该版本没有适用于 Python 3.13 及更高版本的构建版本;若要使用更新的 Python 版本,请先应用 patches/spiderfoot-requirements.patch。

配置

所有设置均为环境变量,在客户端配置的 env 块中设置:

{
  "mcpServers": {
    "osint-toolbox": {
      "command": "uvx",
      "args": ["osint-toolbox-mcp"],
      "env": {
        "OSINT_SPIDERFOOT_DIR": "/home/me/spiderfoot",
        "OSINT_EXIFTOOL": "/opt/exiftool/exiftool"
      }
    }
  }
}
变量含义
OSINT_SHERLOCK、OSINT_HOLEHE、OSINT_MAIGRET、OSINT_GHUNT、OSINT_THEHARVESTER、OSINT_SUBFINDER、OSINT_DNSTWIST、OSINT_DNSRECON、OSINT_PHONEINFOGA、OSINT_EXIFTOOL工具的完整路径(当它不在 PATH 中时)
OSINT_SPIDERFOOT_DIR、OSINT_BLACKBIRD_DIRSpiderFoot 或 Blackbird 检出目录
OSINT_SPIDERFOOT_PYTHON、OSINT_BLACKBIRD_PYTHON运行检出项目所用的 Python;默认使用其 .venv,然后是 PATH 中的 python
OSINT_TOOLBOX_HOME--install 存放检出项目和下载内容的位置,也是服务查找它们的位置
OSINT_MAX_OUTPUT_CHARS返回给模型的结果最大长度,默认值为 100000;设为 0 表示不限制
HTTP_PROXY、HTTPS_PROXY、ALL_PROXY、NO_PROXY供内置查询和 --install 使用(HTTP 和 SOCKS5 代理),并传递给工具;这些工具可能会也可能不会使用它们

除了 PATH,服务还会在 --install 文件夹,以及 uv tool 和 pipx 的安装目录(默认是 ~/.local/bin)中查找;桌面应用通常不会将这些目录加入 PATH。

Docker 详情

  • Blackbird 不包含在镜像中:其许可证不允许再分发。要使用它,请自行安装。

  • ExifTool:容器只能看到已挂载的文件。将 -v /path/to/files:/data:ro 添加到参数中,并询问 /data/photo.jpg。

  • GHunt:先登录一次并存入命名卷,然后挂载该卷:

    docker run -it --rm --entrypoint ghunt -v osint-toolbox-ghunt:/home/osint/.malfrats ghcr.io/renkagod/osint-toolbox-mcp login
    

    GHunt 的监听模式(选项 1)在容器中无法运行;请选择选项 2(从 GHunt Companion 扩展粘贴),或选项 3(oauth_token,参见 GHunt 的 README)。

  • API 密钥:theHarvester 会读取 /home/osint/.theHarvester/api-keys.yaml(请将你的文件挂载到该路径),PhoneInfoga 会从环境变量读取密钥(-e NAME=value)。

  • 代理:例如,-e HTTPS_PROXY=http://host.docker.internal:8080。

  • 标签:发布版本使用 latest 和 1.0.0 等版本标签,当前 main 使用 edge。适用于 linux/amd64 和 linux/arm64。

完整配置:

{
  "mcpServers": {
    "osint-toolbox": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-v", "/home/me/osint-files:/data:ro",
        "-v", "osint-toolbox-ghunt:/home/osint/.malfrats",
        "ghcr.io/renkagod/osint-toolbox-mcp"
      ]
    }
  }
}

请求示例

  • “哪些网站注册了 [email protected] 这个账号?”
  • “用 Sherlock 和 Maigret 搜索用户名 jdoe_1987,并比较它们的发现。”
  • “example.com 有哪些公开的子域名和电子邮件地址?”
  • “哪些与 example.com 相似的域名已注册?其中是否有邮件服务器?”
  • “example.com 的所有者是谁?何时到期?展示其首页在 2015 年的样子。”
  • “读取 /home/me/photo.jpg 的元数据,并告诉我这张照片的拍摄地点和拍摄设备。”
  • “对 example.com 运行一次被动 SpiderFoot 扫描,并总结发现。”

故障排查

  • 缺少某个工具。 运行 uvx osint-toolbox-mcp --install,或运行 --check 查看找不到工具的原因(对于镜像,运行 docker run --rm ghcr.io/renkagod/osint-toolbox-mcp --check)。安装后,重启客户端以便其列出新工具。桌面应用启动服务时使用的 PATH 往往比终端中的更短;请将工具的 OSINT_* 变量设为其完整路径。
  • 长时间扫描超时。 许多客户端等待工具的时间大约只有一分钟。请在客户端允许的情况下调高超时时间:Claude Code 使用以毫秒为单位的 MCP_TOOL_TIMEOUT,Codex CLI 使用 tool_timeout_sec,Gemini CLI 在服务条目中使用以毫秒为单位的 timeout,Goose 使用以秒为单位的 timeout。否则,请选择更快的运行方式:使用 passive 模式运行 SpiderFoot 扫描,或使用 Maigret 时不加 all_sites。
  • GHunt 运行失败。 它需要有效登录:运行 ghunt login。如果已保存的会话被撤销,ghunt login 本身也会失败;请运行 ghunt login --clean 将其删除,然后运行 ghunt login。
  • 结果为空、出现错误或验证码。 网站会限制请求频率,也会更改页面;请稍后重试、降低请求负载,或使用代理。如果某个工具在服务外部也以相同方式失败,请向该工具所属项目报告。
  • Windows 上的 .bat 或 .cmd 包装脚本。 这类包装脚本的参数会经过 cmd.exe,因此服务会拒绝包含 & 或 | 等字符的输入;请将 OSINT_* 变量指向实际的可执行文件。

负责任地使用

这些工具会收集有关真实个人和组织的信息。仅在具备合法依据和授权的情况下使用它们:例如用于自己的账户、范围明确的安全评估,以及遵守隐私法律(GDPR、CCPA 和当地同类法律)与网站服务条款的研究。请勿利用它们跟踪、骚扰、人肉搜索或以其他方式伤害他人。你需要对运行的操作及结果的使用方式负责。

参与贡献

欢迎提交问题和拉取请求;请参阅 CONTRIBUTING.md。如需私下报告漏洞,请参阅 SECURITY.md。更改记录见更新日志。

致谢

这些工具归其作者所有,并保留各自的许可证:Sherlock、Maigret、Holehe、GHunt、theHarvester、SpiderFoot、Blackbird、PhoneInfoga、ExifTool。该服务会将它们作为独立程序启动;Docker 镜像包含未经修改的这些程序。

本项目基于 frishtik/osint-tools-mcp-server(MIT)起步。

支持

如果本项目对你有帮助,可以使用加密货币支持它:捐赠地址。

许可证

MIT — 版权所有 (c) 2026 renkagod。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。