๐Ÿ” Company Research Agent with MCP + OpenAI + Gradio

An intelligent company research and competitive analysis tool that combines the power of Model Context Protocol (MCP), OpenAI GPT-4, and Gradio to deliver comprehensive business intelligence.

๐ŸŒŸ Features

  • Automated Company Research: Search for company information using MCP tools
  • Competitor Analysis: Automatically identify and analyze competitors
  • Business Model Analysis: Understand company operations and revenue streams
  • Market Keywords Extraction: Extract relevant keywords describing the competitive landscape
  • AI-Powered Insights: OpenAI synthesizes research into actionable executive summaries
  • Interactive UI: Beautiful Gradio interface for easy interaction

๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Gradio UI      โ”‚
โ”‚  (Frontend)     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ”‚
         โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  OpenAI GPT-4   โ”‚โ—„โ”€โ”€โ”€โ”€โ–บโ”‚  MCP Server      โ”‚
โ”‚  (AI Analysis)  โ”‚      โ”‚  (Research Tools)โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                   โ”‚
                         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                         โ”‚  Research Tools:  โ”‚
                         โ”‚  โ€ข Company Info   โ”‚
                         โ”‚  โ€ข Competitors    โ”‚
                         โ”‚  โ€ข Business Model โ”‚
                         โ”‚  โ€ข Keywords       โ”‚
                         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“‹ Components

1. MCP Research Server (mcp_research_server.py)

FastMCP server providing research tools:

  • search_company_info() - Search for basic company information
  • find_competitors() - Find competitor companies
  • analyze_company_business() - Analyze business model and activities
  • extract_market_keywords() - Extract market and industry keywords
  • generate_competitive_report() - Generate full competitive analysis

2. Gradio Application (gradio_app.py)

Interactive web interface that:

  • Accepts company name and OpenAI API key as inputs
  • Orchestrates MCP tool calls for data gathering
  • Uses OpenAI to generate intelligent summaries
  • Displays results in an organized, user-friendly format

๐Ÿš€ Quick Start

Prerequisites

Installation

  1. Clone or download this repository

  2. Run the setup script:

    chmod +x setup.sh
    ./setup.sh
    
  3. Configure your API key:

    cp .env.example .env
    # Edit .env and add your OpenAI API key
    

Manual Installation

If you prefer manual setup:

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

๐Ÿ’ป Usage

Start the Application

# Activate virtual environment (if not already active)
source venv/bin/activate

# Run the Gradio app
python gradio_app.py

The application will start on http://localhost:7860

Using the Interface

  1. Enter a company name (e.g., "Apple", "Tesla", "Netflix")
  2. Enter your OpenAI API key (required for AI analysis)
  3. Click "Research Company" to start the analysis
  4. View results:
    • Executive Summary (AI-generated)
    • Full Report (expand accordion)
    • Market Keywords (expand accordion)

Example Companies to Try

  • Technology: Apple, Microsoft, Google, Amazon, Meta
  • Automotive: Tesla, Ford, General Motors
  • Entertainment: Netflix, Disney
  • Consumer Goods: Nike, Coca-Cola, Starbucks

๐Ÿ“ฆ Dependencies

  • fastmcp - Model Context Protocol server framework
  • gradio - Web UI framework
  • openai - OpenAI API client
  • requests - HTTP library for web requests
  • beautifulsoup4 - HTML parsing (for future web scraping)
  • python-dotenv - Environment variable management

๐Ÿ”ง How It Works

  1. User Input: User enters company name in Gradio interface
  2. MCP Tools: Application calls MCP research tools to gather data:
    • Company information from Wikipedia API
    • Competitor identification from database
    • Business model analysis
    • Market keyword extraction
  3. AI Synthesis: OpenAI GPT-4 processes all research data and generates:
    • Executive summary
    • Key insights
    • Market positioning analysis
  4. Results Display: Formatted report shown in Gradio UI

๐ŸŽฏ Use Cases

  • Competitive Intelligence: Understand your competitors quickly
  • Market Research: Identify market trends and keywords
  • Investment Analysis: Research companies for investment decisions
  • Business Strategy: Inform strategic planning with competitive data
  • Sales Enablement: Prepare for sales conversations with prospect research

๐Ÿ” Security Notes

  • Never commit your .env file or expose your OpenAI API key
  • Use environment variables for sensitive information
  • The .env.example file is provided as a template

๐Ÿ› ๏ธ Customization

Adding More Companies

Edit mcp_research_server.py and add entries to the data dictionaries:

  • competitors_db (line ~70)
  • business_data (line ~100)
  • industry_keywords (line ~140)

Using Real APIs

For production use, replace the sample data with real API calls:

  • Business data APIs (Crunchbase, PitchBook)
  • Financial APIs (Alpha Vantage, Yahoo Finance)
  • News APIs (NewsAPI, Google News)
  • Web scraping (requests + BeautifulSoup)

Changing OpenAI Model

In gradio_app.py, modify the model parameter:

model="gpt-4o-mini"  # Change to "gpt-4o", "gpt-4-turbo", etc.

๐Ÿ“Š Project Structure

mcp2_test/
โ”œโ”€โ”€ README.md                    # This file
โ”œโ”€โ”€ requirements.txt             # Python dependencies
โ”œโ”€โ”€ .env.example                 # Environment variables template
โ”œโ”€โ”€ setup.sh                     # Setup script
โ”œโ”€โ”€ mcp_research_server.py       # MCP server with research tools
โ””โ”€โ”€ gradio_app.py               # Gradio web application

๐Ÿ› Troubleshooting

"Module not found" errors

pip install -r requirements.txt

"Invalid API key" error

  • Check your OpenAI API key in the input field
  • Ensure you have credits in your OpenAI account
  • Verify the key starts with sk-

Port already in use

Change the port in gradio_app.py:

demo.launch(server_port=7861)  # Use different port

๐Ÿš€ Future Enhancements

  • Real-time web scraping for live data
  • Integration with business intelligence APIs
  • Export reports to PDF/CSV
  • Historical trend analysis
  • Multi-company comparison view
  • Financial metrics integration
  • News sentiment analysis
  • Custom report templates

๐Ÿ“ License

This project is provided as-is for educational and research purposes.

๐Ÿค Contributing

Contributions welcome! Feel free to:

  • Add more MCP tools
  • Improve the UI/UX
  • Integrate additional APIs
  • Enhance the AI prompts
  • Add export functionality

๐Ÿ’ก Learn More

Built with โค๏ธ using FastMCP, OpenAI, and Gradio

MCP Server ยท Populars

MCP Server ยท New

    Dave-London

    Pare

    Dev tools, optimized for agents. Structured, token-efficient MCP servers for git, test runners, npm, Docker, and more.

    Community Dave-London
    luckyPipewrench

    Pipelock

    Firewall for AI agents. DLP scanning, SSRF protection, bidirectional MCP scanning, tool poisoning detection, and workspace integrity monitoring.

    Community luckyPipewrench
    longbridge

    Longbridge OpenAPI SDK

    LongPort OpenAPI SDK Base.

    Community longbridge
    longbridge

    Longbridge MCP

    LongPort OpenAPI SDK Base.

    Community longbridge
    ArcadeData

    arcadedb

    ArcadeDB Multi-Model Database, one DBMS that supports SQL, Cypher, Gremlin, HTTP/JSON, MongoDB and Redis. ArcadeDB is a conceptual fork of OrientDB, the first Multi-Model DBMS. ArcadeDB supports Vector Embeddings.

    Community ArcadeData