MCP Tools Reference: classroommcp.googleapis.com

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

string

Required. Identifier of the course.

learningStandardIds[]

string

Optional. Restricts search to these category standards and their descendants. Pass id values from a prior call with includeGroupingStandards = true (not standardCode). If empty, searches all standards in the course.

query

string

Required. Case-insensitive search terms; results must contain ALL space-separated words in their code or statement. - When includeGroupingStandards = false: pass an exact standard code (e.g. "HS-LS1-1") or 2-3 specific keywords (e.g. "area triangles"). - When includeGroupingStandards = true: pass 1-2 broad domain words (e.g. "geometry") matching category titles.

includeGroupingStandards

boolean

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 (LearningGoal)
    }
  ]
}
Fields
learningStandards[]

object (LearningGoal)

The list of matching standards.

LearningGoal

JSON representation
{
  "id": string,
  "type": enum (Type),
  "standardCode": string,
  "title": string,
  "documentTitle": string
}
Fields
id

string

Output only. ID of the learning goal. To attach a standard, use an id from search_course_standards (not standardCode).

type

enum (Type)

Output only. The type of learning goal.

standardCode

string

Output only. Standard code (e.g. "NY-2.NBT.4"). Only populated for standards.

title

string

Output only. Statement description for standards, or human-readable title for skills.

documentTitle

string

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.courses
  • https://www.googleapis.com/auth/classroom.courses.readonly