Tool: search_course_standards
Searches academic learning standards in a course to tag onto coursework or rubrics. Requires the course to have learning standards configured by the teacher.
- Specific standards: Search with exact code (e.g. "HS-LS1-1") or specific keywords (includeGroupingStandards=false).
- Categories: Set includeGroupingStandards=true with a broad topic word to find parent categories, then pass the category ID into learningStandardIds to narrow results.
The following code sample shows how to use curl to call the search_course_standards MCP tool.
| Curl Request |
|---|
curl --location 'https://classroommcp.googleapis.com/mcp/v1' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "search_course_standards", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request to search in the pre-selected course-level learning standard trees.
SearchCourseStandardsRequest
| JSON representation |
|---|
{ "courseId": string, "learningStandardIds": [ string ], "query": string, "includeGroupingStandards": boolean } |
| Fields | |
|---|---|
courseId |
Required. Identifier of the course. |
learningStandardIds[] |
Optional. Restricts search to these category standards and their descendants. Pass id values from a prior call with |
query |
Required. Case-insensitive search terms; results must contain ALL space-separated words in their code or statement. - When |
includeGroupingStandards |
Optional. If true, returns category headers (not taggable to coursework) whose ids narrow follow-up searches. If false (default), returns standards that can be tagged on coursework. |
Output Schema
Response containing learning standards.
SearchCourseStandardsResponse
| JSON representation |
|---|
{
"learningStandards": [
{
object ( |
| Fields | |
|---|---|
learningStandards[] |
The list of matching standards. |
LearningGoal
| JSON representation |
|---|
{
"id": string,
"type": enum ( |
| Fields | |
|---|---|
id |
Output only. ID of the learning goal. To attach a standard, use an |
type |
Output only. The type of learning goal. |
standardCode |
Output only. Standard code (e.g. "NY-2.NBT.4"). Only populated for standards. |
title |
Output only. Statement description for standards, or human-readable title for skills. |
documentTitle |
Output only. Curriculum document name. Only populated for standards. |
Type
The type of learning goal.
| Enums | |
|---|---|
TYPE_UNSPECIFIED |
Unspecified learning goal type. |
STANDARD |
A learning standard from an academic curriculum. |
SKILL |
A skill representing an educational concept or competency. Only a teacher can add or remove skills, in Classroom. |
Tool Annotations
Tool annotations are sent to MCP clients to describe the basic risk of a given tool. Most clients treat these hints as untrusted, but they can be used to decide when a confirmation prompt might be sent to a user.
Along with the title string, the following boolean hints are defined as follows:
readOnlyHint: If true, the tool doesn't modify its environment. Default: false.destructiveHint: If true, then the tool can perform destructive actions. If false, then the tool can only perform additive actions. Default: true.idempotentHint: If true, then calling the tool repeatedly with the same arguments will have no additional effect on its environment. Default: false.openWorldHint: If true, then the tool can interact with an 'open world' of external entities. If false, then the tool can only interact with internal entities. For example, a web search tool would be open world, while a memory tool would not be open world.
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌
Authorization Scopes
Requires one of the following OAuth scopes:
https://www.googleapis.com/auth/classroom.courseshttps://www.googleapis.com/auth/classroom.courses.readonly