Kannada/English Carnatic flute KSGMS syllabus — search lessons, log practice, ask a RAG guru.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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'.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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'.
| Argument | Type | Description |
|---|---|---|
| level | any | |
| language | string | |
| question* | string |
{
"type": "object",
"title": "ask_venuvidyaArguments",
"required": [
"question"
],
"properties": {
"level": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Level",
"default": null
},
"language": {
"type": "string",
"title": "Language",
"default": "auto"
},
"question": {
"type": "string",
"title": "Question"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| class_id* | string | |
| mcp_token* | string |
{
"type": "object",
"title": "get_classArguments",
"required": [
"class_id",
"mcp_token"
],
"properties": {
"class_id": {
"type": "string",
"title": "Class Id"
},
"mcp_token": {
"type": "string",
"title": "Mcp Token"
}
}
}Fetch the full study content of a single lesson. Args: lesson_id: Lesson identifier, e.g. 'junior-theory-1-4'.
| Argument | Type | Description |
|---|---|---|
| lesson_id* | string |
{
"type": "object",
"title": "get_lessonArguments",
"required": [
"lesson_id"
],
"properties": {
"lesson_id": {
"type": "string",
"title": "Lesson Id"
}
}
}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).
| Argument | Type | Description |
|---|---|---|
| level | any | |
| limit | integer | |
| mcp_token* | string |
{
"type": "object",
"title": "list_classesArguments",
"required": [
"mcp_token"
],
"properties": {
"level": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Level",
"default": null
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 20
},
"mcp_token": {
"type": "string",
"title": "Mcp Token"
}
}
}List lesson metadata. Filter by level/category. Args: level: 'junior' | 'senior' | 'vidwat'. category: e.g. 'theory-1', 'practical-1', etc.
| Argument | Type | Description |
|---|---|---|
| level | any | |
| category | any |
{
"type": "object",
"title": "list_lessonsArguments",
"properties": {
"level": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Level",
"default": null
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category",
"default": null
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| notes | any | |
| rating | any | |
| item_id* | string | |
| class_id* | string | |
| mcp_token* | string | |
| duration_min | integer | |
| practiced_on* | string |
{
"type": "object",
"title": "log_practice_sessionArguments",
"required": [
"class_id",
"item_id",
"practiced_on",
"mcp_token"
],
"properties": {
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes",
"default": null
},
"rating": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Rating",
"default": null
},
"item_id": {
"type": "string",
"title": "Item Id"
},
"class_id": {
"type": "string",
"title": "Class Id"
},
"mcp_token": {
"type": "string",
"title": "Mcp Token"
},
"duration_min": {
"type": "integer",
"title": "Duration Min",
"default": 0
},
"practiced_on": {
"type": "string",
"title": "Practiced On"
}
}
}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'.
| Argument | Type | Description |
|---|---|---|
| k | integer | |
| level | any | |
| query* | string |
{
"type": "object",
"title": "search_syllabusArguments",
"required": [
"query"
],
"properties": {
"k": {
"type": "integer",
"title": "K",
"default": 4
},
"level": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Level",
"default": null
},
"query": {
"type": "string",
"title": "Query"
}
}
}