Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Definition = &mcp.Tool{
Name: "get_materials",
Description: "List course materials: PDF files and external links (without downloading)",
}
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" jsonschema:"Course name or ID"`
Week int `json:"week,omitempty" jsonschema:"Week number (optional — omit for all weeks)"`
}
Input for the tool.
type LMSClient ¶
type LMSClient interface {
ResolveCourse(ctx context.Context, query string) (int, string, error)
GetCourseOverview(ctx context.Context, courseID int) (*cuGw.CourseOverview, error)
GetLongReadContent(ctx context.Context, longReadID int) (*cuGw.MaterialsResponse, error)
}
LMSClient defines dependencies for this tool.
Click to show internal directories.
Click to hide internal directories.