关于 OSINT Toolbox
OSINT Toolbox 是本地 MCP 服务,可让 AI Agent 调用常见 OSINT 工具和内置的公开数据查询。它适用于调查用户名、域名、邮箱、电话号码及本地文件元数据,查询不经云服务中转。
主要功能
- 01搜索用户名和邮箱关联的账户
- 02调查域名、DNS 与证书信息
- 03调用集成的 OSINT 工具扫描
- 04检查本地文件的元数据
- 05查看工具安装情况与运行状态
适用场景
- 01查找用户名或邮箱关联的公开账户
- 02梳理域名的子域名与 DNS 记录
- 03查询电话号码关联的公开信息
- 04从本地照片提取位置与相机信息
MCP 相关
向 MCP 客户端提供已安装的 OSINT 工具,以及内置的 WHOIS、DNS、证书透明度和 Wayback 查询工具。工具在本地运行并直接查询公开来源;仅提供已安装的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx osint-toolbox-mcpOSINT_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+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
5收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | 是 | 域名(example.com)、IP 地址、CIDR 网络或 AS 编号(AS13335) |
详细介绍
osint-toolbox-mcp
一个 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_search | Google 账户电子邮件地址或 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_snapshots | URL 或域名 | 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 | ||
| VS Code | ||
| VS Code Insiders | ||
| 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 |
| Cline | MCP Servers → Configure → cline_mcp_settings.json |
| Roo Code | 项目中的 .roo/mcp.json,或全局 MCP 设置 |
| Gemini CLI | ~/.gemini/settings.json |
| Antigravity | Agent 面板“…” → MCP Servers → Manage MCP Servers → View raw config |
| LM Studio | Program 标签页 → 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 工具查询相同信息。
手动安装
| 工具 | 安装方式 | 测试版本 |
|---|---|---|
| Sherlock | uv tool install sherlock-project | 0.16 |
| Holehe | uv tool install holehe | 1.61 |
| Maigret | uv tool install maigret | 0.6 |
| GHunt | uv tool install ghunt,然后运行 ghunt login | 2.3.4 |
| theHarvester | uv tool install git+https://github.com/laramies/[email protected],或使用最新的发行标签 | 4.11.1 |
| dnstwist | uv tool install dnstwist --with dnspython --with tld --with idna | 20250130 |
| dnsrecon | uv tool install git+https://github.com/darkoperator/[email protected],或使用最新的发行标签 | 1.6.3 |
| subfinder | 从其发行版下载二进制文件,并将其加入 PATH | 2.16.0 |
| PhoneInfoga | 从其发行版下载二进制文件,并将其加入 PATH | 2.11.0 |
| ExifTool | exiftool.org、brew install exiftool 或 apt install libimage-exiftool-perl | 13.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_DIR | SpiderFoot 或 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 loginGHunt 的监听模式(选项 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)起步。
支持
如果本项目对你有帮助,可以使用加密货币支持它:捐赠地址。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。