osi-mcp
by nullkrishn4
README.md
<div align="center">
# OSI
**OSINT Suite β Email & Username Intelligence**
<img src="assets/osi-banner.png" alt="OSI β OSINT Suite banner" width="100%">
</div>
<p align="center">
<img src="https://img.shields.io/badge/Version-1.5.2.3-blueviolet?style=for-the-badge&logo=github" />
<img src="https://img.shields.io/badge/Tested%20on-Termux-black?style=for-the-badge&logo=termux" />
<img src="https://img.shields.io/badge/Tested%20on-Windows-cyan?style=for-the-badge&logo=Windows" />
<img src="https://img.shields.io/badge/Tested%20on-Linux-black?style=for-the-badge&logo=Linux" />
<img src="https://img.shields.io/pepy/dt/osi?style=for-the-badge" />
</p>
][Instagram](https://www.instagram.com/ur_.krishn._02)
> ur_.krishn._02
---
A powerful **2-in-1 OSINT suite** engineered for deep **Email and Username Intelligence**.
With **2720+ total scan vectors**βincluding **210+ email-integrated sites** and **2510+ username platforms**βyou can map digital footprints, analyze target behavior, uncover interests, full metadata of usernames and verify account registrations in seconds.
## π Owner
<div align="center">
### Hari Jadhav
<sub>aka <b>nullkrishn</b></sub>
</div>
| Channel | Reach out |
| :--- | :--- |
| π¬ Telegram | [t.me/nullkrishn](https://t.me/nullkrishn) |
| πΈ Instagram | [ur_.krishn._02](https://instagram.com/ur_.krishn._02) |
| π GitHub | [nullkrishn4](https://github.com/nullkrishn4) |
| π IDs | `@krishn-145` Β· `@kalidrod` |
---
## πΈ Preview
<div align="center">
<img src="assets/osi-demo.png" alt="OSI terminal β banner and menu" width="100%">
<sub>The single <code>osi</code> command β colourful banner, credits and menu.</sub>
</div>
<div align="center">
<img src="assets/osi-report.png" alt="OSI self-contained HTML investigation report" width="100%">
<sub>Self-contained HTML report β summary tiles, live filters and profile cards.</sub>
</div>
---
## β¨ Key Features
- π **Deep Email & Username OSINT:** Look up email registrations and perform advanced username profiling across 2710+ platforms.
- π€ **Rich Metadata Scraping:** Scrapes avatars, bio descriptions, follower counts, UID numbers, seller statuses, and account attributes.
- π **Cross-Scan & Pivot Engine:** Mines handles, profile links, and exposed email addresses from initial scans, automatically pivoting across secondary target vectors.
- π€ **Model Context Protocol (MCP) Server:** Native AI agent integration for Claude Desktop, Cursor, Antigravity, and LLMs to run autonomous OSINT scans and recursive pivots.
- π‘οΈ **Hudson Rock Infostealer Breach Intel:** Query infostealer malware breach logs using the `--hudson` flag for high-priority target correlation.
- β‘ **High-Throughput Parallel Engine:** Powered by `httpx` and `curl_cffi` for maximum concurrency with automated TLS fingerprint impersonation.
- π **Permutation & Alias Generator:** Wildcard-based username variation generation to catch typosquatting or alternative aliases.
- π **Multi-Format Reports:** Automated exports to **PDF** (with profile photos), **JSON**, **CSV**, and a self-contained **interactive HTML** investigation report for pipeline integration and sharing.
- π **Advanced Proxy Pivoting:** Built-in proxy rotation with protocol auto-detection (`http`, `socks5`) and pre-scan health validation (`--validate-proxies`).
- π¨ **Responsive Terminal UI:** Dynamic progress tracking, self-adaptive category grids (`-lu`/`-le`), and clear status reporting.
---
## π Installation
### β‘ One-Command Install (Termux Β· Linux Β· macOS Β· WSL)
Clone and run the installer β it sets everything up and drops a single `osi`
command that shows a colourful banner and lets you scan usernames and emails:
```bash
git clone https://github.com/nullkrishn4/osi && cd osi
bash install.sh
osi
```
`osi` with no arguments opens an interactive menu; pass flags to go straight
through:
```bash
osi -u johndoe # username scan across every platform
osi -e johndoe@gmail.com # email scan across every platform
osi -u johndoe --cross-scan # deep cross-scan / pivot
osi -lu # list all username modules
```
> π‘ The installer installs Python and dependencies automatically on Termux
> (`pkg install`), falls back gracefully if the browser-impersonating
> `curl_cffi` transport cannot be built, and skips optional PDF extras with
> `bash install.sh --no-extras`.
### π Via PyPI (Recommended)
```bash
# Upgrade pip and install osi
python3 -m pip install --upgrade pip
pip install osi
# Optional: Install with MCP Server support for AI agents
pip install "osi[mcp]"
```
### π¦ Virtual Environment Setup
```bash
# Create and activate virtual environment
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\Activate.ps1
# Install package
pip install osi
```
### βοΈ Via Nix (Linux & macOS)
```bash
# Run instantly without installing permanently
nix run github:nullkrishn4/osi/main -- --help
# Drop into a temporary shell with osi active
nix shell github:nullkrishn4/osi/main
```
---
## π» Usage Guide
### 1. Basic Username & Email Scanning
Scan a single username or email address across all available platform modules:
```bash
osi -u johndoe # Single username scan
osi -e johndoe@gmail.com # Single email scan
osi -u johndoe --email-domains global # Try johndoe across provider domains
```
### 2. Cross-Scan & Pivot Intelligence
An email scan proves an account exists but rarely reveals a handle. `--cross-scan` mines exposed handles, profile links, and secondary email addresses from target profiles, pivoting into multi-pass reconnaissance across all matching platforms:
| Pivot Direction | What it Mines |
| :--- | :--- |
| `-e` β **username** | Handles or social links exposed on an email's registered profile |
| `-u` β **username** | Secondary aliases advertised across target social profiles |
| `-u` β **email** | Public email addresses published on target profile pages |
| `-e` β **email** | Secondary addresses exposed by initial email profiles |
```bash
osi -u johndoe --cross-scan # Pivot from username scan
osi -e johndoe@gmail.com --cross-scan # Pivot from email scan
osi -e johndoe@gmail.com --cross-scan --cross-links verified # Platform-verified links only
osi -u johndoe --cross-scan --cross-depth 2 # Follow links two hops deep
```
> π‘ *For confidence scoring, link classification rules, and cost models, see **[docs/CROSS_SCAN.md](docs/CROSS_SCAN.md)**.*
### 3. Hudson Rock Malware Breach Intelligence
Check if a target username or email address has been exposed in **infostealer malware infection logs**:
```bash
osi -u johndoe --hudson # Username malware log check
osi -e johndoe@gmail.com --hudson # Email malware log check
```
> πΌοΈ *To view output terminal screenshots and visual previews, see **[docs/EXAMPLES.md](docs/EXAMPLES.md)**.*
### 4. Targeted Category & Module Scanning
Scan specific categories or individual modules, or list available modules in a responsive grid:
```bash
osi -u johndoe -c dev # Developer platforms only
osi -e johndoe@gmail.com -m github # Single module check
osi -u johndoe -m github,instagram # Specific comma-separated modules
osi -lu # List user categories & modules grid
osi -le # List email categories & modules grid
```
### 5. Bulk File Scanning
Scan multiple targets from an input file (one target per line):
```bash
osi -uf usernames.txt # Bulk username scan
osi -ef emails.txt # Bulk email scan
```
### 6. Report Exports, Options & Proxies
```bash
# Export results to PDF, JSON, CSV, or an interactive HTML report
osi -u johndoe -f pdf -o report.pdf
osi -u johndoe -f json -o results.json
osi -u johndoe -f html -o report.html # single self-contained file
osi -u johndoe -f html --no-html-media -o report.html # skip inline photos
# Verbose URL reporting and show all results (including not found)
osi -u johndoe -v --all
# Rotate proxies with pre-scan validation check
osi -u johndoe -P proxies.txt --validate-proxies
```
### 7. AI & LLM Agent Integration (MCP Server)
Connect `osi` directly to AI coding assistants and LLM platforms via the **Model Context Protocol (MCP)**. This enables AI agents (Claude Desktop, Cursor, Antigravity, Open-WebUI) to autonomously investigate handles and emails, pivot on exposed profiles, and analyze digital footprints.
#### Starting the Server
```bash
# Start the MCP server over standard I/O (stdio)
osi-mcp
# Optional: Enable verbose logging to stderr
osi-mcp -v
```
#### MCP Client Configuration
Add `osi` to your client configuration (e.g. `claude_desktop_config.json` or `mcp_config.json`):
```json
{
"mcpServers": {
"osi": {
"command": "osi-mcp"
}
}
}
```
#### Exposed AI Tools
| Tool | Description | Capabilities |
| :--- | :--- | :--- |
| `scan_username` | Deep username OSINT & profile enrichment across platforms | Targeted scans (`category`, `module`), recursive `cross_scan`, proxy injection, loudness toggles |
| `scan_email` | Deep email verification & account discovery across platforms | Target scoping, automated link pivoting (`cross_scan`), custom proxies, loudness toggles |
| `list_available_modules` | Dynamic catalog & module discovery | Allows AI agents to query all supported platforms and categories dynamically |
---
## π Documentation Hub
Explore detailed documentation guides in the [`docs/`](docs/) directory:
- π **[CLI Flags Reference](docs/FLAGS.md)** β Complete breakdown of every CLI flag and option.
- π **[Cross-Scan & Pivoting Guide](docs/CROSS_SCAN.md)** β In-depth guide to multi-pass cross-scan reconnaissance.
- π **[Pattern Syntax Guide](docs/PATTERNS.md)** β Wildcard and permutation patterns for username generation.
- π **[Library Mode Guide](docs/USAGE.md)** β Calling the Python engine programmatically from your own scripts.
- π **[Proxy & Network Guide](docs/PROXIES.md)** β Proxy rotation formats, health checks, and regional VPN troubleshooting.
- πΌοΈ **[Media & Output Gallery](docs/EXAMPLES.md)** β Video demonstrations, terminal recordings, and screenshot previews.
---
## π Python Library Mode
Integrate the User Scanner engine directly into your Python scripts:
```python
import asyncio
from user_scanner.core import engine
from user_scanner.email_scan.shopping import etsy
async def main():
# Engine validates target against module and returns Result object
result = await engine.check(etsy, "test@gmail.com")
print(result.to_json())
asyncio.run(main())
```
> π‘ *For complete Python API documentation and batch category checking examples, see **[docs/USAGE.md](docs/USAGE.md)**.*
---
## π Contributing
We welcome community contributions! Please read our **[Contributing Guidelines](CONTRIBUTING.md)** before opening a PR or submitting new scan modules.
---
## β οΈ Disclaimer
This tool is provided strictly for **educational purposes**, **authorized security research**, and **defensive OSINT investigations**. The developers assume no liability and are not responsible for any misuse, unintended consequences, or legal actions resulting from the deployment of this software.