maltego-mcp
ActiveGraph-driven OSINT in Maltego Desktop is point-and-click work, so the agent that just reasoned over your indicators has to dictate clicks to a human. maltego-mcp lets it build the graph directly: create entities and links, run whois / DNS / ASN / crt.sh lookups, and write a ready-to-open .mtgx file, no canvas and no paid connector.
See it workrepresentative session
Representative session. Illustrative values, RFC 5737 addresses. Lookups query public records; the graph is written to your disk and never leaves the box.
What it does
maltego-mcp is an MCP server that lets an LLM author Maltego .mtgx graph files and run primitive OSINT lookups (whois, DNS, ASN, crt.sh) from inside an agent session. It exists because graph-driven investigation in Maltego Desktop is normally point-and-click work, and an agent already reasoning over indicators should produce the graph itself rather than dictate clicks. Unlike a Maltego transform pack, it lives in the agent layer first: the graph is built by tool calls and saved to disk, so it works on the Basic plan with no paid connectors, and an optional Phase B TRX pack (.mtz) adds native right-click pivots into MISP, TheHive, Cortex, and ATT&CK for teams that want them. The same package ships maltegoctl, a read-only CLI that exposes only the lookups and a .mtgx inspector for shells, cron, and CI.
Capabilities13 tools across two layers
Graph authoring
5 toolsCreate a graph, add typed entities and links, save to .mtgx, or load an existing one back into a handle.
Primitive lookups
4 toolswhois, DNS (A/AAAA/MX/NS/TXT), Team Cymru ASN, and crt.sh certificate transparency for a single target.
Convenience expanders
4 toolsOne call turns an IP, domain, hash, or enriched IOC into a saved .mtgx pivot map.
maltegoctl CLI
read-onlySame lookups plus a .mtgx inspector for shells, cron, and CI; never writes to disk.
Phase B transforms
optional .mtzPython TRX right-click pivots into MISP, TheHive, Cortex, and the bundled ATT&CK dataset inside Maltego Desktop.
Setup
npm install -g maltego-mcp
Both env vars optional: MALTEGO_MCP_OUTPUT_DIR (default ~/MaltegoGraphs) and MALTEGO_MCP_LOOKUP_TIMEOUT_MS (default 30000, crt.sh only).
{ "mcpServers": { "maltego": { "command": "maltego-mcp" } } }