VenuVidya — Carnatic Flute Study Guide

Kannada/English Carnatic flute KSGMS syllabus — search lessons, log practice, ask a RAG guru.

Should I use this

Quality & Safety

A
Description quality
97%
Schema completeness
72%
Naming quality
97%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,138Tokens (tool definitions)
~847 BTypical response size
Moderate attention impact (0.89% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "venuvidya": {
      "url": "https://venuvidya-backend-production.up.railway.app/api/mcp/"
    }
  }
}

Remote endpoints

https://venuvidya-backend-production.up.railway.app/api/mcp/streamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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'.

Input Schema

{
  "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'.

Input Schema

{
  "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.

Input Schema

{
  "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).

Input Schema

{
  "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.

Input Schema

{
  "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'.

Input Schema

{
  "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.

Input Schema

{
  "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"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools
verifiedversion not recorded7 tools
verifiedversion not recorded7 tools
verifiedversion not recorded7 tools
verifiedversion not recorded7 tools
verifiedversion not recorded7 tools