A standalone research pipeline that searches the web, extracts claims, accumulates evidence, and generates intelligence briefings via CLI, Library, REST, or MCP.
https://github.com/davidbmar/intelligence-briefing-toolkit · private · shipped
The Intelligence Briefing Toolkit (IBT) is a Python-based framework for automating open-source intelligence (OSINT) workflows. It orchestrates multi-pass research cycles where an LLM plans queries, searches the web, extracts structured claims from sources, deduplicates findings against existing evidence, and synthesizes final reports. It supports both ephemeral 'one-shot' research and persistent projects that accumulate evidence over time.
pip install git+https://github.com/davidbmar/intelligence-briefing-toolkit.git export ANTHROPIC_API_KEY="sk-ant-..." export SERPER_API_KEY="..." ibt search "JFK assassination declassified 2025" --format json
flowchart TD
User[User or Agent]
Interface[CLI REST or MCP Interface]
Pipeline[ResearchPipeline Orchestrator]
Adapter[WebSourceAdapter]
SearchTool[WebSearchTool]
ContentTool[WebContentTool]
LLM[Claude API]
Store[Local Evidence Store]
User --> Interface
Interface --> Pipeline
Pipeline --> Adapter
Adapter --> SearchTool
Adapter --> ContentTool
Pipeline --> LLM
Pipeline --> Store
SearchTool --> ExternalWeb[External Web Sources]
ContentTool --> ExternalWeb
Built in Python using FastAPI for the REST interface and Model Context Protocol (MCP) for AI agent integration. The core logic relies on an adapter pattern for data sources (defaulting to WebSearchTool/WebContentTool) and uses Anthropic's Claude API for claim extraction, signal detection, and report synthesis. State management for persistent projects is handled via local JSON evidence stores.
sequenceDiagram
participant Client as Client Application
participant IBT as IBT Pipeline
participant Adapter as WebSourceAdapter
participant Tools as Search and Content Tools
participant LLM as Claude API
participant Store as Evidence Store
Client->>IBT: Start Research Project
IBT->>LLM: Generate Search Queries
LLM-->>IBT: Return Query List
IBT->>Adapter: Execute Searches
Adapter->>Tools: Fetch Results and Content
Tools-->>Adapter: Raw Data
Adapter-->>IBT: Structured Results
IBT->>LLM: Extract Claims from Content
LLM-->>IBT: Structured Claims
IBT->>Store: Deduplicate and Save Evidence
Store-->>IBT: Confirmation
IBT->>LLM: Synthesize Briefing Report
LLM-->>IBT: Final Report
IBT-->>Client: Return Briefing
Use IBT to automate deep-dive research tasks, monitor developing news stories through recurring collection passes, or integrate OSINT capabilities into larger AI agents via its MCP server. It is suitable for journalists, analysts, or developers needing structured evidence gathering rather than simple keyword search results.