š MCP Space Platform
š Overview
MCP Space is a complete platform for building and deploying AI tools using the Model Context Protocol (MCP). The system enables developers to create powerful AI agents through an intuitive chat interface without writing code, then deploy them with a single click to Cloudflare Workers.
The platform consists of two main components:
- Frontend Application: A Next.js web interface for designing, managing, and deploying MCP servers
- Google ADK Backend: An AI agent system that generates MCP server implementations based on user requirements
⨠Key Features
šļø System Architecture
The MCP Space platform combines multiple technologies to provide a seamless experience:
-
User Interface Layer:
- Next.js 14+ frontend with TypeScript
- Redux for state management
- Tailwind CSS with shadcn/ui components
- Real-time updates and responsive design
-
AI Agent Layer:
- Google Agent Development Kit (ADK)
- Gemini API for natural language processing
- Sequential agent orchestration
- Information collection and code generation
-
Storage & Authentication Layer:
- Supabase PostgreSQL database
- Google OAuth authentication
- Secure environment variable management
- Persistent deployment tracking
-
Deployment Layer:
- Cloudflare Workers for server hosting
- Automatic build and deployment pipeline
- MCP protocol compliance testing
- Deployment status monitoring
š Project Structure
The MCP Space project is divided into two main directories:
Frontend Application (/frontend)
frontend/
āāā š± src/ # Next.js application source
ā āāā š§© app/ # Next.js App Router pages
ā āāā š§± components/ # React components
ā āāā š lib/ # Core functionality
ā āāā š ļø utils/ # Utility services
āāā š¼ļø public/ # Static assets
āāā š supabase/ # Database configuration
Google ADK Backend (/google-adk)
google-adk/
āāā š manager/ # Agent management system
ā āāā š§ config/ # Configuration utilities
ā āāā š schema/ # Data schemas
ā āāā š¤ sub_agents/ # Specialized AI agents
āāā š¼ļø public/ # Static assets and images
š¬ Demo Video
https://github.com/user-attachments/assets/efa11737-023b-42d1-916b-8b9cc592420f
š Getting Started
Prerequisites
- Node.js 18+ (for Frontend)
- Python 3.9+ (for Google ADK)
- Google Cloud account with Gemini API access
- Supabase account
Running the Frontend
# Clone the repository
git clone https://github.com/tharuneshwar-s/mcp-space.git
cd mcp-space/frontend
# Install dependencies
npm install
# Set up environment variables
cp .env.local.example .env.local
# Edit .env.local with your API keys
# Start the development server
npm run dev
Visit http://localhost:3000 to access the application.
Running the Google ADK Backend
# Navigate to the ADK directory
cd mcp-space/google-adk
# Install dependencies
pip install -r requirements.txt
# Set up environment variables
# Create .env file with required API keys
# Start the ADK web server
adk web --session_db_url="postgresql+psycopg2://{DB_USERNAME}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}" --allow_origins="*"
The ADK server will be available at http://localhost:8080.
š Integration Flow
The frontend and backend components work together to provide a seamless experience:
- User starts in the Frontend: Authenticates and begins a new MCP server project
- Google ADK conversation begins: User explains their requirements to the AI assistant
- Information Collection: The system gathers specifications for the MCP server
- Code Generation: Complete TypeScript implementation is generated
- Configuration: Environment variables and settings are configured
- Deployment: The server is built and deployed to Cloudflare Workers
- Testing & Monitoring: The deployed server is tested and monitored
š Documentation
For more detailed information, see the individual README files for each component:
š„ Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
š License
This project is licensed under the MIT License.