Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FLS_BLENDERNoPath to the Blender executable. Only needed if Blender is not on PATH; used by the render_3d tool.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
authoring_guideA

레슨 JSON 형식(op, 장면 옵션, 위젯), 모션 규칙, TTS 문장 쓰는 법을 담은 가이드. 레슨을 쓰기 전에 읽으세요.

course_initC

새 코스 폴더를 만듭니다. code_lang: csharp | python, voice: F1F5, M1M5.

course_statusC

코스의 레슨 목록, 장면 수, 형식 문제 수, 음성 상태를 보여 줍니다.

lesson_getC

레슨 JSON 하나를 그대로 돌려줍니다(고쳐 쓸 때).

lesson_saveB

레슨 JSON을 검사하고, 오류가 없으면 lessons/NN.json으로 저장합니다(같은 id면 덮어씀). lesson = {"id": 1, "group": "...", "title": "...", "sub": "...", "ops": [...]}

lesson_validateB

레슨 형식을 검사합니다(없는 코드 줄, 모르는 op·위젯, 읽기 어려운 단어 등). lesson_id를 비우면 전체.

speech_previewC

장면마다 TTS가 실제로 읽을 문장을 보여 주고, 영어 단어처럼 읽기 어려운 조각을 표시합니다.

pronunciation_addC

영어 단어의 한글 읽기를 코스에 등록합니다. 예: word="Dictionary", reading="딕셔너리".

code_verifyC

코드 블록을 실제로 컴파일·실행해 화면 콘솔 출력(out/write)과 같은지 확인합니다. C#은 mono 또는 dotnet, Python은 python.

audio_synthesizeA

Supertonic TTS로 레슨 음성(audio/lNN.mp3)과 문장별 시각표(timing.json)를 만듭니다. 바뀌지 않은 레슨은 건너뜁니다. 레슨이 많으면 lesson_id를 하나씩 주어 나눠 실행하세요.

render_3dA

Blender로 3D 장면을 렌더해 assets/.png 와 핫스폿 좌표를 만듭니다. script: bpy 파이썬 코드(장면만 만들면 됨). spot("이름", (x, y, z))로 찍은 3D 위치가 이미지의 어디인지 계산되어, 레슨에서 {"img": ["assets/.png", {"spots": ["이름"], "arrows": [{"from": "a", "to": "b"}]}]}로 가리킬 수 있습니다. 도우미: mat(이름, (r,g,b), rough, metal, emit, sss), paint(obj, mat), spot, camera(위치, 대상, lens), sun, area, world, look_at, cylinder_between. Blender가 PATH에 없으면 FLS_BLENDER 환경 변수에 실행 파일 경로를 넣으세요.

assets_listB

코스의 이미지와 각 이미지의 핫스폿 이름·좌표(0~1)를 보여 줍니다.

course_buildC

한 파일짜리 HTML 플레이어(dist/index.html)와 음성 파일을 만듭니다. 음성이 없는 레슨은 소리 없이 예상 시간으로 진행합니다.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
guide_resource레슨 작성 가이드

TDQS

B3.4/5.0

Scored across 13 tools

Disambiguation4/5

Each tool maps to a distinct stage of the authoring pipeline (init → guide → lesson_get/save/validate → speech_preview/audio_synthesize → render_3d → course_build), so selection is mostly unambiguous. Minor overlap exists between lesson_validate and lesson_save (which also validates), and between speech_preview and audio_synthesize (both deal with TTS text/audio).

Naming Consistency4/5

The dominant convention is noun_verb (lesson_get, lesson_save, lesson_validate, course_init, course_build, course_status, assets_list, speech_preview, pronunciation_add, code_verify, audio_synthesize), which is predictable. Deviations are small: render_3d is verb-first and authoring_guide has no verb at all.

Tool Count5/5

13 tools is well within the ideal range and each covers a discrete authoring concern (course scaffolding, lesson CRUD/validation, speech, 3D assets, build, status, docs). No obvious filler tools or redundant wrappers.

Completeness4/5

The lesson and course lifecycle is well covered: init, get, save, validate, status, build, plus speech and asset generation. Gaps are minor but real — there is no lesson delete/list-by-id beyond course_status, no way to remove or inspect registered pronunciations, and no asset deletion tool.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues