MissionControlMCP / README.md
AlBaraa63's picture
Update GitHub repository link in README
59419b2
---
title: MissionControlMCP - Enterprise Automation Tools
emoji: πŸš€
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: "5.48.0"
app_file: app.py
pinned: false
tags:
- building-mcp-track-enterprise
- mcp-in-action-track-enterprise
- mcp
- anthropic
- enterprise-automation
- gradio-hackathon
- ai-agents
- mcp-server
---
# πŸš€ MissionControlMCP
**Enterprise Automation MCP Server for Document Analysis, Data Processing & Business Intelligence**
A fully functional Model Context Protocol (MCP) server providing 8 powerful enterprise automation tools for document processing, web scraping, semantic search, data visualization, and business analytics.
Built for the **MCP 1st Birthday Hackathon – Winter 2025** (Tracks: Building MCP + MCP in Action - Enterprise).
πŸ† **Hackathon Submission** | πŸ”§ **Both Tracks** | 🏒 **Enterprise Category**
---
## πŸ“± Social Media & Links
- 🎬 **Demo Video:** [Watch on YouTube](https://youtube.com/shorts/sElW_r3o3Og?feature=share) ⭐ **NEW**
- πŸ”— **LinkedIn Post:** [View Announcement](https://www.linkedin.com/posts/albaraa-alolabi_mcphackathon-gradiohackathon-huggingface-activity-7395722042223886336-kp7K?utm_source=share&utm_medium=member_desktop)
- πŸš€ **Live Demo:** [Try on Hugging Face](https://huggingface.co/spaces/MCP-1st-Birthday/MissionControlMCP)
- πŸ’» **GitHub Repository:** [Source Code](https://github.com/AlBaraa-1/MCPs-1st-Birthday-Hackathon/tree/main/mission_control_mcp)
---
## πŸ“‹ Table of Contents
- [Overview](#overview)
- [Features](#features)
- [Tools](#tools)
- [Installation](#installation)
- [Usage](#usage)
- [Tool Examples](#tool-examples)
- [Claude Desktop Integration](#claude-desktop-integration)
- [Development](#development)
- [Testing](#testing)
- [Architecture](#architecture)
- [Hackathon Submission](#hackathon-submission)
---
## 🎯 Overview
**MissionControlMCP** is an enterprise-grade MCP server that provides intelligent automation capabilities through 8 specialized tools. It enables AI assistants like Claude to perform complex document processing, data analysis, web research, and business intelligence tasks.
### Key Capabilities
- **πŸ“„ Document Processing**: Extract text from PDFs, process and summarize content
- **🌐 Web Intelligence**: Fetch and parse web content with clean text extraction
- **πŸ” Semantic Search**: RAG-based vector search using FAISS and sentence transformers
- **πŸ“Š Data Visualization**: Generate charts from CSV/JSON data
- **πŸ”„ File Conversion**: Convert between PDF, TXT, and CSV formats
- **πŸ“§ Email Classification**: Classify email intents using NLP
- **πŸ“ˆ KPI Generation**: Calculate business metrics and generate insights
---
## πŸ§ͺ Quick Test
```bash
# Test all tools with sample files
python demo.py
```
**See [TESTING.md](TESTING.md) for complete testing guide with examples!**
---
## ✨ Features
- βœ… **8 Production-Ready Tools** for enterprise automation
- βœ… **MCP Compliant** - Works with Claude Desktop and any MCP client
- βœ… **Type-Safe** - Built with Python 3.11+ and type hints
- βœ… **Modular Architecture** - Clean separation of concerns
- βœ… **Comprehensive Testing** - Test suite included
- βœ… **Well Documented** - Clear schemas and examples
- βœ… **Vector Search** - RAG implementation with FAISS
- βœ… **Data Visualization** - Base64 encoded chart generation
- βœ… **NLP Classification** - Rule-based intent detection
---
## πŸ› οΈ Tools
### 1. **pdf_reader**
Extract text and metadata from PDF files.
**Input:**
- `file_path`: Path to PDF file
**Output:**
- Extracted text from all pages
- Page count
- Document metadata (author, title, dates)
---
### 2. **text_extractor**
Process and extract information from text.
**Input:**
- `text`: Raw text to process
- `operation`: 'clean', 'summarize', 'chunk', or 'keywords'
- `max_length`: Max length for summaries (default: 500)
**Output:**
- Processed text
- Word count
- Operation metadata
---
### 3. **web_fetcher**
Fetch and extract content from web URLs.
**Input:**
- `url`: URL to fetch
- `extract_text_only`: Extract text only (default: true)
**Output:**
- Clean text content or HTML
- HTTP status code
- Response metadata
---
### 4. **rag_search**
Semantic search using RAG (Retrieval Augmented Generation).
**Input:**
- `query`: Search query
- `documents`: List of documents to search
- `top_k`: Number of results (default: 3)
**Output:**
- Ranked search results with similarity scores
- Document snippets
- Relevance rankings
---
### 5. **data_visualizer**
Create data visualizations and charts.
**Input:**
- `data`: JSON or CSV string data
- `chart_type`: 'bar', 'line', 'pie', or 'scatter'
- `x_column`, `y_column`: Column names
- `title`: Chart title
**Output:**
- Base64 encoded PNG image
- Chart dimensions
- Column information
---
### 6. **file_converter**
Convert files between formats.
**Input:**
- `input_path`: Path to input file
- `output_format`: 'txt', 'csv', or 'pdf'
- `output_path`: Optional output path
**Output:**
- Output file path
- Conversion status
- File size
**Supported Conversions:**
- PDF β†’ TXT
- TXT β†’ CSV
- CSV β†’ TXT
---
### 7. **email_intent_classifier**
Classify email intent using NLP.
**Input:**
- `email_text`: Email content to classify
**Output:**
- Primary intent (inquiry, complaint, request, feedback, meeting, order, urgent, follow_up, thank_you, application)
- Confidence score
- Secondary intents
---
### 8. **kpi_generator**
Generate business KPIs and insights.
**Input:**
- `data`: JSON string with business data
- `metrics`: List of metrics - 'revenue', 'growth', 'efficiency', 'customer', 'operational'
**Output:**
- Calculated KPIs
- Executive summary
- Key trends and insights
---
## πŸ“¦ Installation
### Prerequisites
- Python 3.11 or higher
- pip or uv package manager
### Setup
1. **Clone or download the repository:**
```bash
cd mission_control_mcp
```
2. **Install dependencies:**
```bash
pip install -r requirements.txt
```
Or using `uv`:
```bash
uv pip install -r requirements.txt
```
### Dependencies
- `mcp` - Model Context Protocol SDK
- `pypdf2` - PDF processing
- `requests` + `beautifulsoup4` - Web scraping
- `pandas` + `numpy` - Data processing
- `faiss-cpu` + `sentence-transformers` - Vector search
- `matplotlib` + `seaborn` - Data visualization
- `scikit-learn` + `nltk` - NLP and ML
---
## πŸš€ Usage
### Running the Server
#### For Development/Testing:
```bash
uvx mcp dev mission_control_mcp/mcp_server.py
```
Or with Python directly:
```bash
python mcp_server.py
```
#### For Production:
The server runs via stdio and is designed to be integrated with MCP clients like Claude Desktop.
---
## πŸ’‘ Tool Examples
### Example 1: Text Extraction & Summarization
```json
{
"tool": "text_extractor",
"arguments": {
"text": "Your long document text here...",
"operation": "summarize",
"max_length": 200
}
}
```
### Example 2: Web Content Fetching
```json
{
"tool": "web_fetcher",
"arguments": {
"url": "https://example.com/article",
"extract_text_only": true
}
}
```
### Example 3: Semantic Search
```json
{
"tool": "rag_search",
"arguments": {
"query": "machine learning algorithms",
"documents": [
"Document 1 about neural networks...",
"Document 2 about decision trees...",
"Document 3 about clustering..."
],
"top_k": 3
}
}
```
### Example 4: Data Visualization
```json
{
"tool": "data_visualizer",
"arguments": {
"data": "{\"month\": [\"Jan\", \"Feb\", \"Mar\"], \"sales\": [1000, 1500, 1200]}",
"chart_type": "bar",
"x_column": "month",
"y_column": "sales",
"title": "Q1 Sales Report"
}
}
```
### Example 5: Email Intent Classification
```json
{
"tool": "email_intent_classifier",
"arguments": {
"email_text": "Hi, I need help with my recent order. It hasn't arrived yet and I'm wondering about the tracking status."
}
}
```
### Example 6: KPI Generation
```json
{
"tool": "kpi_generator",
"arguments": {
"data": "{\"revenue\": 1000000, \"costs\": 600000, \"customers\": 500, \"current_revenue\": 1000000, \"previous_revenue\": 800000}",
"metrics": ["revenue", "growth", "efficiency"]
}
}
```
---
## πŸ–₯️ Claude Desktop Integration
### Configuration
Add to your Claude Desktop config file (`claude_desktop_config.json`):
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"mission-control": {
"command": "python",
"args": [
"C:/Users/YourUser/path/to/mission_control_mcp/mcp_server.py"
]
}
}
}
```
Or with `uvx`:
```json
{
"mcpServers": {
"mission-control": {
"command": "uvx",
"args": [
"mcp",
"run",
"C:/Users/YourUser/path/to/mission_control_mcp/mcp_server.py"
]
}
}
}
```
### Usage in Claude
After configuration, restart Claude Desktop. You can then ask Claude to:
- "Extract text from this PDF file"
- "Fetch content from this website and summarize it"
- "Search these documents for information about X"
- "Create a bar chart from this sales data"
- "Classify the intent of this email"
- "Generate KPIs from this business data"
---
## πŸ§ͺ Testing
Run the comprehensive demo:
```bash
python demo.py
```
The demo includes:
- Text extraction and processing tests
- Web fetching tests
- RAG search demonstrations
- Data visualization generation
- Email classification examples
- KPI calculation tests
- Example JSON inputs for all tools
---
## πŸ—οΈ Architecture
```
mission_control_mcp/
β”œβ”€β”€ mcp_server.py # Main MCP server
β”œβ”€β”€ app.py # Gradio web interface
β”œβ”€β”€ demo.py # Demo & test suite
β”œβ”€β”€ requirements.txt # Dependencies
β”œβ”€β”€ README.md # Documentation
β”‚
β”œβ”€β”€ tools/ # Tool implementations
β”‚ β”œβ”€β”€ pdf_reader.py
β”‚ β”œβ”€β”€ text_extractor.py
β”‚ β”œβ”€β”€ web_fetcher.py
β”‚ β”œβ”€β”€ rag_search.py
β”‚ β”œβ”€β”€ data_visualizer.py
β”‚ β”œβ”€β”€ file_converter.py
β”‚ β”œβ”€β”€ email_intent_classifier.py
β”‚ └── kpi_generator.py
β”‚
β”œβ”€β”€ models/ # Data schemas
β”‚ └── schemas.py
β”‚
└── utils/ # Utilities
β”œβ”€β”€ helpers.py # Helper functions
└── rag_utils.py # RAG/vector search utilities
```
### Design Principles
- **Modularity**: Each tool is independently implemented
- **Type Safety**: Pydantic schemas for validation
- **Error Handling**: Comprehensive error catching and logging
- **Clean Code**: Well-documented with docstrings
- **Testability**: Easy to test individual components
---
## πŸŽ–οΈ Hackathon Submission
### Track 1: MCP Server
**Server Name:** MissionControlMCP
**Description:** Enterprise automation MCP server providing 8 specialized tools for document processing, web intelligence, semantic search, data visualization, and business analytics.
### Key Features for Judges
1. **Production-Ready**: All 8 tools are fully implemented and tested
2. **MCP Compliant**: Follows MCP specification precisely
3. **Real-World Value**: Solves actual enterprise automation needs
4. **Clean Architecture**: Modular, maintainable, well-documented code
5. **Advanced Features**: RAG search with FAISS, data visualization, NLP classification
6. **Comprehensive Testing**: Full test suite with examples
7. **Easy Integration**: Works seamlessly with Claude Desktop
### Technical Highlights
- **Vector Search**: FAISS-based semantic search with sentence transformers
- **NLP Classification**: Rule-based email intent classifier with confidence scoring
- **Data Visualization**: Dynamic chart generation with matplotlib
- **File Processing**: Multi-format support (PDF, TXT, CSV)
- **Web Intelligence**: Smart web scraping with clean text extraction
- **Business Intelligence**: KPI calculation with trend analysis
---
## πŸ“ Documentation & Examples
- **[EXAMPLES.md](EXAMPLES.md)** - Real-world use cases, workflows, and ROI examples
- **[TESTING.md](TESTING.md)** - Complete testing guide with examples
- **[ARCHITECTURE.md](ARCHITECTURE.md)** - System design and architecture details
- **[API.md](API.md)** - Complete API documentation
- **[examples/](examples/)** - Sample files for testing all tools:
- `sample_report.txt` - Business report for text extraction
- `business_data.csv` - Financial data for visualization & KPIs
- `sample_email_*.txt` - Email samples for intent classification
- `sample_documents.txt` - Documents for RAG search testing
---
## οΏ½πŸ“ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
Created for the MCP 1st Birthday Hackathon – Winter 2025.
---
## 🀝 Contributing
This project was built for the hackathon, but improvements and suggestions are welcome! Check out [EXAMPLES.md](EXAMPLES.md) for usage patterns and best practices.
---
## πŸ“§ Contact
For questions about this MCP server, please reach out through the hackathon channels.
---
## 🌟 Acknowledgments
- Built with the [Model Context Protocol SDK](https://github.com/modelcontextprotocol)
- Powered by sentence-transformers, FAISS, and other open-source libraries
- Created for the MCP 1st Birthday Hackathon 2025
---
**Happy Automating! πŸš€**