VenuVidya — Carnatic Flute Study Guide
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Kannada/English Carnatic flute KSGMS syllabus — search lessons, log practice, ask a RAG guru.
| Author | io.github.pradeep-anantha |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 103 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"VenuVidya — Carnatic Flute Study Guide": {
"url": "https://venuvidya-backend-production.up.railway.app/api/mcp/",
"transport": "streamable-http"
}
}
}
Measured tools (7)
search_syllabusKeyword (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'.
Parameters:
query(required) — stringk— integerlevel
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_lessonFetch the full study content of a single lesson. Args: lesson_id: Lesson identifier, e.g. 'junior-theory-1-4'.
Parameters:
lesson_id(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_lessonsList lesson metadata. Filter by level/category. Args: level: 'junior' | 'senior' | 'vidwat'. category: e.g. 'theory-1', 'practical-1', etc.
Parameters:
levelcategory
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_classesList 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).
Parameters:
mcp_token(required) — stringlevellimit— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_classFetch 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.
Parameters:
class_id(required) — stringmcp_token(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
ask_venuvidyaAsk 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'.
Parameters:
question(required) — stringlevellanguage— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
log_practice_sessionLog 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.
Parameters:
class_id(required) — stringitem_id(required) — stringpracticed_on(required) — stringmcp_token(required) — stringnotesratingduration_min— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.