Skip to content

swapniel99/intel-agent

Repository files navigation

IntelAgent Logo

🔍 IntelAgent

AI-Powered Research Assistant — A production-ready orchestration of a Chrome Extension and a local Python MCP backend.

IntelAgent bridges the gap between high-level AI reasoning and local system capabilities. It empowers users to fetch trending news from multiple sources, ground facts with Google Search, manage findings against a local JSON ledger, and visualize data through a beautiful, interactive Prefab dashboard.

Watch the video

IntelAgent Dashboard Preview


✨ Key Features

  • 🌐 Multi-Source Research: Seamlessly fetches from Hacker News, Dev.to, and Reddit, combined with broad factual grounding via Google Search (Dynamic Grounding).
  • 📚 Local Memory: Persistent JSON library (saved_articles.json) for article deduplication, full-text search, and historical research tracking.
  • 📊 Dynamic Dashboards: Automatically generates rich UI dashboards using Prefab UI (Bar, Line, Pie, Radar charts + metric cards + tables).
  • 🧩 MCP Native: Built on the Model Context Protocol (FastMCP) for robust, standardized communication between the LLM and local tools.
  • ⚡ Persistent UI: Runs in a dedicated Chrome Extension window (Manifest V3) with a resizable dashboard + chat layout.
  • 🤖 Multi-Provider: Supports Gemini (with thinking levels) and Ollama (with reasoning effort) as interchangeable AI backends.

🏗️ Architecture

graph TD
    User([User Prompt]) --> Extension[Chrome Extension Window]
    Extension --> Provider{AI Provider}
    Provider -- Gemini --> GeminiAPI[Gemini API]
    Provider -- Ollama --> OllamaAPI[Ollama :11434]
    GeminiAPI -- Tool Discovery --> FastMCP[FastMCP Server :8000]
    OllamaAPI -- Tool Discovery --> FastMCP
    FastMCP -- Tool Definition --> Provider

    subgraph "Local Tools (Python)"
        FastMCP --> T1[fetch_tech_news]
        FastMCP --> T2[manage_local_library]
        FastMCP --> T3[render_dashboard]
        T1 --> HN[Hacker News / Dev.to / Reddit]
        T2 --> JSON[(saved_articles.json)]
        T3 --> Cache[_LAST_DASHBOARD_HTML]
    end

    GeminiAPI -- Dynamic Grounding --> Google[Google Search]
    Provider -- Tool Call --> FastMCP
    FastMCP -- status: dashboard_ready --> Extension
    Extension -- GET /dashboard?theme=... --> Cache
    Cache -- HTML Page --> Dashboard{{iframe Dashboard}}
Loading

🚀 Getting Started

1. Backend Setup (MCP Server)

The backend requires Python 3.14+ and uv (recommended).

# Clone the repo
git clone https://github.com/swapniel/intel-agent.git
cd intel-agent

# Install dependencies using uv
uv sync

# Start the server (uses the virtual environment automatically)
./.venv/bin/python main.py

The server will run on http://localhost:8000. Keep this terminal open.

2. Frontend Setup (Chrome Extension)

  1. Open Chrome and navigate to chrome://extensions/.
  2. Enable Developer mode (top right).
  3. Click Load unpacked and select the extension folder in this repository.
  4. Click the IntelAgent icon in your toolbar to open the extension window.
  5. Click the gear icon (⚙️) to configure your AI provider:
    • Gemini: Enter your API key and select a thinking level (optional).
    • Ollama: Set the base URL (http://localhost:11434) and model name. Set OLLAMA_ORIGINS="*" env var before starting Ollama to allow extension access.

🛠️ Integrated Tools

Tool Capability Source/Target
fetch_tech_news Retrieves trending tech discussions from multiple sources. Hacker News, Dev.to, Reddit
manage_local_library Full CRUD on research: check_duplicates, save_new, list_all, search, update, delete. saved_articles.json
render_dashboard Compiles research into a rich HTML dashboard. Supports 4 chart types, metrics, and tables. Prefab UI
Google Search (Native, Gemini only) Provides real-time factual grounding for general queries. Google Search Index

Dashboard Features

  • Layouts: auto (adaptive) and split (chart + content side-by-side).
  • Rich Components:
    • Charts: Bar, Line, Pie, Radar.
    • KPIs: Metric cards with trend indicators and sentiment.
    • Data Tables: Searchable and paginated tables.
    • Article Cards: Curated news feed with AI summaries and badges.

📖 Usage Example

Prompt:

"Find the top 3 articles on 'Quantum Computing' from Hacker News. Compare them with recent breakthroughs found on Google Search. Save the new ones and show me a dashboard with a market interest chart."

Execution Flow:

  1. Search: Gemini calls fetch_tech_news and performs a grounded Google Search.
  2. Filter: Gemini calls manage_local_library(check_duplicates) to see what's already saved.
  3. Summarize: Gemini generates concise, 1-sentence summaries for the new findings.
  4. Persist: Gemini calls manage_local_library(save_new) to update your local ledger.
  5. Visualize: Gemini calls render_dashboard with curated cards and a relevant chart.
  6. Result: The dashboard panel updates instantly with a professional research report.

🛠️ Tech Stack

  • Backend: Python 3.14, FastMCP, FastAPI, Uvicorn, Prefab-UI.
  • Frontend: JavaScript (ES6+), Manifest V3, Gemini SDK (ES module bundle).
  • AI Providers: Google Gemini (with thinking levels + Google Search grounding) or Ollama (OpenAI-compat, with reasoning effort).
  • Storage: Local JSON filesystem.

📝 License

MIT © Swapniel

About

AI-Powered Research Assistant with Generative UI

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors