Mcpify
MCPify all the projects!
Install / Use
/learn @camel-ai/McpifyQuality Score
Category
Development & EngineeringSupported Platforms
README
MCPify - Export all projects as MCP servers!
MCPify is a powerful tool that automatically detects APIs in existing projects and transforms them into Model Context Protocol (MCP) servers. This enables seamless integration of your existing command-line tools, web APIs, and applications with AI assistants and other MCP-compatible clients.
🚀 Features
- Intelligent API Detection: Multiple advanced detection strategies
- 🤖 OpenAI Detection: Use GPT-4 for intelligent API analysis and tool extraction
- 🐪 Camel-AI Detection: Leverage Camel-AI's ChatAgent framework for comprehensive analysis
- 🔍 AST Detection: Static code analysis using Abstract Syntax Trees
- 🎯 Auto-Selection: Automatically choose the best available detection strategy
- Multiple Project Types: Support for various project architectures
- CLI Tools: Detect argparse, click, typer-based command-line interfaces
- Web APIs: Support for Flask, Django, and FastAPI applications with route detection
- Interactive Commands: Identify command-based interactive applications
- Python Modules: Extract callable functions and methods
- Flexible MCP Server: Multiple ways to start and control MCP servers
- Multiple Backend Support: Works with command-line tools, HTTP APIs, Python modules, and more
- Configuration Validation: Built-in validation system to ensure correct configurations
- Parameter Detection: Automatically extract route parameters, query parameters, and CLI arguments
- Zero Code Changes: Transform existing projects without modifying their source code
- Professional Architecture: Clean separation between detection, configuration, and server execution
🎨 Interactive UI Features
MCPify now includes a powerful Streamlit-based web interface that makes repository analysis and MCP server configuration generation intuitive and interactive!
🚀 Launch the UI
# Install UI dependencies
pip install 'mcpify[ui]'
# Start the interactive web interface
python -m mcpify.ui
# Or use the convenience function
python -c "from mcpify.ui import start_ui; start_ui()"
Then navigate to http://localhost:8501 in your browser.
✨ Key UI Features
🔍 Repository Analyzer
- GitIngest-style Interface: Clean, intuitive repository input with drag-and-drop support
- Smart Examples: Pre-configured example repositories to try instantly
- Advanced Options: Configurable exclude patterns, file size limits, and detection strategies
- Real-time Progress: Visual progress indicators for each analysis phase
- Multiple Input Types: Support for GitHub URLs, local directories, and Git repositories
🤖 AI-Powered Chat Interface (Coming Soon)
- Conversational API Discovery: Describe what you need in natural language
- Smart Recommendations: AI suggests relevant APIs and tools based on your requirements
- Interactive Configuration: Build MCP configurations through guided conversations
- Context-Aware Suggestions: Leverages repository analysis for targeted recommendations
📊 Intelligent Analysis Workflow
The UI provides a 5-phase intelligent workflow:
- 📁 Input Phase: Repository selection with examples and advanced options
- 🔄 Analysis Phase: GitIngest processing with real-time progress tracking
- 💬 Chat Phase: AI-powered conversation to understand your needs
- 🎯 Confirmation Phase: Review and confirm detected APIs and tools
- ✅ Complete Phase: Download configurations and get deployment instructions
🎛️ Advanced Features
- Session Management: Save and restore analysis sessions
- Configuration Validation: Real-time validation with detailed error reporting
- Export Options: Download configurations in multiple formats
- Server Testing: Built-in MCP server testing and validation
- History Tracking: Keep track of all your analysis sessions
🖥️ UI Screenshots & Workflow
Repository Input Interface
┌─────────────────────────────────────────────────────────┐
│ ✨ MCPify ✨ │
│ Turn repositories into MCP servers │
│ │
│ 📁 Repository Input │
│ ┌─────────────────────────────────────┐ ┌───────────┐ │
│ │ https://github.com/user/repo │ │ 🔍 Analyze│ │
│ └─────────────────────────────────────┘ └───────────┘ │
│ │
│ ⚙️ Advanced Options │
│ • Exclude patterns: *.md, __pycache__/, *.pyc │
│ • Max file size: 50 KB │
│ • Detection strategy: auto │
│ │
│ 💡 Try these examples: │
│ [FastAPI Todo] [Flask Example] [CLI Tool] [API Client]│
└─────────────────────────────────────────────────────────┘
Analysis Progress Tracking
┌─────────────────────────────────────────────────────────┐
│ 🔄 Analysis Progress │
│ ████████████████████░░░░ 80% │
│ │
│ Validating Configuration │
│ Checking configuration validity... │
│ │
│ ✅ GitIngest ✅ Detect APIs 🔄 Validate ⏳ Complete │
└─────────────────────────────────────────────────────────┘
Results Dashboard
┌─────────────────────────────────────────────────────────┐
│ ✅ Analysis Complete │
│ │
│ 📊 Repository: my-fastapi-app 🗂️ Files: 45 │
│ 🐍 Language: Python ⚡ Framework: FastAPI │
│ ⏱️ Time: 12.3s 📁 Analyzed: 32 │
│ │
│ 📋 Summary | ⚙️ Configuration | 📊 Validation | 📝 Code│
│ │
│ 🎉 Generated 8 API tools with FastAPI backend │
│ 📥 Download Configuration │
└─────────────────────────────────────────────────────────┘
🎯 UI Usage Examples
Quick Repository Analysis
# Start the UI
python -m mcpify.ui
# In the browser:
# 1. Enter: https://github.com/tiangolo/fastapi
# 2. Click "🔍 Analyze"
# 3. Wait for analysis completion
# 4. Download the generated configuration
Advanced Configuration
# Start UI with custom settings
python -m mcpify.ui
# Configure advanced options:
# • Exclude patterns: "*.md, tests/, docs/"
# • Max file size: 100 KB
# • Detection strategy: openai
# • Include private repos: Yes
🔧 UI Configuration
The UI can be customized through environment variables:
# Custom port
export STREAMLIT_SERVER_PORT=8502
python -m mcpify.ui
# Custom host
export STREAMLIT_SERVER_ADDRESS=0.0.0.0
python -m mcpify.ui
# Enable debug mode
export STREAMLIT_LOGGER_LEVEL=debug
python -m mcpify.ui
🎨 UI Architecture
mcpify/ui/
├── __init__.py # UI module exports
├── main.py # UI entry point
├── app.py # Main Streamlit application
├── models.py # Data models for UI
├── session_manager.py # Session and history management
├── components/ # Reusable UI components
│ ├── __init__.py
│ ├── chat_interface.py # AI chat components
│ ├── sidebar.py # Navigation sidebar
│ └── detection_results.py # Results display
└── pages/ # Individual page implementations
├── __init__.py
└── repository_analyzer.py # Main analyzer page
🚀 UI Development
Want to contribute to the UI? Here's how to get started:
# Install UI development dependencies
pip install 'mcpify[ui,dev]'
# Run the UI in development mode
streamlit run mcpify/ui/app.py --server.runOnSave true
# Run UI tests
python -m pytest tests/test_ui_*.py -v
📦 Installation
Using pip (recommended)
pip install mcpify
From source
git clone https://github.com/your-username/mcpify.git
cd mcpify
pip install -e .
Optional Dependencies
For enhanced detection capabilities:
# For OpenAI-powered detection
pip install openai
export OPENAI_API_KEY="your-api-key"
# For Camel-AI powered detection
pip install camel-ai
🏗️ Project Architecture
mcpify/
├── mcpify/ # Core package
│ ├── cli.py # CLI interface with detection commands
│ ├── __main__.py # Module entry point
│ ├── wrapper.py # MCP protocol wrapper
│ ├── backend.py # Backend adapters
│ ├── detect/ # Detection module
│ │ ├── __init__.py # Module exports
│ │ ├── base.py # Base detector class
│ │ ├── ast.py # AST-based detection
│ │ ├── openai.py # OpenAI-powered detection
│ │ ├── camel.py # Camel-AI detection
│ │ ├── factory.py # Detector factory
│ │ └── types.py # Type definitions
│ └── validate.py # Configuration validation
├── examples/ # Example projects
├── docs/ # Documentation
└── tests/ # Test suite
🛠️ Quick Start
1. Intelligent API Detection
MCPify offers multiple detection strategies. Use the best one for your needs:
# Auto-detection (recommended): Automatically selects the best available strategy
mcpify
Related Skills
node-connect
345.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
106.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
345.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
345.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
