プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Flow Learning System

作者:ghlee0786バージョン 0.1.0i★ –iパソコンで動く
レジストリ名io.github.ghlee0786/flow-learning-system

インストール

概要

作者による説明(英語の原文)

Build motion-graphics lessons with sentence-synced TTS for any subject: one sentence, one scene.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: その他

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • レジストリには、入力が必要なキーは載っていません。

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

作者の .mcpb ファイルをダウンロード

リンク先は作者自身のファイルです。私たちが置いたり再パッケージしたりしたものではありません。ファイルを開くと、Claude Desktopがインストールします。

ターミナルでこれを実行します

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント ghlee0786 で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

その他のほかのサーバーとの比較i

  • このカテゴリのほかの32497件のうち0%よりスターが多い
  • このカテゴリのほかの32497件のうち73%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの32497件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Flow Learning Systemは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.1.0)がレジストリに届いたのは14 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにMCPBも必要です。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Zoo MCP

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

クラウドで動く★ 211昨日更新
インストール

Zoo MCP

作者:KittyCAD

An MCP server that provides access to the Zoo API for various CAD operations and tools.

パソコンで動く今日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

Flow Learning System

English · 한국어 · 日本語 · 简体中文

A learning system built on motion graphics and TTS. It works for any subject: math, science, English, biology, programming, and more. Write a lesson as JSON data and each sentence becomes one scene. The result is a single-file HTML textbook in which graphs, equations, sentence parts, 3D illustrations, and code move on screen the moment the voice starts reading the sentence they belong to. An AI uses MCP tools to write the textbook, check it, run its example code to verify the output, render 3D illustrations with Blender, record the narration, and build it. The bundled TTS (Supertonic) currently voices Korean and English, and the sample courses are in Korean.

Math · Translating a quadratic function The curve slides into its new position, and the changing part of the equation is highlighted

Science · A block on an incline On top of a Blender render, gravity splits into two components that grow out of it

English · Forming the passive voice Words move to new positions, and example sentences are read by an English voice

Biology · Structure of the animal cell Zooms into a 3D cross-section of the cell, pointing out organelles one by one

Programming · Lesson 7 (Arrays) of a 17-lesson C# syntax course — current-line highlighting, array cells filling in, an execution trace table, collapsible contents and script panels


Core idea: one sentence = one scene

  • Each say in a lesson is one scene. A scene bundles the script sentence, a large key phrase, and the visuals for that moment (graph, equation, sentence parts, image, code, variables…).
  • Narration is synthesized sentence by sentence and concatenated, and the start time of each sentence is recorded in timing.json.
  • The player reads the audio's current playback position every frame and picks the scene from it. Changing the playback speed or jumping to the middle never puts the picture and the voice out of sync.

Example courses

SubjectCourseScenesVisuals usedWhat to look for
Mathexamples/math-quadratic13plot, math, tblA curve with the same name morphs between scenes, so the translation is visible
Scienceexamples/physics-incline12img (3D render), math, bars, plotArrows grow toward force endpoints computed in 3D; zoom
Englishexamples/english-passive12tokens, example-sentence panel, tbl, flowWord chunks move to new positions; `{en…}` segments use an English voice
Biologyexamples/biology-cell13img (3D render), flow, cardsOrganelle labels move around as the view zooms into the cell cross-section
Programmingexamples/csharp-grammar321 (17 lessons)Code, variables, arrays, stack/queue/dictionary, consoleAll 48 examples are actually run and compared against the on-screen output

Adding 3D illustrations with Blender

The render_3d tool runs an AI-written Blender scene script headlessly and renders it with Cycles. When the script marks a 3D position with spot("name", (x, y, z)), the tool computes where that point lands in the perspective-projected image and saves it alongside the render. Lessons then refer to those names for labels, zoom centers, and arrows.

# Block on an incline — compute the endpoints of gravity and its two components as 3D vectors

th = math.radians(30) d = V3((math.cos(th), 0, -math.sin(th))) # down-slope direction n = V3((math.sin(th), 0, math.cos(th))) # normal to the incline spot("block", C) spot("g_tip", C + V3((0, 0, -2.6))) # gravity mg spot("par_tip", C + d * 2.6 * math.sin(th)) # mg sinθ spot("perp_tip", C - n * 2.6 * math.cos(th)) # mg cosθ

{"img": ["assets/incline.png", {

"spots": {"theta": {"label": "θ = 30°"}}, "arrows": [{"from": "block", "to": "g_tip", "label": "mg", "c": "bad"}, {"from": "block", "to": "par_tip", "label": "mg sinθ", "c": "g1"}], "zoom": 1.35, "focus": "block"}]}

Because the arrow tips are points computed in 3D, they line up exactly with the rendered incline. Scene scripts are kept in assets/src/, so they can be re-rendered at any time.

Screen layout

AreaContents
Left: ContentsLessons and sections. Collapsible; clicking a section jumps to that scene
Center: StageKey phrase + left panel (code or example sentences, with the current line highlighted) + visuals. Always dark, regardless of theme
Right: ScriptAbout 1/5 of the screen. Highlights the sentence being read; clicking a sentence plays from there. Collapsible
Bottom: TimelineProgress bar divided by scene

The top bar holds only lesson navigation, play, scene navigation, and playback speed (0.75×–2×). On phones, the contents and script panels become drawers that open over the stage.

Motion rules

When the scene changes, on-screen elements are matched by name (key) and animated. No animation needs to be specified separately: changing the data is enough to produce motion.

MotionWhenExample
SlideAn element with the same name is in a different positionArray sorting, pointer i, words moving in the passive voice
MorphThe coordinates of a curve, point, or line with the same name changeTranslating a parabola, changing its width
Fly inA source cell is given with fromanswer[(i + k) % n] = arr[i]
GrowA new arrow appearsResolving a force into components
Zoom / panAn image's zoom or focus changesPointing out cell organelles
Blink · ScatterOnly the value changes · element disappearsVariable values, Pop

Anatomy of a lesson

{

"id": 1, "group": "수학", "title": "이차함수의 평행이동", "ops": [ {"op": "part", "title": "x축 방향으로 평행이동"}, {"op": "say", "head": "{m|y = (x - 2)^2} : 오른쪽으로 2", "text": "x 자리에 x 빼기 2를 넣으면 그래프 전체가 오른쪽으로 2만큼 미끄러집니다.", "board": {"seq": [ {"plot": [{"curves": [{"fn": "(x-2)**2", "c": "g1", "key": "p"}], "points": [{"x": 2, "y": 0, "label": "꼭짓점 (2, 0)", "key": "v"}]}]}, {"math": [["y = x^2", "y = (x - 2)^2"], {"hl": [1]}]}]}} ] }

The sample courses are narrated in Korean; {en|…} segments switch to an English voice.

The ops before a say build up the screen state, and the say captures that moment, together with its sentence, as a scene. The 22 ops, 24 widgets, and sentence markup ({m|equation}, {en|English}, [[written form|spoken form]]) are documented in the [authoring guide](docs/authoring.md) (in Korean). The MCP authoring_guide tool returns the same content.

Workflow

sequenceDiagram

participant U as User participant AI as AI (Claude, etc.) participant M as Flow Learning System MCP participant F as Course folder U->>AI: "Make a lesson on cell organelles" AI->>M: authoring_guide AI->>M: course_init AI->>M: render_3d(cell scene script) M->>F: assets/cell.png + hotspot coordinates AI->>M: lesson_save(lesson JSON) M-->>AI: Validation results (missing hotspots, hard-to-read words …) AI->>M: speech_preview → pronunciation_add AI->>M: code_verify (subjects with code) AI->>M: audio_synthesize M->>F: audio/l01.mp3 + timing.json AI->>M: course_build M->>F: dist/index.html U->>F: Open with fls serve

What the checks catch:

  • Validation: unknown ops or widgets, hotspots that don't exist in the image, scenes that try to highlight lines not in the code, English words the TTS can't read
  • Code verification: actually compiles and runs each example and compares it character by character with the on-screen console output (C#: Mono or .NET SDK; Python)
  • Reading preview: 17개 → 열일곱 개 (native Korean counting), 19.6 → 십구 점 육 (Sino-Korean "nineteen point six"), 8분의 1 → 팔분의 일 ("one eighth"), {en|…} → English voice

Installation

git clone https://github.com/ghlee0786/flow-learning-system.git

cd flow-learning-system pip install -e ".[tts]"

RequirementUsed forWithout it
Python 3.10+Everything—
Supertonic ([tts])Korean and English speech synthesis. Downloads the model from Hugging Face on first runThe textbook runs without audio, using estimated timings
ffmpegSaving as mp3Saves as wav
Blender 3.6+render_3dOnly 3D illustrations are unavailable. If it is not on PATH, set FLS_BLENDER to the executable path
Mono or .NET SDKVerifying C# examplesOnly C# verification is skipped

Registering the MCP server

There is no need to keep the MCP server running. Register it once with your client, and the AI launches it on its own whenever it uses a tool (stdio).

Claude Code

claude mcp add flow-learning-system -- python -m flow_learning_system.server

Claude Desktop (claude_desktop_config.json)

{

"mcpServers": { "flow-learning-system": { "command": "python", "args": ["-m", "flow_learning_system.server"], "env": { "FLS_BLENDER": "C:\\Program Files\\Blender Foundation\\Blender 4.2\\blender.exe" } } } }

On Windows, if python points to a different environment, use the full path to python.exe in the virtual environment where you installed the package.

Tools (13)
ToolWhat it does
authoring_guideLesson format, widgets, motion rules, how to write sentences
course_init / course_statusCreate a new course / per-lesson scene count, issue count, and audio status
lesson_get / lesson_saveRead a lesson / validate and save it (not saved if there are errors)
lesson_validateValidation
render_3dBlender scene script → image + hotspot coordinates
assets_listThe course's images and their hotspot names and coordinates
speech_previewThe exact sentences the TTS will read for each scene
pronunciation_addRegister Hangul readings for English words
code_verifyCheck that example code output matches the on-screen console output
audio_synthesizeLesson audio and timing table (changed lessons only)
course_builddist/index.html + audio + images

Command line

fls validate examples/biology-cell              # validation

fls render examples/biology-cell --name cell --script scene.py # Blender render fls speech examples/english-passi

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く