Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Definition = &mcp.Tool{
Name: "get_grades",
Description: "Get grades. Without course: summary table. With course: detailed activity breakdown and per-task scores.",
}
Definition is the MCP tool definition.
Functions ¶
func NewHandler ¶
func NewHandler(lms LMSClient) func(context.Context, *mcp.CallToolRequest, Input) (*mcp.CallToolResult, any, error)
NewHandler creates the tool handler.
Types ¶
type Input ¶
type Input struct {
Course string `json:"course,omitempty" jsonschema:"Course name or ID (optional — omit for all courses)"`
}
Input for the tool.
type LMSClient ¶
type LMSClient interface {
ResolveCourse(ctx context.Context, query string) (int, string, error)
GetStudentCourses(ctx context.Context, limit int, state string) (*cuGw.StudentCoursesResponse, error)
GetCourseProgress(ctx context.Context, courseID int) (*cuGw.CourseProgress, error)
GetStudentPerformance(ctx context.Context, courseID int) (*cuGw.StudentPerformance, error)
GetActivitiesPerformance(ctx context.Context, courseID int) (*cuGw.ActivitiesPerformance, error)
GetCourseExercises(ctx context.Context, courseID int) (*cuGw.CourseExercises, error)
}
LMSClient defines dependencies for this tool.
Click to show internal directories.
Click to hide internal directories.