recon
io.github.blisspixelPublished by GitHub account blisspixelv2.27.0Updated Oct 29, 2026
Public DNS, certificate transparency, and identity observations.
Overview
Local MCP server that lets an assistant look up a domain's public DNS, certificate transparency and identity footprint, with evidence-backed observations.
- What you can do
- Look up a domain's public technology and identity footprint: email providers and controls, identity indicators, SaaS services and cloud infrastructure
- Request evidence and source status, or structured JSON records, for a lookup
- Run fresh evidence-linked review bundles and compare a domain against a cached baseline
- Look up a supplied list of domains and describe observed similarities and differences without inferring ownership
- When to use it
- Useful when you want an assistant to profile a domain's public email, identity and cloud posture from passive sources, or to compare several supplied domains, without credentials or active scanning. Results are observations, not a complete inventory or a security verdict.
- Requirements
- Runs as a local process over stdio, installed from the PyPI package recon-tool with uvx (or pip/pipx); Python 3.11 through 3.15 supported. No credentials, API keys or environment variables are declared. Network access is needed for lookups; the client must be restarted after MCP install and manual tool approvals are recommended.
Installation
In SourceWeft
- Open recon in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
recon
[CI] [PyPI] [Python] [License] [OpenSSF Scorecard] [OpenSSF Best Practices]
Point recon at a domain to see its public technology and identity footprint: email providers and controls, identity indicators, SaaS services, and cloud infrastructure. No credentials, API keys, or active scanning. Use the CLI for a quick lookup, versioned JSON for automation, or the local MCP server from an agent.
recon reports evidence-backed observations, not a complete inventory or a security verdict. A domain does not establish an organization's boundaries.
See the Output
[Synthetic recon output in a modern Linux terminal]
Synthetic illustration, generated, not captured. The real formatter renders
a deterministic, no-network fixture for Example Industries Ltd. No real
organization is depicted, and no live lookup of reserved example.com
reproduces this fixture.
Accessible text transcript
Quick Start
macOS / Linux:
Windows (PowerShell):
The installer sets up recon for your user account, including Python when needed.
Open a new terminal afterward. Python 3.15 is the default development and release
runtime; 3.11 through 3.15 remain supported. Already have a supported Python? Use
pip install recon-tool in a virtual environment, or uv tool install --python 3.15 recon-tool /
pipx install --python python3.15 recon-tool on managed distributions like Arch Linux and Omarchy.
For review-before-run instructions, other package managers, updates, and recovery,
see the installation guide.
Lookups make DNS queries visible to recursive and authoritative infrastructure.
MTA-STS is the only default target-owned HTTP request; Google CSE and BIMI
certificate probes require explicit --direct-probes. There is no port
scanning or application crawling. Replace the placeholder to start:
Ordinary lookups may reuse the 24-hour result cache and say so when they do; a
result whose collection had unavailable sources is never reused. Use
--no-cache to bypass the cache for both reading and writing;
certificate-transparency enrichment has a separate cache. See
first lookup and cache behavior.
Common Commands
The bare command stays compact. Request evidence or structured output when needed:
These examples use reserved domains; real lookups will not reproduce the synthetic illustration above. For multi-domain reviews, recon describes observed similarities and differences without inferring ownership or a corporate relationship. See the evidence-first review workflow and batch guide.
Use with an Agent
The PyPI package installs the CLI and MCP runtime. Connect the local server to Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, or Kiro:
Restart the client and begin with manual tool approvals. Ask for one domain's email and identity indicators, or a service comparison across supplied domains. Missing evidence means "not observed", not "not used"; collection failures remain explicit. Local execution is the default, and the project does not operate a hosted service.
See MCP setup and supported clients and skills, plugins, and their validation status.
Omarchy Desktop Shell Integration
recon includes a thin, keyboard-first desktop shell plugin for Omarchy
located in integrations/omarchy/:
- Keyboard-driven workflow: focus domain input automatically, press
Enterto run bounded inspection, and pressCtrl+Dto toggle baseline delta comparison. - Direct process invocation: passes structured arguments directly (
["recon", domain, "--json"]) without shell interpolation. - Safe clipboard handling: pasting text never triggers an automatic network request.
- Zero background daemons: runs unprivileged inside Omarchy's Quickshell environment.
See integrations/omarchy/README.md for installation and shortcuts.
Documentation
Contributing and Support
Catalog corrections and documented vendor patterns are especially useful. Start with CONTRIBUTING.md for setup, verification, and contribution requirements; coding agents should also read AGENTS.md. For repeatable catalog work, start with the harness-neutral maintenance skill and offline example.
Use issues for bugs and feature requests. Keep public examples reserved and synthetic; never post evaluated company domains, tenant IDs, or per-domain results. See the private reporting paths and security policy. Intended for defensive use.
License
Source: README.md at commit 4d7ff0c
Tools
0Version history
1- v2.27.0LatestOct 29, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts