MCP Research Server
README.md
# š 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
- Python 3.8 or higher
- OpenAI API key ([Get one here](https://platform.openai.com/api-keys))
### Installation
1. **Clone or download this repository**
2. **Run the setup script**:
```bash
chmod +x setup.sh
./setup.sh
```
3. **Configure your API key**:
```bash
cp .env.example .env
# Edit .env and add your OpenAI API key
```
### Manual Installation
If you prefer manual setup:
```bash
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
```
## š» Usage
### Start the Application
```bash
# 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:
```python
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
```bash
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`:
```python
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
- [FastMCP Documentation](https://github.com/jlowin/fastmcp)
- [Gradio Documentation](https://gradio.app/docs)
- [OpenAI API Reference](https://platform.openai.com/docs)
- [Model Context Protocol](https://modelcontextprotocol.io)
---
**Built with ā¤ļø using FastMCP, OpenAI, and Gradio**This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues