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.
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.
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.
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│ │
│ └─────────┘ └─────────┘ │
└──────────────────────────┘
Clone the repository:
git clone https://github.com/CHILDEDUAI/aichildedu.git
cd aichildedu
Create an .env
file 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
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
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']}")
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']}%")
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'])
The API documentation is available at:
http://localhost:8000/docs
http://localhost:8001/docs
http://localhost:8002/docs
http://localhost:8003/docs
http://localhost:8010/docs
http://localhost:8011/docs
http://localhost:8012/docs
http://localhost:8013/docs
Handles user management, authentication, and authorization. Manages user profiles, child accounts, and parental controls.
Manages educational content creation, storage, retrieval, and organization with the following features:
Content Types Management:
Content Organization:
Content Filtering and Search:
Content Metadata:
User Interaction:
Multimedia Asset Management:
Tracks learning progress, personalized learning paths, and educational achievements with the following features:
Learning Path Management:
Assessment and Evaluation:
Personalization Features:
Progress Reporting:
Collaborative Learning:
Learning Support:
Creates educational stories and quizzes with the following features:
Creates illustrations to accompany educational content:
Provides audio narration for educational content:
Creates educational videos and animations:
This project follows PEP 8 style guidelines. Please ensure your code adheres to these standards before submitting PRs.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
No configuration available
Related projects feature coming soon
Will recommend related projects based on sub-categories