Edumcp
EDUMCP is a protocol that integrates the Model Context Protocol (MCP) with applications in the education field, dedicated to achieving seamless interconnection and interoperability among different AI models, educational applications, smart hardware, and teaching AGENTs.
Install / Use
/learn @aieducations/EdumcpREADME
EDUMCP
<div align="center"> <a href="https://aichildedu.xyz/"> <img src="https://raw.githubusercontent.com/aieducations/edumcp/refs/heads/main/assets/logo.jpg" margin-top="15px" margin-bottom="15px" width="200px" alt="Logo"> </a> </div>EDUMCP, short for Educational Model Context Protocol, is an innovative open platform protocol designed to break down the silo effect currently seen in AI applications within education. Built on the robust Model Context Protocol (MCP), EDUMCP enables seamless interconnection and interoperability among diverse AI models, educational applications, smart hardware, and even teaching content.
An AI tutoring system can easily share and understand data and context with a story generation model, an interactive game engine, or a virtual experiment platform. By establishing such a standardized communication bridge, EDUMCP brings unprecedented possibilities to the field of education, enabling various AI tools to work together to provide users with richer, more personalized, and more inspiring learning content and services.
EDUMCP One-Sentence Video Creation Framework
You only need to provide a one-sentence topic, and EDUMCP can generate a roughly 30-60 second animated video for children. It will support translation of English: dialogue content modification and image changes. like:Create an video that EDUMCP robot that makes the ROYA start to enjoy learning.
Overview
AICHILDEDU is an innovative educational platform designed specifically for children, leveraging the power of AI to create engaging, personalized, and educational content. The platform uses a microservice architecture to deliver a variety of AI-powered educational experiences, allowing for flexible scaling and feature expansion.
Features
- Personalized Story Generation: Create custom educational stories tailored to specific age groups, themes, and educational focuses
- Educational Quiz Creation: Generate engaging quizzes and questions that reinforce learning objectives
- Multimedia Integration: Combine text, images, voice, and video into comprehensive educational materials
- Age-Appropriate Content: Content customization based on age groups and developmental stages
- Multi-Language Support: Support for content generation in multiple languages
- User Management: Comprehensive user system with parent, teacher, and admin roles
- Parental Controls: Robust parental control features to ensure child-appropriate content
- Asynchronous Processing: Non-blocking task execution for resource-intensive AI operations
System Architecture
EDUMCP follows a microservice architecture with the following key components:
┌─────────────────┐
│ API Gateway │
└───────┬─────────┘
│
┌────────┬────────┬────────────────┼────────────────┬────────────────┐
│ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼
┌──────────┐ ┌─────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ User │ │ Content │ │ Learning │ │Recommendation│ │ Analytics │
│ Service │ │ Service │ │ Service │ │ Service │ │ Service │
└──────────┘ └─────────┘ └──────────────┘ └──────────────┘ └──────────────┘
┌──────────────────────────┐
│ AI Services │
│ │
│ ┌─────────┐ ┌─────────┐ │
│ │ Text │ │ Image │ │
│ │Generator│ │Generator│ │
│ └─────────┘ └─────────┘ │
│ ┌─────────┐ ┌─────────┐ │
│ │ Voice │ │ Video │ │
│ │Generator│ │Generator│ │
│ └─────────┘ └─────────┘ │
└──────────────────────────┘
Technologies Used
- Backend: Python, FastAPI, Uvicorn
- Databases: PostgreSQL, MongoDB, Redis
- AI & ML: LangChain, EDUMCP GPT models, TensorFlow, PyTorch, Transformers
- Storage: MinIO (Object Storage)
- Search: Elasticsearch
- Containerization: Docker, Docker Compose
- Authentication: JWT-based authentication
Getting Started
Prerequisites
- Docker and Docker Compose
- Python 3.10 or higher (for local development)
Installation
-
Clone the repository:
git clone https://github.com/CHILDEDUAI/aichildedu.git cd aichildedu -
Create an
.envfile in the root directory with the following variables:# Database POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres MONGODB_URI=mongodb://mongodb:27017/ MONGODB_DB=EDUMCP # Authentication SECRET_KEY=your_secret_key_change_in_production -
Start the services using Docker Compose:
docker-compose up -d -
The API Gateway will be available at
http://localhost:8000
Local Development Setup
-
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate` -
Install dependencies:
pip install -r requirements.txt -
Run the desired service:
uvicorn aichildedu.user_service.main:app --reload --port 8001
Usage Examples
Generating a Story
import requests
api_url = "http://localhost:8000/api/v1/ai/text/story"
story_request = {
"title": "The Curious Robot",
"theme": "Technology and Friendship",
"age_group": "6-8",
"characters": [
{
"name": "Robo",
"description": "A curious and friendly robot who wants to learn about the world"
},
{
"name": "Mia",
"description": "A smart girl who loves technology and building things"
}
],
"educational_focus": "Introduction to robotics and programming concepts",
"length": "medium",
"language": "en"
}
response = requests.post(api_url, json=story_request)
task = response.json()
print(f"Story generation task created: {task['task_id']}")
print(f"Check status at: {task['status_check_url']}")
Checking Task Status
import requests
task_id = "task_12345"
status_url = f"http://localhost:8000/api/v1/ai/text/tasks/{task_id}"
response = requests.get(status_url)
status = response.json()
print(f"Task status: {status['status']}")
print(f"Progress: {status['progress']}%")
Retrieving Generated Content
import requests
task_id = "task_12345"
result_url = f"http://localhost:8000/api/v1/ai/text/tasks/{task_id}/result"
response = requests.get(result_url)
story = response.json()
print(f"Story Title: {story['title']}")
print(f"Summary: {story['summary']}")
print("\nContent:")
print(story['content'])
API Documentation
The API documentation is available at:
- API Gateway:
http://localhost:8000/docs - User Service:
http://localhost:8001/docs - Content Service:
http://localhost:8002/docs - Learning Service:
http://localhost:8003/docs - AI Text Generator:
http://localhost:8010/docs - AI Image Generator:
http://localhost:8011/docs - AI Voice Generator:
http://localhost:8012/docs - AI Video Generator:
http://localhost:8013/docs
Service Architecture
User Service
Handles user management, authentication, and authorization. Manages user profiles, child accounts, and parental controls.
Content Service
Manages educational content creation, storage, retrieval, and organization with the following features:
-
Content Types Management:
- Stories: Interactive educational narratives with character development, themes, and moral lessons
- Quizzes: Customizable question sets with answers, difficulty levels, and scoring mechanisms
- Lessons: Structured learning materials with educational objectives and prerequisites
-
Content Organization:
- Categories: Hierarchical organization of content with parent-child relationships
- Tags: Flexible content labeling for improved discoverability and filtering
- Collections: User-created or curated sets of content (custom, curriculum, featured)
-
Content Filtering and Search:
- Age-appropriate filtering based on min/max age ranges
- Difficulty level filtering (beginner, intermediate, advanced)
- Content rating filtering (G, PG, educational)
- Multi-language support
- Full-text search capabilities
-
Content Metadata:
- Educational value tracking
- Subjects and themes classification
- Reading time estimation
- Word count metrics
-
User Interaction:
- Content reactions (like, favorite, helpful)
- Content sharing and permissions
- User-specific content collections
-
Multimedia Asset Management:
- Storage and retrieval of images, audio, and video assets
- Asset association with educational content
Learning Service
Tracks learning progress, pers
