๐ 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 informationfind_competitors()- Find competitor companiesanalyze_company_business()- Analyze business model and activitiesextract_market_keywords()- Extract market and industry keywordsgenerate_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
- Python 3.8 or higher
- OpenAI API key (Get one here)
Installation
Clone or download this repository
Run the setup script:
chmod +x setup.sh ./setup.shConfigure 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
- Enter a company name (e.g., "Apple", "Tesla", "Netflix")
- Enter your OpenAI API key (required for AI analysis)
- Click "Research Company" to start the analysis
- 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
- User Input: User enters company name in Gradio interface
- 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
- AI Synthesis: OpenAI GPT-4 processes all research data and generates:
- Executive summary
- Key insights
- Market positioning analysis
- 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
.envfile or expose your OpenAI API key - Use environment variables for sensitive information
- The
.env.examplefile 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