Las 6 interfaces
import { Card, CardGrid } from ‘@astrojs/starlight/components’;
Las mismas 28 herramientas OSINT estan disponibles a traves de seis interfaces distintas. Elige la que mejor encaje con tu flujo de trabajo.
Guia de decision rapida
¿Que quiero hacer?│├─ Analisis rapido de una IP / dominio / URL / hash│ └─ Usa: CLI (-q) o MCP o query directa en Claude Code│├─ Investigacion autonoma con auto-pivot e informe│ └─ Usa: CLI (interactivo)│├─ Investigacion estructurada con evidencias, entidades, claims, trazabilidad│ └─ Usa: Claude Code skills (/investigation-init → /osint-investigate → /report-generate)│├─ Integrar con mi aplicacion o pipeline│ └─ Usa: MCP server o Python import│└─ Dejar que otro agente IA delegue tareas aqui └─ Usa: A2A serverTabla comparativa
| Interface | Como invocar | Quien decide que tools usar | Persiste resultados | Necesita Ollama |
|---|---|---|---|---|
| CLI interactivo | osint-agent | Agente ReAct (autonomo) | Solo sesion | Si |
| CLI query unica | osint-agent -q "..." | Agente ReAct (autonomo) | No | Si |
| CLI batch | osint-agent --batch file.txt | Agente ReAct por IOC | No | Si |
| MCP | Cualquier cliente MCP | Tu / Claude Code | Via investigation tools | No |
| Claude Code skills | /osint-investigate, etc. | Tu / Claude Code | Si (SQLite + ChromaDB) | Si (para investigate) |
| A2A | Otro agente via osint-a2a | El agente llamante | No | Si |
| Python import | from src.tools.virustotal import ... | Tu codigo | Tu eliges | No |
1. CLI Interactivo
Ideal para: sesiones exploratorias, analisis de multiples IOCs, consultas ad-hoc.
osint-agentosint> Investiga la IP 185.220.101.34osint> Analiza el conflicto en Iran y su impacto en ciberseguridadosint> /dashboardosint> /report saveEl agente ReAct selecciona tools de forma autonoma, sigue IOCs relacionados y escribe una evaluacion estructurada.
2. CLI Single Query / Batch
Ideal para: scripting, automatizacion, pipelines CI.
# Query unicaosint-agent -q "Investiga la IP 8.8.8.8"osint-agent -q "Analiza el dominio evil.com" --json
# Batch desde fichero (un IOC por linea)osint-agent --batch iocs.txt --limit 10 --json
# Batch desde feeds en vivoosint-agent --feed feodo --limit 5osint-agent --feed urlhaus --limit 3 --json3. MCP Server
Ideal para: Claude Desktop, VS Code, Cursor, o cualquier cliente MCP-compatible.
osint-mcp # STDIO transportosint-mcp --transport streamable-http --port 8080 # HTTP transportExpone 44 tools. El cliente LLM decide que llamar y en que orden. No necesita Ollama — el modelo del cliente hace el razonamiento.
Configuracion para Claude Desktop:
{ "mcpServers": { "osint-agent": { "command": "osint-mcp", "args": [] } }}Ver Integraciones → MCP Server para la lista completa de tools.
4. Claude Code Skills
Ideal para: investigaciones formales con trazabilidad completa (evidencias → entidades → claims → informe).
/investigation-init "Caso Acme Corp" --goal "Due diligence"/osint-investigate "185.220.101.34" ← analisis completo 28 tools, guarda como evidencia/osint-investigate "acme-corp.com" ← igual para dominios/osint-investigate "actividad grupo Lazarus" ← consultas contextuales tambien/osint-recon acme-corp.com ← recon tecnico: WHOIS, DNS, crt.sh/evidence-ingest informe-registral.pdf/entity-extract/verify-claims/report-generateVer Integraciones → Claude Code Skills para las 15 skills disponibles.
5. A2A Server
Ideal para: sistemas multi-agente donde otro agente IA delega tareas de investigacion.
osint-a2a # default: 0.0.0.0:9000osint-a2a --port 9090from a2a_sdk import A2AClientclient = A2AClient("http://localhost:9000")result = await client.send_task({ "skill": "investigate_ip", "message": "Investigate 185.220.101.34"})Ver Integraciones → A2A Server.
6. Python import directo
Ideal para: embeber herramientas especificas en tu propio codigo sin el CLI ni el servidor.
import asynciofrom src.tools.virustotal import virustotal_ip_lookupfrom src.tools.gdelt_tool import gdelt_entity_searchfrom src.tools.country_risk import get_country_risk_score
result = asyncio.run(virustotal_ip_lookup("185.220.101.34"))news = gdelt_entity_search("Iran conflict")risk = get_country_risk_score("IR")Todas las herramientas son funciones async independientes. No necesitan agente ni servidor.