Skip to main content
Glama

Legion OSINT

One tool. Full operator kit. Turnkey.

Legion is a single local OSINT product for authorized research, threat intelligence enrichment, and defensive investigations. It replaces the old multi-repo wrapper catalogue with a native kit — GUI, CLI, and MCP — that runs out of the box on Python 3.10+ with zero pip dependencies.

Scope: passive / public-source by default. No phishing, malware, C2, credential theft, or exploit execution.


60-second start (Windows)

  1. Install Python 3.10+ and enable Add Python to PATH.

  2. Double-click install.bat once.

  3. Launch the Legion OSINT desktop shortcut (or LegionOSINT.bat).

  4. Browser opens at http://127.0.0.1:8899.

git clone https://github.com/Reaper-Legion/mrholmes-osint-suite.git
cd mrholmes-osint-suite
python -m legion gui          # GUI + vault
python -m legion status       # health
python -m legion example.com  # auto-investigate any target

Related MCP server: osint-mcp-server

What you get

Surface

Entry

Purpose

GUI

python -m legion gui

Tactical dashboard, quick investigate, vault

CLI

python -m legion …

Scriptable JSON tools

MCP

python -m legion mcp

Single agent tool for Hermes / Cursor / etc.

Vault

.legion/legion.db

Targets, sessions, runs, findings, IOCs

Built-in kit (native, not third-party clones)

Tool

Does

investigate

Detect type → multi-tool pipeline

username

Public profile presence probes

social / people

Platform maps, name leads

domain

DNS, TLS, HTTP, RDAP

subdomains

Passive CT via crt.sh

ip

PTR, geo hint, HTTP probe

email / phone

Normalize + mail/host leads + dorks

dorks

Google / Bing / DDG dork generator

hash

Identify / decode / local wordlist crack

darkweb

Ahmia onion-index search + blacklist check

url

Header / title probe

ioc

Extract IPs, domains, URLs, emails, hashes

knowledge

Built-in playbooks & checklists

report

Markdown BLUF skeleton


CLI examples

python -m legion tools
python -m legion detect user@example.com
python -m legion investigate example.com --save
python -m legion run domain example.com
python -m legion run username jdoe --save
python -m legion run dorks acme.com --kind domain
python -m legion run hash 5d41402abc4b2a76b9719d911017c592 --mode hash-type
python -m legion run darkweb ransomware --limit 5
python -m legion run ioc "contact admin@evil.test from 203.0.113.8"
python -m legion run knowledge username

MCP

{
  "mcpServers": {
    "legion": {
      "command": "python",
      "args": ["-m", "legion", "mcp"],
      "cwd": "/absolute/path/to/mrholmes-osint-suite"
    }
  }
}

Send one JSON object per line, for example:

{"action":"run","tool":"domain","target":"example.com"}

Actions: status, catalog, manifest, run, runs.


Safety model

  • Loopback-only HTTP server (127.0.0.1).

  • No shell invocation for kit tools (in-process).

  • Passive defaults; no port scans, no mail VRFY, no Tor auto-start.

  • Wordlist cracking confined to .legion/wordlists.

  • Evidence receipts (SHA-256) stored with every saved run.

  • See docs/ETHICS_AND_SCOPE.md and SECURITY.md.


Layout

legion/               ← the product
  kit/                ← native tools
  web/                ← GUI
  knowledge/          ← playbooks
  app.py cli.py store.py mcp_server.py
legacy_archive/       ← previous wrapper-suite snapshot (not required)
install.bat           ← one-time Windows setup
LegionOSINT.bat/.vbs  ← launchers

Requirements

  • Python 3.10+

  • Network access for live modules (domain, username, darkweb, CT, RDAP)

  • No pip install required for core operation


License

MIT — see LICENSE.

Use only with authorization. Public-source intelligence is still subject to law, ToS, and ethics.

Available Tools

1 tool
mrholmesA

Single safe utility-suite tool for the consolidated Mr.Holmes OSINT/MrHolmes Suite integration. Use action=status/catalog/run/tracker/manifest/live_test/cleanup/full_report. The run action accepts argv for mrholmes_suite.py safe commands only.

ParametersJSON Schema
NameRequiredDescriptionDefault
argvNoFor action=run only: argv passed to mrholmes_suite.py, e.g. ['mrholmes','domain','example.com','--timeout','180']
actionNostatus
dry_runNoFor action=cleanup.
timeoutNo

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It repeatedly claims the tool is 'safe' and lists actions like 'cleanup' and 'live_test' without explaining side effects, required permissions, or destructive potential. The description gives hints but lacks necessary behavioral detail for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the core purpose and immediately listing actions. Every sentence provides essential information with no wasted words, achieving high conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters, no output schema, and no annotations, the description is incomplete. It does not explain what each action does, what return values look like, or error handling. A tool with multiple actions requires more detail for the agent to use it correctly without trial and error.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%. The description adds an example for the 'argv' parameter and enumerates the enum values of 'action', but the schema already lists the enum. For other parameters ('dry_run', 'timeout'), no additional meaning is provided. The example is helpful but the compensation for low coverage is insufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a single safe utility-suite tool for the Mr.Holmes OSINT integration, listing all available actions. This provides a specific verb and resource, and even without siblings, the purpose is distinct and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells the agent to use the tool with one of the eight listed actions, and specifies that the 'run' action accepts argv for safe commands only. This gives clear context for when to use each action, but lacks explicit 'when not to use' or alternatives since no sibling tools exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.7/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusing it with another tool. The agent simply selects this single tool, so disambiguation is perfect.

Naming Consistency5/5

There is only one tool, so naming consistency is not applicable. No inconsistency exists within the tool set.

Tool Count2/5

The tool count is only 1, which is too few for the apparent scope of a consolidated OSINT suite. Typically, such a suite would benefit from multiple dedicated tools rather than a single mega-tool with many actions.

Completeness4/5

The single tool exposes multiple actions (status, catalog, run, tracker, manifest, live_test, cleanup, full_report) that seem to cover a wide range of OSINT operations, suggesting good coverage for the domain.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Exposes popular OSINT and reconnaissance tools like Sherlock, SpiderFoot, and Holehe through MCP and HTTP APIs for AI assistants. Runs security research tools in sandboxed environments and returns normalized JSON results for investigation and analysis.
    1
  • A
    license
    A
    quality
    C
    maintenance
    Provides AI agents with 37 OSINT tools and 12 data sources to perform unified reconnaissance, domain analysis, and attack surface mapping. It enables agents to query, correlate, and reason across platforms like Shodan, VirusTotal, and Censys in parallel.
    37
    387
    48
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to perform controlled OSINT tasks (domain, IP, email, phone, username recon; metadata analysis; breach checks) in a Docker sandboxed Kali Linux environment.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SSGREAPER/mrholmes-osint-suite'

If you have feedback or need assistance with the MCP directory API, please join our Discord server