Intelligence Briefing Toolkit

A standalone research pipeline that searches the web, extracts claims via LLMs, accumulates evidence, and generates intelligence briefings.

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 web searching, content extraction, claim detection, and report synthesis using Claude (Anthropic). The system supports both one-off deep research queries and persistent, multi-pass projects that accumulate evidence over time to detect signals and contradictions. It exposes functionality through four interfaces: a CLI for scripting, a Python library for integration, a REST API for web services, and an MCP server for AI agent tool use.

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/Agent] -->|CLI/API/MCP| Interface[Interface Layer]
    Interface --> Pipeline[ResearchPipeline]
    Pipeline --> Config[IntelConfig]
    Pipeline --> Adapter[Source Adapter]
    Adapter -->|Search| WebSearch[WebSearchTool]
    Adapter -->|Fetch| WebContent[WebContentTool]
    WebSearch -->|Serper/DDG| Internet[(Internet)]
    WebContent -->|HTTP| Internet
    Pipeline -->|Extract/Synthesize| LLM[Claude API]
    Pipeline -->|Store| Evidence[(Local JSON Store)]
    Evidence --> Pipeline

How it's built

Built in Python with a modular adapter pattern for data sources. Core logic resides in `ResearchPipeline`, which coordinates `WebSearchTool` (Serper/DuckDuckGo) and `WebContentTool` (boilerplate stripping). LLM interactions are handled via the Anthropic SDK for claim extraction and synthesis. State management for projects uses local JSON files. The REST API is implemented with FastAPI, and the MCP server follows the Model Context Protocol specification for AI assistant integration.

How it runs

sequenceDiagram
    participant Client as Client (CLI/API)
    participant Pipeline as ResearchPipeline
    participant Adapter as WebSourceAdapter
    participant Search as WebSearchTool
    participant Fetch as WebContentTool
    participant LLM as Claude API
    participant Store as Evidence Store

    Client->>Pipeline: execute research/project collect
    Pipeline->>Adapter: search(queries)
    Adapter->>Search: execute(queries)
    Search-->>Adapter: raw JSON results
    Adapter-->>Pipeline: parsed results (urls)
    
    loop For each URL
        Pipeline->>Adapter: fetch(url)
        Adapter->>Fetch: execute(url)
        Fetch-->>Adapter: raw content
        Adapter-->>Pipeline: extracted text
        Pipeline->>LLM: extract claims
        LLM-->>Pipeline: structured claims
        Pipeline->>Store: append/deduplicate evidence
    end
    
    Pipeline->>LLM: synthesize briefing/analyze signals
    LLM-->>Pipeline: final report
    Pipeline-->>Client: return result

How to apply & reuse

Use IBT to automate competitive intelligence monitoring, academic literature reviews, or investigative journalism workflows. Integrate the Python library into existing data pipelines to enrich datasets with web-sourced context. Deploy the REST API as a backend for internal research dashboards. Connect the MCP server to Claude Desktop to allow natural-language triggered research agents that can persist findings across sessions.

At a glance

CapabilitiesWeb SearchContent ExtractionClaim DetectionEvidence AccumulationSignal AnalysisReport GenerationREST API HostingMCP Server Integration
ComponentsResearchPipelineWebSourceAdapterWebSearchToolWebContentToolIntelConfigContributionTrackerTokenManagerFastAPI ServerMCP Server
TechPythonFastAPIAnthropic SDKPydanticModel Context Protocol (MCP)JSONAsyncIO
Depends onAnthropic API KeySerper.dev API Key (optional)Python 3.9+
Integrates withClaude DesktopCI/CD PipelinesCustom Python ApplicationsWeb Frontends
PatternsAdapter PatternPipeline PatternFacade PatternRepository Pattern
Reuse tagsosintresearch-automationllm-orchestrationcli-toolrest-apimcp-serverevidence-tracking

⚠ Needs attention