关于 mcp-maltego
mcp-maltego 是供 AI Agent 使用的 MCP 服务,可通过 Maltego transforms 和 Machines 开展 OSINT 调查。它保存调查图谱及步骤记录,并支持通过原生 .mtgx 文件与 Maltego Desktop 交换数据。
主要功能
- 01运行内置和自定义 transforms
- 02使用 Machines 串联 transforms
- 03保存调查图谱和来源记录
- 04推荐后续调查步骤
- 05导入和导出原生 .mtgx 文件
- 06生成 Markdown 和 HTML 报告
适用场景
- 01调查域名、基础设施或电子邮件地址
- 02跟踪案件步骤中的实体及关系
- 03在 Maltego Desktop 中继续 Agent 调查
MCP 相关
它向 MCP 客户端提供 OSINT 工具,用于管理案件、实体和关系,运行 transforms 与 Machines,建议后续步骤,以及导入或导出调查图谱。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-maltego
面向 AI Agent 的 Maltego OSINT。
使用 Claude、Gemini、Codex、Copilot、Cursor 或任何 MCP 客户端运行转换和 Machines、构建并分析关系图,并将结果以原生
.mtgx 格式交还给 Maltego。
mcp-maltego 是一款 模型上下文协议 服务,可将 AI Agent 转变为 Maltego 操作员。它可运行真实的转换(内置转换、商业提供商提供的转换,或你自己的 TRX/iTDS 服务),将它们串联成 Machines,通过记忆每一步来维护持久的调查关系图,推荐下一步的扩展方向,并将所有内容导出到 Maltego Desktop。你使用的每个 Agent 都共享同一个关系图。
主要功能
- 20 个工具,适用于各种模型。 扁平 JSON 架构通过 Gemini 严格的函数调用子集验证;使用
action参数对变体进行分组,避免 Agent 被工具淹没。 - 开箱即用的 38 种真实转换。 其中 26 种无需 API 密钥(DNS over HTTPS、RDAP/WHOIS、通过 crt.sh 和 CertSpotter 提供的证书透明度、HackerTarget、urlscan.io、Shodan InternetDB、Team Cymru 和 RIPE Stat ASN/网段、Gravatar、GitHub 个人资料详情、AlienVault OTX 威胁脉冲、多网络个人资料查询、解析);另外 12 种提供商转换会在设置密钥后启用:VirusTotal、Shodan、SecurityTrails、Censys、Hunter.io、Have I Been Pwned、GreyNoise 和 Tatum。
- 也支持 Maltego 转换。 使用 Maltego TRX/iTDS XML 协议,因此 Agent 可以运行你在 Maltego 中使用的相同转换。
- 机器。 DomainRecon、InfrastructureRecon、EmailRecon、CompanyFootprint、PersonalFootprint、PersonaFootprint、URLRecon、ThreatSweep、ASNToNetblocks,以及你用 TOML 编写的自定义机器,支持递归轮次和成本预算。
- HUMINT、泄露路由器和多 Agent 集群。 原生
humint.*实体本体(humint.Alias、humint.Organization、humint.LocationHistory、humint.PsychologicalTrait)、跨平台化名关联、主体行为分析([Hipótesis])、按时间顺序检测异常、加权关系、本地 SQLite + k-Anonymity/XposedOrNot 泄露路由器(BreachSemanticPivot),以及支持乐观锁的多 Agent 案件fork/delegate/merge。 - 调查副驾驶。
osint_investigate通过一次调用完成检测、案件创建、选择合适的机器、评分和建议。每一步都会被记录(做了什么、针对什么、为什么、结果如何);每个实体都有可解释的来源信息和优先级评分;下一步最佳操作会根据每项转换的表现进行学习。 - 原生 Maltego 往返支持。 导出
.mtgx,支持层级、径向或力导向布局,并嵌入调查记忆;导入.mtgx;在 Maltego Desktop 中运行本地转换,以打开案件、扩展邻居并将实体发送回 Agent;导入你完整的 Maltego 实体本体。 - 报告和 CLI。 以 Markdown 或独立 HTML 格式生成执行摘要报告,并提供适用于终端和 CI 的
maltegoctl。 - 默认安全。 OSINT 内容会被视为不可信数据;使用 defusedxml 解析 XML;读取归档文件时会限制范围;Agent 无法提供任意 URL;API 密钥绝不会被记录。
要求
- Node.js 18 或更高版本(用于
npx)。 - uv — 自动管理 Python 3.12 运行时(如果尚未安装
uv,mcp-maltego会在首次运行时自动将其安装到~/.maltego-mcp/bin)。
只需运行一条命令,即可准备运行时、~/.maltego-mcp/.env 模板、Maltego Desktop 桥接 .mtz,以及全局 CLI 启动器(mcp-maltego、maltego-mcp、maltegoctl、maltego-mcp-bridge,位于 ~/.local/bin / %USERPROFILE%\.local\bin,并添加到 PATH):
npx -y mcp-maltego setup
你也可以在任何操作系统 / 发行版(Windows PowerShell/CMD、macOS、Ubuntu/Debian、Kali、Fedora/RHEL、Arch、Alpine)上选择特定的部署模式或客户端目标:
npx -y mcp-maltego setup --mode global # (Default) Global CLI in ~/.local/bin + PATH (run from any directory)
npx -y mcp-maltego setup --mode local # Isolated inside ~/.maltego-mcp without modifying PATH
npx -y mcp-maltego setup --mode http # Prepare + print Streamable HTTP server startup
npx -y mcp-maltego setup --client claude # Print ready-to-use config for a specific client (claude|gemini|codex|copilot|cursor|all)
入门
适用于大多数 MCP 客户端的标准配置:
{
"mcpServers": {
"maltego": {
"command": "npx",
"args": ["-y", "mcp-maltego"]
}
}
}
然后向你的 Agent 提问:
调查 example.com,给我案件摘要并将其导出供 Maltego 使用。
Claude Code
claude mcp add maltego -- npx -y mcp-maltego
Claude Desktop
编辑 claude_desktop_config.json(Settings → Developer → Edit Config),并添加上面的标准配置。
Gemini CLI
将标准配置添加到 ~/.gemini/settings.json(所有项目)或 .gemini/settings.json(单个项目)。
Codex
codex mcp add maltego -- npx -y mcp-maltego
或添加到 ~/.codex/config.toml:
[mcp_servers.maltego]
command = "npx"
args = ["-y", "mcp-maltego"]
GitHub Copilot CLI
将标准配置添加到 ~/.copilot/mcp-config.json,或添加到仓库中的 .mcp.json / .github/mcp.json。
VS Code
.vscode/mcp.json:
{ "servers": { "maltego": { "command": "npx", "args": ["-y", "mcp-maltego"] } } }
Cursor
将标准配置添加到 ~/.cursor/mcp.json 或 .cursor/mcp.json。
OpenCode
opencode.json:
{ "mcp": { "maltego": { "type": "local", "command": ["npx", "-y", "mcp-maltego"], "enabled": true } } }
Qwen Code
将标准配置添加到 ~/.qwen/settings.json 或 .qwen/settings.json。
Orca IDE and other multi-agent setups
克隆此仓库并在 Orca 中打开:仓库附带各个 Agent 读取的项目文件(.mcp.json、
.gemini/settings.json、.codex/config.toml、.cursor/mcp.json、.qwen/settings.json、opencode.json),因此每个
工作树都能使用该服务,无需手动注册。所有 Agent 共用 ~/.maltego-mcp 中的同一张图谱。请参阅
docs/ORCA.md。
远程(Streamable HTTP)
npx -y mcp-maltego --transport http --port 8000 # http://127.0.0.1:8000/mcp
该服务仅绑定到 localhost。目前尚无身份验证,因此请勿将其暴露到网络中。
| 分组 | 工具 | 功能 |
|---|---|---|
| 目录 | osint_list_entity_types | 按类别列出实体本体(标准类型、本地 humint.* 类型,以及从你的 Maltego 导入的类型) |
osint_list_transforms | 转换、Machines、提供方密钥和服务状态 | |
| 案件 | osint_manage_case | 创建、分叉/委派子案件以供多 Agent 集群使用、合并(采用乐观锁)或删除 |
osint_list_cases | 分页列表 | |
osint_get_case_summary | 数量、优先级实体和质量指标 | |
| 实体 | osint_upsert_entity | 创建或合并实体(标准化值、确定性 ID、备注) |
osint_manage_entity | 编辑置信度/备注/属性、设置 .mtgx visual_style、运行 HUMINT analyze_behavior,或删除 | |
osint_get_entity | 详情、评分说明、来源信息、待处理的转换 | |
osint_search_entities | 在某个案件中或跨案件搜索;按优先级排序 | |
| 链接 | osint_link_entities | 链接/取消链接实体、通过 HUMINT analyze 分析角色/情感/权重,或通过 correlate 关联跨平台身份 |
osint_get_neighbors | 显示相关实体及方向和链接类型 | |
osint_find_paths | 查找两个实体之间的路径 | |
| 转换 | osint_run_transform | 对一个实体运行一次转换 |
osint_expand_entity | 运行所有适用的转换(“全部运行”) | |
osint_run_machine | 运行一个 Machine 或临时链,并设置轮数和预算 | |
| 副驾驶 | osint_investigate | 一次调用完成所有操作:检测、案件、Machine、评分、建议、报告 |
osint_suggest_next_steps | 根据转换性能历史,确定性地推荐最佳下一步操作 | |
osint_get_timeline | 调查过程记忆(steps),或主题的时间顺序时间线及异常情况(subject) | |
| 交换 | osint_export_case | 导出为 mtgx(包含布局和记忆)、json、graphml、csv、report_md、report_html |
osint_import_graph | 导入在 Maltego 中保存的 .mtgx(包含其记忆)或 CSV |
entity_type 接受任何 Maltego 类型、自定义的 prefix.Name,或用于根据值自动检测类型的 "auto"。
转换
| 类别 | 转换 | API 密钥 |
|---|---|---|
| DNS(基于 HTTPS 和被动查询) | DNSToIP、DNSToIPv6、DomainToMX、DomainToNS、DomainToTXT、DNSToCNAME、IPToReverseDNS、HackerTargetSubdomains | — |
| WHOIS(RDAP,ARIN 作为后备) | DomainToWhois、IPToWhois | — |
| 网络与暴露面 | IPToAS、IPToNetblock(Team Cymru)、RIPEStatASNToNetblocks、InternetDBIPToServices(端口、CPE、CVE) | — |
| 证书与 Web | DomainToSubdomains(crt.sh,CertSpotter 作为后备)、CertSpotterSubdomains、URLScanDomainSearch | — |
| 身份、社交与 HUMINT | AliasToProfiles(GitHub、GitLab、Hacker News、Keybase、DEV)、GitHubAliasToDetails、GravatarEmailToProfile、EmailToAlias、AnalyzeSubjectBehavior | — |
| 泄露与威胁情报(无需密钥) | BreachSemanticPivot(本地 SQLite + HIBP Pwned Passwords k-匿名性 + XposedOrNot)、OTXHashToThreatPulses | — |
| 解析 | EmailToDomain、URLToDomain、WebsiteToDomain、DomainToWebsite | — |
| VirusTotal | VTDomainToIP、VTIPToDomain、VTDomainToSubdomains、VTHashToDetection | VIRUSTOTAL_API_KEY |
| Shodan | ShodanIPToServices、ShodanDomainToSubdomains | SHODAN_API_KEY |
| SecurityTrails | SecurityTrailsSubdomains | SECURITYTRAILS_API_KEY |
| Censys | CensysIPToServices | CENSYS_API_ID、CENSYS_API_SECRET |
| Hunter.io | HunterDomainToEmails | HUNTER_API_KEY |
| Have I Been Pwned | HIBPEmailToBreaches | HIBP_API_KEY |
| GreyNoise | GreyNoiseIPContext | GREYNOISE_API_KEY |
| Tatum | TatumBTCAddressToTx | TATUM_API_KEY |
通过客户端的配置传递密钥:
{ "mcpServers": { "maltego": { "command": "npx", "args": ["-y", "mcp-maltego"],
"env": { "SHODAN_API_KEY": "...", "VIRUSTOTAL_API_KEY": "..." } } } }
在 ~/.maltego-mcp/transforms.toml 中声明你自己的 Maltego 转换服务(TRX / iTDS);参见
config/transforms.example.toml。自定义 Machines 也放在同一文件中。
Maltego 桌面应用集成
| 方向 | 操作方法 |
|---|---|
| Agent → Maltego | osint_export_case 会写入 .mtgx 文件;用 File → Open 打开 |
| Maltego → Agent | 将文件另存为 .mtgx 到 ~/.maltego-mcp/imports/,然后让 Agent 导入 |
| 在 Maltego 中实时使用 | npx mcp-maltego ctl mtz 会生成本地 transforms(MCP · Abrir caso、MCP · Vecinos en el caso、MCP · Guardar en el caso);通过 Import | Export → Import Config 导入文件 |
| 你的本体 | 从 Maltego 导出配置,然后运行 npx mcp-maltego ctl import-entities config.mtz |
本地 transforms 可在 Maltego CE 和商业版中使用,无需 transform 服务。要使用桥接程序,请全局安装此包(npm i -g mcp-maltego),以确保命令路径保持稳定。详情请见
docs/MALTEGO.md。
配置
| 变量 | 默认值 | 用途 |
|---|---|---|
MALTEGO_MCP_HOME | ~/.maltego-mcp | 共享状态:图、目录、导入、导出、运行时 |
MALTEGO_MCP_TRANSFORMS_FILE | <home>/transforms.toml | transform 服务和 Machines 的目录 |
MALTEGO_MCP_BACKEND | memory | memory(本地 JSON,可安全用于多进程)或 gremlin(Azure Cosmos DB,实验性) |
MCP_MALTEGO_UV | 自动检测 | 如果 uv 不在 PATH 中,则填写其完整路径 |
更多信息请见 docs/USO.md(西班牙语)。
CLI
npx mcp-maltego ctl inspect case.mtgx # validate a .mtgx
npx mcp-maltego ctl lookup DomainToMX gmail.com # quick lookup, nothing saved
npx mcp-maltego ctl transforms --type maltego.Domain
npx mcp-maltego ctl export demo --format report_html
npx mcp-maltego ctl import-entities config.mtz
npx mcp-maltego ctl mtz
示例提示词
- 调查 [email protected],并告诉我接下来值得运行哪些关联查询。
- 对 example.com 运行 DomainRecon,进行两轮查询,实体预算为 200。
- 找出 IP 93.184.216.34 与案例 demo 中的电子邮件之间的所有路径。
- 以放射状布局导出案例 demo 供 Maltego 使用,并为我生成一份 HTML 报告。
- 将我在 Maltego 中保存为 acme.mtgx 的图导入案例 acme,并从那里继续。
面向贡献者和分析师的 AI Agent 与技能
此代码库提供 10 个 Agent 和 15 项技能,均由单一源文件(.agents/)生成,适用于 Claude Code、Gemini CLI、
Qwen Code、GitHub Copilot 和 Codex;技能采用开放的 Agent Skills 格式(Cursor 也能读取):
- 调查 Agent(使用此 MCP):
osint-analyst(带有下一最佳操作循环和记忆功能的 Copilot)、cti-analyst(防御性暴露分析和 IOC 分诊)、ioc-composer(使用 MISP、ATT&CK、TheHive、 Cortex 构建多 MCP IOC 图)、recon-toolchain-integrator(将 theHarvester、amass、recon-ng、SpiderFoot 的输出导入图中)。 - 调查技能:公司足迹、身份足迹、基础设施映射、IOC 图构建、外部 OSINT 工具、调查方法。
- 开发 Agent 和技能:MCP 工具设计、transforms 和自定义提供程序、Machines、图模型、 Maltego 格式、非标准实体、安全审查、测试、发布和部署。
灵感来自社区项目(SulimanAbdulrazzaq/maltego-mcp、lidless-labs/maltego-mcp、HexStrike AI、MCP-Kali-Rust); 有意不涉及攻击性能力(漏洞利用)。
安全与负责任使用
OSINT 内容不可信,绝不会被当作指令执行。请参阅 SECURITY.md,了解设计 以及如何报告漏洞。你有责任遵守你所在司法管辖区的法律、各提供商的服务条款和数据保护规定 (例如 GDPR)。
开发
git clone https://github.com/Data-Unix/MCP-MALTEGO.git && cd MCP-MALTEGO
uv sync
uv run pytest -q && uv run ruff check . && uv run mypy src # Python
npm test # npm launcher
npx @modelcontextprotocol/inspector uv run maltego-mcp # inspect the server
架构、贡献者和 AI Agent 约定:AGENTS.md。功能规格覆盖情况:docs/COBERTURA.md。变更记录:CHANGELOG.md。
许可证
MIT。Maltego 是 Maltego Technologies GmbH 的商标。本项目独立运营,与 Maltego Technologies 无关联,也未获其认可。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。