CuriousLearner / README.md
afmjoaa
Updated social media post link and demo video link
bc5d810

A newer version of the Gradio SDK is available: 6.13.0

Upgrade
metadata
title: Curious Learner
emoji: πŸ€–
colorFrom: purple
colorTo: blue
sdk: gradio
sdk_version: 6.0.1
app_file: app.py
pinned: true
license: mit
short_description: Dynamic UI ReAct Agent Builder
tags:
  - mcp-in-action-track-enterprise
  - mcp-in-action-track-consumer

πŸ€– Curious Learner

Happy 1st Birthday, MCP! πŸŽ‰

A revolutionary no-code platform that makes Model Context Protocol (MCP) servers accessible to everyone through intelligent conversation. Built for the MCP 1st Birthday Hackathon, Curious Learner transforms complex MCP server interactions into simple, natural conversationsβ€”no coding required.

Built for: MCP 1st Birthday Hackathon Tracks: MCP in Action - Enterprise & Consumer


πŸŽ₯ See It In Action

Demo Video

πŸ“Ή Watch on YouTube

See how Curious Learner creates GitHub repositories and pull requests through simple conversation, with dynamic UI automatically collecting missing parameters

πŸš€ Try it live on Hugging Face Spaces


πŸ“Έ Screenshots

Dashboard - Agent Management Agent Creation Interface Live Chat with Agent


πŸ“± Social Media

πŸ”— View on LinkedIn


✨ What Makes This Special

MCP servers are powerful, but they often require technical setup and custom interfaces. Curious Learner changes that.

🌟 Key Differentiators

  • πŸ€– Intelligent Conversation: Just chat naturally - the agent understands what you want to do and identifies the right MCP tools automatically

  • πŸ“± True Cross-Platform: Works seamlessly as a mobile app, desktop application, or website - same intelligent agent, everywhere you need it

  • 🎨 Dynamic UI Generation: Missing a parameter? No problem. The agent creates beautiful UI forms on-the-fly to collect exactly what it needs

  • πŸ”Œ One-Line Embeddable: Add a single line of JavaScript to your website, and the chatbot lives there - fully functional, zero configuration

  • πŸ”§ MCP Server Agnostic: Currently powered by GitHub MCP, but swap in any MCP server you want - your tools, your way


πŸš€ How It Works

Simple 4-Step Process

  1. πŸ’¬ Chat Naturally Tell the agent what you want: "Create a new repository called demo-project"

  2. 🎯 Automatic Tool Detection The agent identifies you want to use the GitHub create-repo tool

  3. πŸ“‹ Smart Parameter Collection Missing information? A clean UI appears asking for details like repository description, visibility, etc.

  4. ⚑ Instant Execution Provide the details, and the agent executes the MCP tool on your behalf

That's it. No code. No configuration. Just conversation.


πŸ› οΈ Technology Stack

Core Framework

  • Frontend: Gradio 6+ (Python-based dynamic UI)
  • Backend: Python with Firebase integration
  • AI Models: OpenAI GPT-4o family (GPT-4o, GPT-4o-mini)
  • Database: Firebase Firestore
  • Authentication: Firebase Auth
  • Deployment: Hugging Face Spaces

Intelligent Architecture

  • MPF (Missing Parameter Function): Detects required vs. provided parameters
  • UI LLM: Generates contextual prompts and interface elements
  • State Management: Handles complex multi-step workflows
  • MCP Integration Layer: Protocol-compliant server communication

πŸ“‹ MCP Integration Details

GitHub MCP Server

Currently integrated with GitHub MCP Server to enable powerful repository operations:

  • βœ… Create repositories
  • βœ… Commit code changes
  • βœ… Push to repositories
  • βœ… Create and manage pull requests
  • βœ… Pull latest changes
  • βœ… Create and switch branches
  • βœ… Comprehensive repository management

MCP Server Agnostic Design

The architecture is designed to work with any MCP server:

  • Plug-and-play server swapping
  • Automatic tool discovery
  • Dynamic parameter handling
  • Server-specific credential management

Want to use a different MCP server? Simply configure it during agent creation - the intelligent parameter collection and execution flow works the same way.


πŸ”§ Quick Start

Try It Now

Launch Curious Learner on Hugging Face Spaces β†’

  1. Register or sign in
  2. Click "Create React Agent"
  3. Configure your agent (name, model, MCP server)
  4. Enable GitHub MCP and provide your token
  5. Start chatting with your agent!

Local Development

# Clone the repository
git clone https://huggingface.co/spaces/MCP-1st-Birthday/CuriousLearner
cd CuriousLearner

# Install dependencies
pip install -r requirements.txt


# Run the app
python app.py

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚          Gradio UI (Frontend)            β”‚
β”‚  Cross-Platform: Web, Mobile, Desktop   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         Session Management               β”‚
β”‚    Authentication & Authorization        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚       Database Operations                │────▢│   Firebase   β”‚
β”‚   User, Agent, Workspace Management      β”‚     β”‚  Firestore   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚       Agent Creator & Configurator       β”‚
β”‚      MCP Server Setup & Integration      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    Intelligent Chatbot Engine            β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  MPF (Missing Parameter Function)  β”‚  β”‚
β”‚  β”‚   - Tool detection                 β”‚  β”‚
β”‚  β”‚   - Parameter analysis             β”‚  β”‚
β”‚  β”‚   - Gap identification             β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚       UI LLM Generator             β”‚  β”‚
β”‚  β”‚   - Dynamic form creation          β”‚  β”‚
β”‚  β”‚   - Context-aware prompts          β”‚  β”‚
β”‚  β”‚   - User input validation          β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚      State Management              β”‚  β”‚
β”‚  β”‚   - Multi-step workflows           β”‚  β”‚
β”‚  β”‚   - Conversation context           β”‚  β”‚
β”‚  β”‚   - Parameter persistence          β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚      MCP Server Integration Layer        β”‚
β”‚     Protocol-Compliant Communication     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
         β”‚                   β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  GitHub MCP   β”‚   β”‚  Any MCP Server β”‚
β”‚    Server     β”‚   β”‚  (Pluggable)    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ’‘ Use Cases

πŸ”₯ GitHub Operations (Demo Showcase)

  • Repository Management: Create repos, manage branches, handle PRs
  • Code Collaboration: Commit changes, review code, merge workflows
  • Developer Automation: Streamline repetitive Git operations

πŸš€ Enterprise Applications

  • Developer Assistants: AI-powered code reviews and repository management
  • Team Collaboration: Specialized agents for different team functions
  • Workflow Automation: Connect to internal MCP servers for custom tools

πŸ’Ό Business Solutions

  • Customer Support: Deploy agents with knowledge bases connected to your systems
  • Content Creation: Agents that help with writing, editing, and publishing
  • Research Assistants: Information gathering with access to specialized databases

🌐 Integration Scenarios

  • Website Integration: Embed the chatbot in your site with one line of code
  • Mobile Applications: Full-featured mobile agent experience
  • Desktop Tools: Native desktop application with same capabilities

πŸ‘₯ Team

  1. A F M Mohimenul Joaa
    1. Email: mohimenul.joaa@gmail.com
    2. Hugging Face Username: afmjoaa
    3. Role: ML Engineer @infai
  2. Md. Mosiur Rahman Sweet
    1. Email: sweet.csevu@gmail.com
    2. Hugging Face Username: urshimo
    3. Role: ML Engineer @infai
  3. Prattoy Majumder
    1. Email: mprattoy@gmail.com
    2. Hugging Face Username: mprattoy
    3. Role: ML Engineer @infai
  4. Md. Zahidul Islam
    1. Email: jahidhasan.r150@gmail.com
    2. Hugging Face Username: jahidhasanco
    3. Role: ML Engineer @infai

πŸ“„ License

MIT License


πŸ™ Acknowledgments

  • MCP 1st Birthday Hackathon: Thank you to the organizers for creating this amazing challenge and celebrating MCP's first year
  • Anthropic: For developing the Model Context Protocol that makes this possible
  • Hugging Face: For providing the Spaces platform and hosting this project
  • Gemini: For the Gemini models powering the intelligent agent
  • OpenAI: For the GPT models powering the intelligent agent
  • Firebase: For reliable backend services and authentication

πŸ“ž Contact & Support


#MCP1stBirthday #GradioAgents #AIAgents #NoCode #ModelContextProtocol