get_learning_path
Generate structured learning paths for programming libraries based on your experience level, providing progressive topics and resources for effective skill development.
Instructions
Get a structured learning path for a library based on experience level.
Args:
library: The library to create a learning path for
experience_level: Your current level ("beginner", "intermediate", "advanced")
Returns:
Structured learning path with progressive topics and resources
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| library | Yes | ||
| experience_level | No | beginner |
Implementation Reference
- The core handler function for the 'get_learning_path' tool, decorated with @mcp.tool(). It generates a structured learning path based on the library and experience level using predefined topic lists for each level. Returns a dictionary with the learning path details.@mcp.tool() async def get_learning_path(library: str, experience_level: str = "beginner"): """ Get a structured learning path for a library based on experience level. Args: library: The library to create a learning path for experience_level: Your current level ("beginner", "intermediate", "advanced") Returns: Structured learning path with progressive topics and resources """ # Dynamic learning path generation based on difficulty level_topics = { "beginner": [ "Getting Started", "Basic Concepts", "First Examples", "Common Patterns", ], "intermediate": [ "Advanced Features", "Best Practices", "Integration", "Testing", ], "advanced": [ "Performance Optimization", "Advanced Architecture", "Production Deployment", "Monitoring", ], } if experience_level not in level_topics: return {"error": f"Experience level {experience_level} not supported"} learning_steps = [] for i, topic in enumerate(level_topics[experience_level]): learning_steps.append( { "step": i + 1, "topic": f"{library.title()} - {topic}", "content_type": "tutorial", "search_query": f"{library} {topic.lower()}", "target_library": library, "estimated_time": "2-4 hours", } ) return { "library": library, "experience_level": experience_level, "total_topics": len(learning_steps), "estimated_total_time": f"{len(learning_steps) * 2}-{len(learning_steps) * 4} hours", "learning_path": learning_steps, "next_level": { "beginner": "intermediate", "intermediate": "advanced", "advanced": "Consider specializing in specific areas or exploring related technologies", }.get(experience_level, ""), }