关于 Maigret MCP Server
mcp-maigret 是一个 MCP 服务,让 AI Agent 通过 Docker 运行 maigret,按用户名或资料 URL 查找公开信息并保存报告。适合授权的 OSINT 研究人员,并强调输入校验和不经过 shell 执行。
主要功能
- 01按用户名搜索多个网站
- 02按标签筛选检查的网站
- 03解析资料 URL 并查找关联用户名
- 04支持多种报告格式并保存到指定目录
- 05输入校验并使用 execFile 调用 Docker
适用场景
- 01在授权的 OSINT 调查中查找某个用户名的注册站点
- 02分析资料 URL 并提取可关联的用户名
- 03将检查结果保存为 HTML 或 JSON 报告用于归档
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 search_username 和 parse_url 两个工具,并返回报告路径或 maigret 的输出文本。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
快速入门 · 工具 · 格式 · 安全性 · 故障排除 · 文档
mcp-maigret 是一个 MCP 服务,可让 AI Agent 运行 maigret,这是一款 OSINT 工具,可在数千个网站上检查用户名。你可以让 Agent 查找某个用户名注册了哪些网站,或分析一个个人资料 URL,然后获取保存好的报告。Maigret 在 Docker 中运行,因此除了 Docker 和 Node,无需安装其他内容。
警告
请仅将此工具用于合法且经授权的 OSINT 研究,并仅限于公开信息。请遵守法律和各网站的服务条款,尊重他人隐私。部分网站会限制访问频率或屏蔽自动查询。
亮点
- 用户名搜索:可搜索数百至数千个网站,并按标签筛选(
photo、dating、us等)。 - URL 分析。 输入个人资料 URL,maigret 会提取可获取的信息,并查找关联的用户名。
- 六种报告格式(
txt、html、csv、json、xmind、pdf),保存到你选择的目录中。请参阅当前可用的格式。 - 强化输入安全。 严格验证,并使用带参数数组的
execFile。完全不涉及 shell。请参阅安全性。 - 基于 Docker。 首次使用时会拉取 maigret 镜像,因此每台机器运行的都是相同版本的 maigret。
工作原理
flowchart LR
A["AI agent<br/>(Claude Desktop, Claude Code, any MCP client)"] -->|"MCP over stdio"| S["mcp-maigret"]
S -->|"validate input,<br/>execFile docker run"| D["soxoj/maigret<br/>(Docker)"]
D -->|"checks sites"| W(("Public<br/>websites"))
D -->|"writes report"| R[("MAIGRET_REPORTS_DIR")]
S -->|"report path + scan output"| A
快速入门
**要求:**Node.js 18 或更高版本,并已安装且运行 Docker。本项目在 macOS 上开发和测试。Linux 和 Windows(Docker Desktop)应该也能运行,但未经测试。
**1. 选择报告目录。**服务会将报告保存在此处。如果目录不存在,则会自动创建。此变量为必填项。
export MAIGRET_REPORTS_DIR="$HOME/maigret-reports"
2. 将服务添加到客户端。
Claude Code
claude mcp add maigret -e MAIGRET_REPORTS_DIR="$HOME/maigret-reports" -- npx -y mcp-maigret
Claude Desktop
编辑配置文件(macOS:~/Library/Application Support/Claude/claude_desktop_config.json,Windows:%APPDATA%\Claude\claude_desktop_config.json),然后重启 Claude Desktop:
{
"mcpServers": {
"maigret": {
"command": "npx",
"args": ["-y", "mcp-maigret"],
"env": { "MAIGRET_REPORTS_DIR": "/absolute/path/to/maigret-reports" }
}
}
}
Smithery
npx -y @smithery/cli install mcp-maigret --client claude
从源代码构建
git clone https://github.com/w0h1v/mcp-maigret && cd mcp-maigret
npm install && npm run build
然后将客户端指向 node /absolute/path/to/mcp-maigret/build/index.js,并设置相同的 MAIGRET_REPORTS_DIR 变量。
**3. 试用。**让 Agent 执行:“使用 maigret 检查用户名 octocat 注册了哪些网站,并按 coding 标签筛选。”
首次搜索时会拉取 maigret 镜像(约 800 MB),因此需要更长时间。
工具
search_username
跨社交网络和网站搜索用户名。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
username | string,必填 | 只能包含字母、数字、_、- 和 .,最多 100 个字符 | |
format | enum | txt | txt、html、csv、json、xmind 或 pdf(参见输出格式) |
use_all_sites | boolean | false | 检查 maigret 数据库中的所有网站,而不是排名前 500 的网站 |
tags | string[] | 无 | 仅检查带有这些标签的网站。只能包含字母、数字、_ 和 - |
{ "username": "octocat", "format": "html", "tags": ["coding"] }
结果包含已保存报告的路径和 maigret 的控制台输出。如果未生成报告文件,结果会说明这一点,而不会报告成功。
parse_url
解析 URL,提取信息并搜索相关用户名。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
url | string,必填 | 不含 shell 元字符的 http 或 https URL | |
format | enum | txt | 选项同上 |
{ "url": "https://github.com/octocat" }
结果将以 maigret 扫描输出文本的形式返回。
输出格式
报告写入 MAIGRET_REPORTS_DIR。Maigret 会选择文件名,并在某些格式的文件名中添加后缀。Maigret 找到相关用户名时,也可以在主报告旁写入额外报告(例如 report_octocatsup.txt)。
| 格式 | search_username 写入的文件 | 状态 |
|---|---|---|
txt | report_<username>.txt | 可用。默认格式。 |
csv | report_<username>.csv | 可用 |
json | report_<username>_simple.json | 可用 |
html | report_<username>_plain.html | 可用 |
xmind | report_<username>.xmind | 可用 |
pdf | report_<username>.pdf | 官方镜像中不可用。Maigret 需要可选的 pdf 扩展,但 soxoj/maigret 不包含它。工具会报告未生成文件。 |
这些状态是根据 maigret 0.6.6(镜像 soxoj/maigret:latest,2026 年 10 月)检查的。Maigret 的命令行会随版本变化,因此这些状态可能会有所不同。
安全
用户名、URL 和标签来自 AI Agent,均视为不可信输入。
- 验证。 用户名只允许使用
[A-Za-z0-9_.-](最多 100 个字符)。标签只允许使用[A-Za-z0-9_-](最多 50 个字符)。URL 必须能解析为http或https,且不得包含 shell 元字符。 - 不使用 shell。 Docker 使用
execFile和参数数组启动,绝不会拼接命令字符串。 - 写入范围受限。 报告由容器写入你挂载的单个目录。服务不会在其他位置读取或写入文件。
以下情况不在此保障范围内:服务会代表你的 Agent 在本机运行 Docker,并从你的 IP 地址向许多第三方网站发起网络请求。仅对你信任的 Agent 和客户端运行此服务。
发现漏洞?请私下报告。参见 SECURITY.md。
故障排除
| 消息 | 修复方法 |
|---|---|
Docker is not installed or not running | 安装 Docker 并启动守护进程。使用 docker --version 和 docker ps 检查。在 Linux 上,将自己添加到 docker 组:sudo usermod -aG docker $USER。 |
MAIGRET_REPORTS_DIR environment variable must be set | 将该变量添加到客户端的 env 块中,然后重启客户端。 |
Error creating reports directory | 检查路径以及你的用户是否有写入权限。使用不带末尾斜杠的绝对路径。 |
Invalid username / Invalid tag / Invalid URL | 输入未通过验证。仅使用 工具 中列出的字符。 |
No report file was produced ... | 镜像中没有所选格式(参见格式)。请尝试 txt、json 或 html。 |
Error executing maigret | 阅读消息中包含的 Docker 输出。通常是网络问题或 maigret 选项发生了变化。 |
| 搜索似乎很慢 | 首次运行时会拉取镜像。使用 tags 缩小搜索范围,除非有需要,否则避免使用 use_all_sites。 |
更多内容请参阅文档。
贡献
欢迎贡献。请从 CONTRIBUTING.md 开始。
- 更新日志
- 问题与帮助:支持
- 安全报告:SECURITY.md(通过私密公告提交,切勿发布为公开议题)
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。