mcpField
M
mcp-maltego

mcp-maltego

本地服务
github.com/Data-Unix安全13 天前更新

关于 mcp-maltego

mcp-maltego 是供 AI Agent 使用的 MCP 服务,可通过 Maltego transforms 和 Machines 开展 OSINT 调查。它保存调查图谱及步骤记录,并支持通过原生 .mtgx 文件与 Maltego Desktop 交换数据。

主要功能

  1. 01运行内置和自定义 transforms
  2. 02使用 Machines 串联 transforms
  3. 03保存调查图谱和来源记录
  4. 04推荐后续调查步骤
  5. 05导入和导出原生 .mtgx 文件
  6. 06生成 Markdown 和 HTML 报告

适用场景

  1. 01调查域名、基础设施或电子邮件地址
  2. 02跟踪案件步骤中的实体及关系
  3. 03在 Maltego Desktop 中继续 Agent 调查

MCP 相关

它向 MCP 客户端提供 OSINT 工具,用于管理案件、实体和关系,运行 transforms 与 Machines,建议后续步骤,以及导入或导出调查图谱。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"data-unix-mcp-maltego": {
"command": "npx",
"args": [
"-y",
"mcp-maltego"
]
}
}
}
启动命令npx -y mcp-maltego

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

安装包
npmmcp-maltego0.2.0

工具

还没有获取到工具列表

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

详细介绍

mcp-maltego

面向 AI Agent 的 Maltego OSINT。
使用 Claude、Gemini、Codex、Copilot、Cursor 或任何 MCP 客户端运行转换和 Machines、构建并分析关系图,并将结果以原生 .mtgx 格式交还给 Maltego。

MCP-MALTEGO——模型上下文协议情报图集成

npm CI 许可证:MIT MCP 工具 西班牙语


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)—
证书与 WebDomainToSubdomains(crt.sh,CertSpotter 作为后备)、CertSpotterSubdomains、URLScanDomainSearch—
身份、社交与 HUMINTAliasToProfiles(GitHub、GitLab、Hacker News、Keybase、DEV)、GitHubAliasToDetails、GravatarEmailToProfile、EmailToAlias、AnalyzeSubjectBehavior—
泄露与威胁情报(无需密钥)BreachSemanticPivot(本地 SQLite + HIBP Pwned Passwords k-匿名性 + XposedOrNot)、OTXHashToThreatPulses—
解析EmailToDomain、URLToDomain、WebsiteToDomain、DomainToWebsite—
VirusTotalVTDomainToIP、VTIPToDomain、VTDomainToSubdomains、VTHashToDetectionVIRUSTOTAL_API_KEY
ShodanShodanIPToServices、ShodanDomainToSubdomainsSHODAN_API_KEY
SecurityTrailsSecurityTrailsSubdomainsSECURITYTRAILS_API_KEY
CensysCensysIPToServicesCENSYS_API_ID、CENSYS_API_SECRET
Hunter.ioHunterDomainToEmailsHUNTER_API_KEY
Have I Been PwnedHIBPEmailToBreachesHIBP_API_KEY
GreyNoiseGreyNoiseIPContextGREYNOISE_API_KEY
TatumTatumBTCAddressToTxTATUM_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 → Maltegoosint_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.tomltransform 服务和 Machines 的目录
MALTEGO_MCP_BACKENDmemorymemory(本地 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 无关联,也未获其认可。

评论

支持 Markdown

第一次接触 MCP?

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

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