Skip to main content
Glama

Update planning preferences

update_planning_settings
DestructiveIdempotent

Save planning preferences/settings at expected_revision. Read current settings first; discover unfamiliar preference fields with schema name=preferences. Applicant preferences and the non-recursive spouse preferences are independent. Save explicit answers; a skipped question leaves the saved value unchanged, while an explicit undecided answer clears it with null. Omitted fields remain unchanged; arrays replace the complete array. Returns the saved revision. Requires the authenticated One U Education account and declared planning scope; credentials and user identity are never tool arguments.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "expected_revision": "<expected_revision>",
      "changes": "<changes>",
      "dossier_id": "<dossier_id>"
    },
    "name": "update_planning_settings"
  }
}

Input Schema

NameRequiredDescriptionDefault
changesYes
dossier_idYes
expected_revisionYes

Output Schema

NameRequiredDescriptionDefault
msgYes
codeYes
dataYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / changes / properties / preferences / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "accepted_states": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "enum": [
      -                "ACT",
      -                "NSW",
      -                "NT",
      -                "QLD",
      -                "SA",
      -                "TAS",
      -                "VIC",
      -                "WA"
      -              ],
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "accepts_employer": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "accepted",
      -              "discuss",
      -              "forbidden"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "accepts_regional": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "accepted",
      -              "discuss",
      -              "forbidden"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "accepts_trade": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "accepted",
      -              "discuss",
      -              "forbidden"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "budget_aud": {
      -        "anyOf": [
      -          {
      -            "anyOf": [
      -              {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              {
      -                "minimum": 0,
      -                "type": "number"
      -              }
      -            ]
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "main_course_doubt": {
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "priority": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "accepted_states": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "enum": [
      +                "ACT",
      +                "NSW",
      +                "NT",
      +                "QLD",
      +                "SA",
      +                "TAS",
      +                "VIC",
      +                "WA"
      +              ],
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "accepts_employer": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "accepted",
      +              "discuss",
      +              "forbidden"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "accepts_new_study": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "accepted",
      +              "discuss",
      +              "forbidden"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "accepts_regional": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "accepted",
      +              "discuss",
      +              "forbidden"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "budget_aud": {
      +        "anyOf": [
      +          {
      +            "anyOf": [
      +              {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              {
      +                "minimum": 0,
      +                "type": "number"
      +              }
      +            ]
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "career_change": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "accepted",
      +              "discuss",
      +              "forbidden"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "main_course_doubt": {
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "priority": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "spouse": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "accepted_states": {
      +                "anyOf": [
      +                  {
      +                    "items": {
      +                      "enum": [
      +                        "ACT",
      +                        "NSW",
      +                        "NT",
      +                        "QLD",
      +                        "SA",
      +                        "TAS",
      +                        "VIC",
      +                        "WA"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "accepts_employer": {
      +                "anyOf": [
      +                  {
      +                    "enum": [
      +                      "accepted",
      +                      "discuss",
      +                      "forbidden"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "accepts_new_study": {
      +                "anyOf": [
      +                  {
      +                    "enum": [
      +                      "accepted",
      +                      "discuss",
      +                      "forbidden"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "accepts_regional": {
      +                "anyOf": [
      +                  {
      +                    "enum": [
      +                      "accepted",
      +                      "discuss",
      +                      "forbidden"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "career_change": {
      +                "anyOf": [
      +                  {
      +                    "enum": [
      +                      "accepted",
      +                      "discuss",
      +                      "forbidden"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Added

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, it discloses optimistic concurrency via expected_revision, read-before-write guidance, null/omitted-field semantics, array replacement behavior, return of the saved revision, and authentication/scope requirements. This is substantial behavioral context for a destructive mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core operation and packs necessary mutation semantics into a single dense paragraph. It is mostly efficient, though the density makes some parts harder to scan than a more structured presentation would be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema and rich annotations already present, the description covers the critical concurrency, mutation, and authentication context. It is not fully complete because dossier_id and sibling-tool selection remain unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains expected_revision and the semantics of changes well, including null clearing and array replacement, but it never explains dossier_id and does not cover many nested override/preferences fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: saving planning preferences/settings at an expected revision. It does not explicitly differentiate itself from the sibling update_planning_profile, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives useful operational guidance: read current settings first, use the preferences schema for unfamiliar fields, and save explicit answers. It lacks an explicit statement of when to prefer this tool over update_planning_profile or other planning tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources