Intelligence Briefing Toolkit

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

What it is

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.

Features

Quickstart

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

Architecture

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

How it's built

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.

How it runs

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

How to apply & reuse

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.

At a glance

CapabilitiesWeb Search IntegrationContent ExtractionClaim ExtractionEvidence DeduplicationSignal DetectionReport GenerationPersistent State Management
ComponentsResearchPipelineWebSourceAdapterWebSearchToolWebContentToolContributionTrackerTokenManagerIntelConfig
TechPythonFastAPIAnthropic Claude APIModel Context Protocol MCPSerper.devDuckDuckGo
Depends onANTHROPIC_API_KEYSERPER_API_KEY
Integrates withClaude DesktopAI AgentsCI PipelinesWeb Frontends
PatternsAdapter PatternPipeline OrchestrationMulti-pass ResearchEvidence Accumulation
Reuse tagsosintresearch-automationllm-orchestrationcli-toolrest-apimcp-server

⚠ Needs attention