--- 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! ๐Ÿš€**