Skip to main content
Glama

edubase_get_organization_competency_requirements

Read-onlyIdempotent

Retrieve a competency's requirements ordered by priority to see what learners must meet; specify an organization to use its external competency identifier.

Instructions

List the requirements of a competency, ordered by their priority. Library and competencies must be enabled for the organization of the competency.

Input Schema

NameRequiredDescriptionDefault
competencyYescompetency identification string (or its external identifier when organization is specified)
organizationNooptional organization identification string

Output Schema

NameRequiredDescriptionDefault
idNo
titleYes
competencyYes
organizationYes
requirementsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv2.0.10
    • addedOutput schema / properties / requirements / items / properties / todo / properties / statement
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / properties / requirements / items / properties / todo / properties / type / enum
      Previous value: -[
      -  "default",
      -  "document",
      -  "exam",
      -  "training"
      -]New value: +[
      +  "default",
      +  "document",
      +  "exam",
      +  "training",
      +  "attestation"
      +]
  2. Changed2 schema fields changedv2.0.6
    • addedOutput schema / properties / requirements / items / properties / journey
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "active": {
      +          "type": "boolean"
      +        },
      +        "exam": {
      +          "type": "string"
      +        },
      +        "outcomes": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "title": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "exam",
      +        "title",
      +        "active",
      +        "outcomes"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / requirements / items / properties / type / enum
      Previous value: -[
      -  "exam",
      -  "class",
      -  "document",
      -  "todo"
      -]New value: +[
      +  "exam",
      +  "class",
      +  "document",
      +  "journey",
      +  "todo"
      +]
  3. Changed28 schema fields changedv2.0.0
    • removedOutput schema / properties / competency / description
      Removed value: -"competency identification string"
    • removedOutput schema / properties / id / description
      Removed value: -"external unique competency identifier (if set for the competency)"
    • removedOutput schema / properties / organization / description
      Removed value: -"organization identification string"
    • removedOutput schema / properties / requirements / description
      Removed value: -"requirements ordered by their priority"
    • changedOutput schema / properties / requirements / items / properties / class / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "class": {
      -        "description": "class identification string",
      -        "type": "string"
      -      },
      -      "id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "external unique class identifier (if set for the class)"
      -      },
      -      "title": {
      -        "description": "title of the class",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "class",
      -      "title"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "class": {
      +        "type": "string"
      +      },
      +      "id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "title": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "class",
      +      "title"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / requirements / items / properties / class / description
      Removed value: -"the required class (only present if type is class, null if the class is not available)"
    • removedOutput schema / properties / requirements / items / properties / deadline / description
      Removed value: -"deadline of the requirement (only present if a deadline is configured)"
    • removedOutput schema / properties / requirements / items / properties / deadline / properties / date / description
      Removed value: -"fixed deadline (only if type is date)"
    • removedOutput schema / properties / requirements / items / properties / deadline / properties / days / description
      Removed value: -"number of days available to complete the requirement (only if type is days)"
    • removedOutput schema / properties / requirements / items / properties / deadline / properties / type / description
      Removed value: -"type of the deadline"
    • removedOutput schema / properties / requirements / items / properties / description / description
      Removed value: -"description of the requirement (only present if set for the requirement)"
    • changedOutput schema / properties / requirements / items / properties / document / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "archived": {
      -        "description": "document is archived",
      -        "type": "boolean"
      -      },
      -      "document": {
      -        "description": "document identification string",
      -        "type": "string"
      -      },
      -      "prefix": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "prefix of the document"
      -      },
      -      "title": {
      -        "description": "title of the document",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "document",
      -      "title",
      -      "archived"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "archived": {
      +        "type": "boolean"
      +      },
      +      "document": {
      +        "type": "string"
      +      },
      +      "prefix": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "title": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "document",
      +      "title",
      +      "archived"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / requirements / items / properties / document / description
      Removed value: -"the required library document (only present if type is document, null if the document is not available)"
    • removedOutput schema / properties / requirements / items / properties / documents / description
      Removed value: -"identification strings of the library documents attached to the requirement (only present if there are any)"
    • changedOutput schema / properties / requirements / items / properties / exam / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "exam": {
      -        "description": "exam identification string",
      -        "type": "string"
      -      },
      -      "id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "external unique exam identifier (if set for the exam)"
      -      },
      -      "title": {
      -        "description": "title of the exam",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "exam",
      -      "title"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "exam": {
      +        "type": "string"
      +      },
      +      "id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "title": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "exam",
      +      "title"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / requirements / items / properties / exam / description
      Removed value: -"the required exam (only present if type is exam, null if the exam is not available)"
    • removedOutput schema / properties / requirements / items / properties / optional / description
      Removed value: -"requirement is optional"
    • removedOutput schema / properties / requirements / items / properties / requirement / description
      Removed value: -"requirement identification string"
    • removedOutput schema / properties / requirements / items / properties / title / description
      Removed value: -"title of the requirement"
    • removedOutput schema / properties / requirements / items / properties / todo / description
      Removed value: -"the required task (only present if type is todo)"
    • removedOutput schema / properties / requirements / items / properties / todo / properties / attachments / description
      Removed value: -"attachments can be uploaded"
    • removedOutput schema / properties / requirements / items / properties / todo / properties / educators / description
      Removed value: -"educators of the training (only present if type is training, visible users only)"
    • removedOutput schema / properties / requirements / items / properties / todo / properties / educators / items / properties / name / description
      Removed value: -"name of the educator"
    • removedOutput schema / properties / requirements / items / properties / todo / properties / educators / items / properties / user / description
      Removed value: -"user identification string"
    • removedOutput schema / properties / requirements / items / properties / todo / properties / fields / description
      Removed value: -"labels of the fields to fill (only present if type is default)"
    • removedOutput schema / properties / requirements / items / properties / todo / properties / type / description
      Removed value: -"type of the task"
    • removedOutput schema / properties / requirements / items / properties / type / description
      Removed value: -"type of the requirement"
    • removedOutput schema / properties / title / description
      Removed value: -"title of the competency"
  4. Addedv1.2.17

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered. The description adds one real behavioral fact beyond that: the enablement precondition that determines success or failure. It says nothing about pagination, result volume, or error behavior for an openWorld read, so the addition is useful but thin.

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?

Two sentences, no filler, with the action and its ordering rule front-loaded and the precondition following. Minor deduction because the precondition sentence is compressed to the point of being slightly ambiguous about which entity must have the feature enabled.

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?

A simple two-parameter read with an output schema and full annotation coverage, so the description needn't explain return values. Purpose, ordering, and the operational precondition are all present; only cross-tool routing and pagination context are missing, which are minor for a tool this narrow.

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 100% and both parameters are documented, including the external-identifier variant when 'organization' is supplied. The phrase 'organization of the competency' hints at the relationship between the two parameters but adds no syntax or format detail beyond the schema, so this lands at the baseline.

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?

States a specific verb and resource: list the requirements of a named competency, with an ordering rule (by priority). That is clearly distinct from the sibling edubase_get_organization_competencies, which lists the competencies themselves. It stops short of explicitly naming siblings or scoping what a 'requirement' contains.

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

Usage Guidelines3/5

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

The second sentence gives a genuine prerequisite (library and competencies enabled for the organization), which helps an agent decide when this call will work. However, there is no guidance on when to choose this over other competency- or organization-scoped reads, and no statement of what to do if the prerequisite is unmet.

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

Deploy Server

Other Tools