Skip to main content
Glama
MCPaeroedu
by aerovfx

MCPaeroedu — AeroEdu MCP Server

License: MIT Node.js MCP

MCP server cho inphysic.com — kết nối Claude · DeepSeek · GPT · Codex · Gemini với nền tảng AeroEduVision. Sinh đề, quản lý khoá học, query Knowledge Graph, chấm bài — tất cả qua prompt tự nhiên trong client AI bạn yêu thích.

Hỗ trợ chính thức: Claude Desktop · Cursor · Cherry Studio · Cline · 5ire


🚀 Cài đặt nhanh (3 phút)

Cách A — Tải bản đóng gói (KHUYẾN NGHỊ — không cần git/npm)

Tải zip 5.3 MB cho hệ điều hành của bạn:

Yêu cầu: Node.js ≥ 18 (tải nodejs.org).

Cách B — Build từ source (cho dev)

git clone https://github.com/aerovfx/MCPaeroedu.git
cd MCPaeroedu
npm install
npm run build

Related MCP server: ateam-mcp

🔑 Setup API Key

  1. Đăng nhập inphysic.com/teacher/api-keys

  2. Bấm "+ Tạo API Key mới" → đặt tên (vd "Claude MacBook")

  3. ⚠️ Copy ngay chuỗi AERO-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (chỉ hiện 1 lần)


⚙️ Cấu hình client AI

Claude Desktop

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "aeroedu": {
      "command": "/path/to/aeroedu-mcp/bin/aeroedu-mcp",
      "env": {
        "AEROEDU_API_KEY": "AERO-your-key-here"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

Cùng format JSON như Claude Desktop. Sau đó vào Settings → Models → Custom OpenAI Endpoint:

  • Base URL: https://api.deepseek.com/v1

  • Model: deepseek-chat hoặc deepseek-reasoner

Cherry Studio (GUI desktop)

Settings → MCP Servers → + Add:

  • Name: aeroedu

  • Type: STDIO

  • Command: /path/to/aeroedu-mcp/bin/aeroedu-mcp

  • Env: AEROEDU_API_KEY = AERO-...

Cline (VS Code extension)

Cline panel → MCP Servers → Configure MCP Servers → cùng JSON format.

Windows path

Thay /path/to/aeroedu-mcp/bin/aeroedu-mcp bằng C:\\path\\to\\aeroedu-mcp\\bin\\aeroedu-mcp.cmd.


🛠 24 MCP Tools

Course (5)

  • aeroedu_course_list — list khoá học

  • aeroedu_course_create — tạo khoá mới

  • aeroedu_course_detail — chi tiết khoá

  • aeroedu_course_update — cập nhật

  • aeroedu_course_delete — xoá

Knowledge Graph (5)

  • aeroedu_kg_search — tìm node theo query

  • aeroedu_kg_node — chi tiết node

  • aeroedu_kg_path — tìm đường giữa 2 node

  • aeroedu_kg_visit — log visit + mastery

  • aeroedu_kg_extract — trích xuất concept từ text

Block (4)

  • aeroedu_block_create_video — tạo video block

  • aeroedu_block_create_pdf — tạo PDF block

  • aeroedu_block_create_quiz — tạo quiz block

  • aeroedu_block_create_lab — tạo lab block

Exam & Question (5)

  • aeroedu_exam_publish — publish đề

  • aeroedu_question_add — thêm câu hỏi vào bank

  • aeroedu_student_list — list HS

  • aeroedu_report_xp — báo cáo XP

  • aeroedu_report_progress — tiến độ HS

DaVinci Resolve (5)

  • aeroedu_davinci_* — video timeline ops (cần DaVinci Resolve cài local)


🧪 Ví dụ prompt

"Tạo cho tôi 1 đề thi Vật lí 11 chương Dao động cơ —
 10 câu MCQ, độ khó trung bình, có lời giải"

→ AI gọi aeroedu_exam_publish → Đề xuất hiện trong /teacher/exams ✓

"Liệt kê 5 khoá học gần nhất của tôi"

→ aeroedu_course_list → bảng 5 khoá + ID + status

"Tìm node 'Định luật bảo toàn năng lượng' trong KG Vật lí"

→ aeroedu_kg_search → metadata + path tới node


🔐 Bảo mật

  • API Key hash bcrypt, chỉ stored prefix trên client. Server không bao giờ thấy raw key.

  • JWT mint sau validate-key, expire 90d (ignoreExpiration enabled trên server).

  • Audit log mỗi tool call vào ~/.aeroedu-mcp/audit-YYYY-MM-DD.jsonl.

  • Revoke key bất kỳ lúc nào ở /teacher/api-keys.


📦 Build & Release

npm install              # cài deps
npm run build            # tsc → dist/
npm run dev              # watch mode (tsx)
npm run pack:release     # build zip cho Mac + Win → releases/

Output: releases/aeroedu-mcp-vX.Y.Z-{mac,win}.zip (mỗi 5.3 MB)

Upload public:

gsutil cp releases/aeroedu-mcp-v*-{mac,win}.zip \
  gs://aeroedu-media-extreme-lattice-491123-p2/mcp/

🌐 Tài nguyên


📜 License

MIT — Copyright (c) 2026 AeroEduVision


🐛 Issues

Báo lỗi hoặc đề xuất tại: GitHub Issues

Hoặc email: support@inphysic.com

Available Tools

24 tools
aeroedu_block_add_labA

Thêm lab challenge thực hành vào bài học. Các loại lab AeroEdu hỗ trợ: circuit (mạch điện Wokwi), graph (đồ thị toán), python (thực thi code), arduino (mô phỏng board), custom (iframe embed). HS tương tác trực tiếp trong trình duyệt không cần cài đặt.

Inputs: lesson_id (required), lab_type (required), title (required), description, +3 more.

aeroedu_block_add_pdfA

Đính kèm tài liệu PDF vào bài học (sách giáo khoa, handout, slide). PDF được hiển thị inline trong trình xem bài học của học sinh.

Inputs: lesson_id (required), pdf_url (required), title, page_count, +1 more.

aeroedu_block_add_quizA

Gắn 1 đề thi/quiz vào bài học để học sinh làm bài ngay trong khoá học. Dùng exam_id từ aeroedu_exam_create. Học sinh làm xong → điểm tự động ghi vào GradeBook.

Inputs: lesson_id (required), exam_id (required), title, required, +1 more.

aeroedu_block_add_videoA

Thêm video block vào bài học. Hỗ trợ YouTube (youtube.com/watch?v=...), Google Drive, hoặc URL trực tiếp MP4/WebM (từ GCS bucket AeroEdu). Video sẽ xuất hiện theo thứ tự position trong bài học.

Inputs: lesson_id (required), video_url (required), title, duration_seconds, +1 more.

aeroedu_chapter_addA

Thêm 1 chương mới vào khoá học. Trả về chapter_id để dùng cho aeroedu_lesson_add.

Inputs: course_id (required), title (required), order, description.

aeroedu_course_createA

Tạo khoá học mới trên AeroEdu (trạng thái draft). Trả về courseId để dùng cho aeroedu_chapter_add. Môn học hỗ trợ: math, physics, chemistry, biology, literature, english, history, geography, informatics, technology, stem, other.

Inputs: title (required), subject (required), grade, description, +2 more.

aeroedu_course_listA
Read-onlyIdempotent

Liệt kê các khoá học của giáo viên hiện tại trên AeroEdu (inphysic.com). Trả về id, tên, môn học, lớp, trạng thái, số chương, số học sinh. Dùng status='all' để xem tất cả kể cả draft/archived.

Inputs: status, limit, offset.

aeroedu_davinci_clip_importA

Import file video/audio vào Media Pool của DaVinci Resolve. File phải là đường dẫn tuyệt đối trên máy (local file). Clip được import vào bin 'MCP Import' (tự tạo nếu chưa có).

Inputs: file_path (required), bin_name.

aeroedu_davinci_color_apply_lutA
Idempotent

Áp dụng LUT (Look-Up Table) màu lên tất cả clip trong timeline của Resolve. LUT được apply vào node chỉ định trên Color page. Resolve chuyển sang Color page tự động. File LUT: .cube, .3dl, .dat, .m hoặc các format Resolve hỗ trợ.

Inputs: lut_path (required), timeline_name, node_index.

aeroedu_davinci_project_openA
Idempotent

Mở hoặc tạo project trong DaVinci Resolve. DaVinci Resolve phải đang chạy trên máy. Sau khi mở project có thể dùng aeroedu_davinci_clip_import để import video.

Inputs: project_name (required), create_if_missing.

aeroedu_davinci_render_startA

Bắt đầu render queue trong DaVinci Resolve. Nếu wait=true (mặc định), tool sẽ đợi đến khi render xong và báo kết quả. Nếu wait=false, trả về ngay và render tiếp tục nền trong Resolve. Dùng aeroedu_davinci_timeline_export trước để set up render job.

Inputs: wait, timeout_seconds.

aeroedu_davinci_timeline_exportA

Thiết lập render job trong Resolve Deliver page. Hỗ trợ format: mp4 (H264/H265), mov (ProRes), prores, dnxhd. Sau khi gọi tool này, dùng aeroedu_davinci_render_start để bắt đầu render.

Inputs: output_path (required), format, codec, timeline_name, +1 more.

aeroedu_exam_createA

Tạo đề thi với danh sách câu hỏi. 4 loại câu: mcq (trắc nghiệm 4 đáp án), true_false_4 (Đúng-Sai 4 mệnh đề chuẩn THPT VN), short_answer (trả lời ngắn), essay (tự luận). Hỗ trợ LaTeX trong nội dung câu hỏi (\frac, \sqrt, v.v.).

Inputs: title (required), subject (required), duration_minutes (required), questions (required), +4 more.

aeroedu_exam_publishA
Idempotent

Publish đề thi để học sinh có thể thấy và làm bài. Sau khi publish có thể set thời gian bắt đầu/kết thúc (nếu là đề thi có lịch) hoặc để trống cho đề luyện tập tự do. Dùng exam_id từ aeroedu_exam_create.

Inputs: exam_id (required), is_public, status.

aeroedu_kg_extractA

Trích xuất các khái niệm (node) Knowledge Graph từ văn bản hoặc tài liệu giáo khoa. AI (Claude) phân tích nội dung → xác định khái niệm chính, mối quan hệ prerequisite, và đề xuất thêm vào KG. Dùng để mở rộng KG từ giáo trình, bài giảng, sách giáo khoa.

Inputs: text (required), subject (required), grade, auto_add.

aeroedu_kg_node_detailA
Read-onlyIdempotent

Xem chi tiết 1 node trong Knowledge Graph: mô tả đầy đủ, các khái niệm liên quan, tài liệu học tập gắn với node, thống kê mastery của học sinh. Dùng node_id từ kết quả aeroedu_kg_search.

Inputs: node_id (required), include_resources.

aeroedu_kg_path_findA
Read-onlyIdempotent

Tìm lộ trình học tập tối ưu từ khái niệm A đến khái niệm B trong Knowledge Graph. Dùng BFS để tìm đường ngắn nhất qua các prerequisite. Trả về danh sách node cần học theo thứ tự + thời gian ước tính.

Inputs: from_node_id (required), to_node_id (required), max_depth.

aeroedu_kg_record_visitA

Ghi nhận học sinh đã học / ôn tập 1 node trong Knowledge Graph. Cập nhật mastery score của học sinh. Dùng sau khi HS hoàn thành bài học liên quan đến khái niệm đó.

Inputs: node_id (required), mastery_score, duration_seconds, source.

aeroedu_lesson_addA

Thêm 1 bài học vào chương. 5 loại: video (có videoUrl), reading (nội dung markdown), quiz (trắc nghiệm), assignment (bài tập nộp), lab (thí nghiệm). Trả về lesson_id.

Inputs: chapter_id (required), title (required), type (required), duration_minutes, +3 more.

aeroedu_question_create_bulkA

Tạo nhiều câu hỏi cùng lúc vào Ngân hàng câu hỏi (tối đa 50 câu/lần). Lý tưởng sau khi Claude sinh câu hỏi từ tài liệu → import hàng loạt. Câu hỏi sẽ có trạng thái 'Hoạt động' và gắn tên GV tạo.

Inputs: subject (required), grade (required), questions (required).

aeroedu_report_examA
Read-onlyIdempotent

Xem báo cáo phân tích kết quả đề thi: điểm trung bình, phân phối điểm, tỉ lệ đúng/sai từng câu, chỉ số Cronbach alpha (độ tin cậy đề thi), HS điểm cao nhất/thấp nhất. Dùng exam_id từ aeroedu_exam_create hoặc aeroedu_exam_publish.

Inputs: exam_id (required).

aeroedu_student_listA
Read-onlyIdempotent

Liệt kê học sinh trong 1 lớp. Trả về tên, email, mã số HS, ngày sinh, giới tính. Dùng class_id từ danh sách lớp của GV (xem tại https://inphysic.com/teacher/classes).

Inputs: class_id (required), limit, offset.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 24 tools

    Disambiguation5/5

    Each tool targets a distinct function: course creation, content blocks, exams, knowledge graph, DaVinci editing, question bank, and student/report operations. Within each group, tools are clearly differentiated (e.g., block_add_lab vs block_add_pdf). No two tools appear to overlap in purpose.

    Naming Consistency2/5

    All tools share the 'aeroedu_' prefix, but the structure after that is inconsistent. Some follow module_verb_noun (e.g., aeroedu_block_add_lab), others module_noun_verb (e.g., aeroedu_davinci_clip_import), and some use just verb or noun (e.g., aeroedu_kg_search, aeroedu_report_exam). Within the same module (e.g., kg), patterns vary (extract, node_detail, path_find, record_visit).

    Tool Count4/5

    24 tools cover a wide array of educational tasks from course management to video editing. While the count is high, each tool serves a distinct purpose within the platform's scope. The number is slightly above typical but still appropriate for a comprehensive educational server.

    Completeness3/5

    The tool set covers major workflows (course creation, content delivery, exam management, knowledge graph, question bank, video editing), but lacks update and delete operations for courses, chapters, lessons, exams, and questions. This creates gaps in lifecycle management that agents may need to work around.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers