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