mrholmes
Enables users to execute OSINT tasks from 88 catalogued repositories through safe command surfaces, supporting authorized research and threat intelligence workflows.
README
Mr.Holmes OSINT Suite
A professional, community-friendly OSINT operator kit that turns a broad collection of OSINT, cyber-reference, and pentest-adjacent repositories into one safe command surface and one MCP tool.
This repo is built for the person who finds it after hours of searching GitHub and wants the fastest sane path from clone to understanding to controlled execution.
- One entrypoint:
mrholmes_suite.py - One MCP tool:
mrholmes - 88 catalogued repositories
- 89 safe command surfaces
- Live/passive validation ledger included
- Risky repos are catalogued and searchable by default, not blindly executed
Operating stance
Professional OSINT work is disciplined: verify sources, preserve context, document uncertainty, and avoid unnecessary harm. This suite is designed for authorized research, blue-team enrichment, threat intelligence, public-source investigation, and controlled lab/pentest workflows.
It does not pretend every upstream repo is safe to run. High-risk repositories are exposed through static inventory/search/status wrappers unless a non-invasive execution path was deliberately verified.
Fast start
git clone https://github.com/Reaper-Forge/mrholmes-osint-suite.git
cd mrholmes-osint-suite
python -m py_compile mrholmes_suite.py mrholmes_mcp_server.py
python mrholmes_suite.py status
python mrholmes_suite.py mrholmes dorks example --dork-type 1 --timeout 120
python mrholmes_suite.py darkus-search example --limit 5 --timeout 30
python mrholmes_mcp_server.py
If you already maintain the upstream repos somewhere else, point the suite at that workspace:
export MRHOLMES_OSINT_ROOT=/path/to/osint-workspace
python mrholmes_suite.py status
What to run first
python mrholmes_suite.py status
python mrholmes_suite.py mrholmes username-profile example --timeout 300
python mrholmes_suite.py mrholmes domain example.com --timeout 180
python mrholmes_suite.py himitsu hash-type 5d41402abc4b2a76b9719d911017c592
python mrholmes_suite.py joas-blueguardian status
python mrholmes_suite.py joas-payloadsallthethings search osint --limit 10
MCP install
Use the single-tool MCP server when connecting from Hermes, Claude Desktop, Cursor, or another MCP client:
{
"mcpServers": {
"mrholmes": {
"command": "python",
"args": ["/absolute/path/to/mrholmes-osint-suite/mrholmes_mcp_server.py"]
}
}
}
The MCP server exposes exactly one tool:
mrholmes
Tool actions:
statuscatalogruntrackermanifestlive_testcleanupfull_report
Example MCP payload:
{
"action": "run",
"argv": ["darkus-search", "example", "--limit", "5", "--timeout", "30"],
"timeout": 60
}
Repo map
mrholmes_suite.py— unified CLI/router.mrholmes_mcp_server.py— one-tool MCP stdio server.mrholmes_agent.py— non-interactive wrapper for upstream Mr.Holmes.joas-integration/— static/safe wrappers for JoasASantos repos.cscorza-integration/— wrappers for CScorza repos.MRHOLMES-SUITE-MANIFEST.json— catalogue, roles, automation posture.MRHOLMES-LIVE-TEST-LEDGER.json— passive/live validation record.docs/— operator guide, MCP guide, ethics, command catalogue, testing notes.
Install philosophy
Minimal by design. Python stdlib runs the catalogue, static wrappers, MCP server, and many safe commands. Some upstream tools have their own dependencies; install those only when you are intentionally operating that tool in a controlled environment.
Professional use
- Work from explicit authorization.
- Prefer passive collection before active probing.
- Treat generated dorks as leads, not truth.
- Corroborate important findings from primary sources.
- Do not run payload, phishing, credential theft, C2, exploit, driver, or evasion code from this suite by default.
- Keep notes: target, scope, timestamp, source, confidence, and chain of custody.
Quick mental model
A good OSINT suite should make the safe thing the easy thing:
- Discover what a repo is.
- Read its role and risk posture.
- Run only the wrapper surface that has been classified as safe.
- Save evidence and uncertainty.
- Escalate to active testing only in a scoped lab or authorized engagement.
See docs/GETTING_STARTED.md for the operator walkthrough.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.