mcpField
M
Maigret MCP Server

Maigret MCP Server

本地服务
github.com/BurtTheCoder安全2673 周前更新

关于 Maigret MCP Server

mcp-maigret 是一个 MCP 服务,让 AI Agent 通过 Docker 运行 maigret,按用户名或资料 URL 查找公开信息并保存报告。适合授权的 OSINT 研究人员,并强调输入校验和不经过 shell 执行。

主要功能

  1. 01按用户名搜索多个网站
  2. 02按标签筛选检查的网站
  3. 03解析资料 URL 并查找关联用户名
  4. 04支持多种报告格式并保存到指定目录
  5. 05输入校验并使用 execFile 调用 Docker

适用场景

  1. 01在授权的 OSINT 调查中查找某个用户名的注册站点
  2. 02分析资料 URL 并提取可关联的用户名
  3. 03将检查结果保存为 HTML 或 JSON 报告用于归档

MCP 相关

该项目是 MCP 服务,向 MCP 客户端暴露 search_username 和 parse_url 两个工具,并返回报告路径或 maigret 的输出文本。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"maigret": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

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

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-maigret:面向 AI Agent 的 OSINT 用户名搜索

npm 版本 CI 许可证:MIT Node 18 或更高版本 MCP 服务 Smithery

快速入门 · 工具 · 格式 · 安全性 · 故障排除 · 文档

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

跨社交网络和网站搜索用户名。

参数类型默认值描述
usernamestring,必填只能包含字母、数字、_、- 和 .,最多 100 个字符
formatenumtxttxt、html、csv、json、xmind 或 pdf(参见输出格式)
use_all_sitesbooleanfalse检查 maigret 数据库中的所有网站,而不是排名前 500 的网站
tagsstring[]无仅检查带有这些标签的网站。只能包含字母、数字、_ 和 -
{ "username": "octocat", "format": "html", "tags": ["coding"] }

结果包含已保存报告的路径和 maigret 的控制台输出。如果未生成报告文件,结果会说明这一点,而不会报告成功。

parse_url

解析 URL,提取信息并搜索相关用户名。

参数类型默认值描述
urlstring,必填不含 shell 元字符的 http 或 https URL
formatenumtxt选项同上
{ "url": "https://github.com/octocat" }

结果将以 maigret 扫描输出文本的形式返回。

输出格式

报告写入 MAIGRET_REPORTS_DIR。Maigret 会选择文件名,并在某些格式的文件名中添加后缀。Maigret 找到相关用户名时,也可以在主报告旁写入额外报告(例如 report_octocatsup.txt)。

格式search_username 写入的文件状态
txtreport_<username>.txt可用。默认格式。
csvreport_<username>.csv可用
jsonreport_<username>_simple.json可用
htmlreport_<username>_plain.html可用
xmindreport_<username>.xmind可用
pdfreport_<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 开始。

mcp-maigret MCP server

许可证

MIT。这是独立项目,与 maigret 项目没有关联。Maigret 由 soxoj 开发,并拥有自己的许可证。

评论

支持 Markdown

第一次接触 MCP?

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

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