VenuVidya — Carnatic Flute Study Guide
Kannada/English Carnatic flute KSGMS syllabus — search lessons, log practice, ask a RAG guru.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"venuvidya": {
"url": "https://venuvidya-backend-production.up.railway.app/api/mcp/"
}
}
}원격 엔드포인트
https://venuvidya-backend-production.up.railway.app/api/mcp/streamable-http할 수 있는 일
도구 목록
도구 (7)
🟢search_syllabus(query, k, level)
Keyword (BM25) search across all Carnatic flute lessons. Args: query: Natural-language question or keywords (English or Kannada). k: Number of top results to return (1-10, default 4). level: Optional filter — 'junior', 'senior' or 'vidwat'.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"title": "Query",
"type": "string"
},
"k": {
"default": 4,
"title": "K",
"type": "integer"
},
"level": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Level"
}
},
"required": [
"query"
],
"title": "search_syllabusArguments"
}🟢get_lesson(lesson_id)
Fetch the full study content of a single lesson. Args: lesson_id: Lesson identifier, e.g. 'junior-theory-1-4'.
입력 스키마
{
"type": "object",
"properties": {
"lesson_id": {
"title": "Lesson Id",
"type": "string"
}
},
"required": [
"lesson_id"
],
"title": "get_lessonArguments"
}🟢list_lessons(level, category)
List lesson metadata. Filter by level/category. Args: level: 'junior' | 'senior' | 'vidwat'. category: e.g. 'theory-1', 'practical-1', etc.
입력 스키마
{
"type": "object",
"properties": {
"level": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Level"
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Category"
}
},
"title": "list_lessonsArguments"
}🟢list_classes(mcp_token, level, limit)
List recent class journal entries (date descending) for YOUR account. Args: mcp_token: Your personal VenuVidya token — GET /api/auth/mcp-token while signed in to the app. Scopes results to your journal only. level: optional level filter. limit: max number of classes (1-100, default 20).
입력 스키마
{
"type": "object",
"properties": {
"mcp_token": {
"title": "Mcp Token",
"type": "string"
},
"level": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Level"
},
"limit": {
"default": 20,
"title": "Limit",
"type": "integer"
}
},
"required": [
"mcp_token"
],
"title": "list_classesArguments"
}🟢get_class(class_id, mcp_token)
Fetch a single class journal entry with its items and practice log. Only returns it if it belongs to your account (mcp_token). Args: class_id: The class to fetch. mcp_token: Your personal VenuVidya token — GET /api/auth/mcp-token.
입력 스키마
{
"type": "object",
"properties": {
"class_id": {
"title": "Class Id",
"type": "string"
},
"mcp_token": {
"title": "Mcp Token",
"type": "string"
}
},
"required": [
"class_id",
"mcp_token"
],
"title": "get_classArguments"
}⚪ask_venuvidya(question, level, language)
Ask VenuVidya — the in-app RAG chatbot. Returns a grounded answer + citations. Args: question: Student question (2-1500 chars). level: Optional level filter for retrieval ('junior' | 'senior' | 'vidwat'). language: 'en', 'kn' or 'auto'.
입력 스키마
{
"type": "object",
"properties": {
"question": {
"title": "Question",
"type": "string"
},
"level": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Level"
},
"language": {
"default": "auto",
"title": "Language",
"type": "string"
}
},
"required": [
"question"
],
"title": "ask_venuvidyaArguments"
}🟢log_practice_session(class_id, item_id, practiced_on, mcp_token, duration_min, ...)
Log a practice session against a class item in YOUR journal. Args: class_id: Parent class id. item_id: Item id inside the class (kriti/varna/etc.). practiced_on: Date in YYYY-MM-DD. mcp_token: Your personal VenuVidya token — GET /api/auth/mcp-token. Only ever writes into a class this account owns. duration_min: Duration in minutes. notes: Free-text notes. rating: Self-rating 1-5.
입력 스키마
{
"type": "object",
"properties": {
"class_id": {
"title": "Class Id",
"type": "string"
},
"item_id": {
"title": "Item Id",
"type": "string"
},
"practiced_on": {
"title": "Practiced On",
"type": "string"
},
"mcp_token": {
"title": "Mcp Token",
"type": "string"
},
"duration_min": {
"default": 0,
"title": "Duration Min",
"type": "integer"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Notes"
},
"rating": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Rating"
}
},
"required": [
"class_id",
"item_id",
"practiced_on",
"mcp_token"
],
"title": "log_practice_sessionArguments"
}커뮤니티
증거