Skip to main content
Glama
yatuk
by yatuk

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.2.3

  • Disambiguation4/5

    Most tools have distinct purposes, with clear separation between Ninova and OBS systems. A few aliases (get_courses/list_courses) and overlapping assignment/grade tools exist, but descriptions clarify context.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case, with clear prefixes (auth_, check_, get_, obs_, etc.). No mixing of conventions.

    Tool Count3/5

    55 tools is high, but the server covers two comprehensive systems (Ninova LMS and OBS student info). The count is borderline heavy but still reasonable for the scope.

    Completeness5/5

    The tool set covers nearly every aspect of a student's interaction with the university portal: courses, assignments, grades, attendance, files, calendar, registration, GPA, transcript, etc. No obvious gaps.

  • Average 3.3/5 across 55 of 55 tools scored. Lowest: 2.4/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 18 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It fails to disclose behavioral traits such as potential heavy network usage, whether modification occurs, or permissions needed. The description only hints at navigation but omits important context like result format or side effects.

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

    Conciseness2/5

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

    The description is a single short sentence, but it is too minimal to be effective. It lacks structure and does not front-load key information. While concise in length, it sacrifices clarity and completeness.

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

    Completeness2/5

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

    Despite having an output schema and 4 parameters, the description provides no context on what the tool returns, how the crawl behaves (e.g., depth limits, pagination), or what 'inventory' entails. It is incomplete for a tool of this complexity.

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

    Parameters1/5

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

    Schema description coverage is 0%; the description does not mention any of the 4 parameters (course_url, max_depth, max_pages, include_downloads). This leaves the agent without any guidance on how to set parameters for correct invocation.

    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 the verb 'inventory' and the resource 'pages and downloadable resources inside a Ninova course tree.' It distinguishes from sibling tools like 'get_course_info' or 'get_course_sections' by implying a broader scanning action. However, 'inventory' could be more specific about what it collects.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternative siblings. There is no mention of prerequisites, when not to use, or comparisons to other get_* tools that provide specific data points.

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

  • Behavior2/5

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

    The description only states 'download to disk' without detailing side effects (e.g., file saved locally, potential overwrites, authentication requirements, or size limits). With no annotations provided, the burden falls entirely on the description, which fails to disclose important behavioral traits.

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

    Conciseness3/5

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

    The description is a single concise sentence, but it sacrifices necessary detail. It is not overly verbose but under-specifies for a tool with three parameters and no additional context.

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

    Completeness2/5

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

    Given the tool has multiple parameters and an output schema (not shown), the description is incomplete. It lacks information about file overwrite behavior, success/failure responses, and expected output. The output schema may partially compensate, but the minimal description leaves critical gaps.

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

    Parameters1/5

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

    The input schema has three parameters (url, filename, output_dir) with 0% description coverage. The tool description does not explain any parameter meanings or constraints, leaving the agent to infer from names alone. This is a critical gap.

    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 the action ('download') and the target ('Ninova file or other authenticated resource to disk'). It effectively distinguishes the tool from siblings like 'read_page' which likely retrieves content without saving. However, 'other authenticated resource' is somewhat vague.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives such as 'read_resource_text' or 'snapshot_page'. There is no mention of prerequisites, when not to use, or comparisons with sibling tools.

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

  • Behavior2/5

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

    No annotations exist, so the description carries full burden. It does not disclose behavioral traits such as read-only nature, authentication needs, pagination behavior, or side effects. The description is too brief to inform about tool behavior.

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

    Conciseness3/5

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

    The description is a single sentence, which is concise, but it sacrifices necessary details. It could benefit from slight expansion for clarity without being verbose.

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

    Completeness2/5

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

    Despite having an output schema, the description does not address the four parameters or any usage context. It is too minimal for a tool with 4 parameters and no schema descriptions, leaving significant gaps for an agent.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description fails to explain any parameters (limit, compact, include_full_text). It adds no meaning beyond the raw schema, which is insufficient for an agent to correctly invoke the tool.

    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 states it returns announcements for a specific Ninova course, which is clear. However, it does not differentiate from sibling tool get_dashboard_announcements, lacking specificity in scope.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives, such as get_dashboard_announcements. There is no mention of prerequisites or context like course enrollment.

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

  • Behavior2/5

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

    No annotations are present, so the description carries the full burden of disclosing behavioral traits. It only implies a read-only operation ('List') but does not explicitly state that it is non-destructive, requires no special permissions, or that it may involve network access. The description fails to mention pagination, rate limits, or any side effects.

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

    Conciseness3/5

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

    The description is a single sentence that is concise and front-loaded with the action. However, it lacks necessary detail (e.g., parameter descriptions, context) that would make it more useful, so it sacrifices completeness for brevity.

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

    Completeness2/5

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

    Given the presence of multiple sibling tools and a complex input schema with four parameters, the description is insufficient. It does not explain the meaning of 'Ninova Ders Dosyaları', nor does it hint at the return structure (though an output schema exists). The agent lacks crucial context to use the tool effectively.

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

    Parameters1/5

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

    The schema has 0% coverage, meaning no parameter descriptions are provided in the schema. The tool description also offers no explanation of the four parameters ('course', 'compact', 'max_depth', 'recursive'). An agent cannot infer their meaning or defaults from the description alone.

    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 it lists files and folders under a specific section ('Ders Dosyaları') for a course. The verb 'List' is appropriate, and the resource is well-identified. However, it does not explicitly distinguish it from the sibling tool 'get_course_class_files', which might have a similar purpose.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_course_class_files' and 'get_course_sections', an agent would have to infer the appropriate use case from the tool name alone. No context on prerequisites or exclusions is provided.

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

  • Behavior2/5

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

    No annotations are provided, so the description alone must convey behavioral traits. It only states 'Read,' implying a read-only operation, but fails to mention any side effects, error conditions, or access requirements.

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

    Conciseness3/5

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

    The description is a single sentence, which is concise. However, it is too brief and omits essential details, making it inefficient for proper understanding.

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

    Completeness2/5

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

    Despite having an output schema (not shown), the description is incomplete. It does not explain what the page contains or what the return value represents, and the single parameter is left undefined.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not explain the 'course' parameter. No format, allowed values, or meaning is provided, leaving the agent to guess.

    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 the action 'Read' and the specific resource 'Ninova 'Uzaktan Eğitim' page for a course.' This distinguishes it from other course-related tools (e.g., get_course_info, get_course_overview) by targeting a specific sub-page. However, the term 'Uzaktan Eğitim' may require localization knowledge.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus siblings. With many similar tools listing course information, the agent lacks context to choose this one appropriately.

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

  • Behavior2/5

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

    With no annotations provided, the description must carry the full burden of behavioral disclosure. It only states the return type (announcements) but does not mention whether the result is paginated, if there are rate limits, authorization requirements, or how the parameters affect behavior. This is insufficient for an agent to understand the tool's side effects or constraints.

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

    Conciseness3/5

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

    The description is a single sentence, which is concise, but it sacrifices necessary details. It is front-loaded but too sparse. An additional sentence on parameters or usage would improve structure without losing conciseness.

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

    Completeness2/5

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

    Given the tool's simplicity (2 optional parameters) and the presence of an output schema, the description need not explain return values. However, it still lacks coverage of parameter semantics and usage guidelines. The description is incomplete for an agent to use the tool effectively without extra knowledge.

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

    Parameters1/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 explain parameter meanings. It does not mention 'limit' or 'include_full_text' at all. The agent cannot infer from the description alone what these parameters control, making it difficult to choose appropriate values.

    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 it returns announcements from the Ninova dashboard's aggregated announcements page. The verb 'return' and resource specification are appropriate. However, it does not explicitly differentiate from the sibling tool 'get_course_announcements', which likely returns announcements for a specific course, so the purpose is clear but could be improved with explicit distinction.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. Given the sibling 'get_course_announcements', an explicit note about scope (aggregated vs per-course) would help the agent choose correctly. The description lacks any usage context or prerequisites.

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

  • Behavior2/5

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

    With no annotations, the description should disclose behavioral traits like side effects, authentication needs, or whether it overwrites files. It only states the basic download action without any such disclosure.

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

    Conciseness2/5

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

    The description is a single sentence, but it is too short and omits important information. It does not earn its place given the missing parameter explanations and behavioral context.

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

    Completeness2/5

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

    Given the two parameters and output schema, the description is incomplete. It lacks explanation of the english flag and output_dir, and does not clarify what the output schema contains. The tool's complexity is low, but the description still fails to cover key aspects.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not explain the parameters (english, output_dir) at all. It fails to add meaning beyond the schema's type constraints.

    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 the action (Download), resource (OBS transcript preview PDF), and destination (local state downloads folder). It is specific and distinguishes from sibling tools like download_resource, but 'local state downloads folder' is vague and not explained.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives (e.g., download_resource). No prerequisites or exclusion criteria mentioned.

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

  • Behavior2/5

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

    With no annotations, the description bears full responsibility for behavioral disclosure. It only indicates a read operation returning a structured summary, but it does not mention authentication, rate limits, error handling, or side effects. This is insufficient for safe invocation.

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

    Conciseness3/5

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

    The description is a single sentence that is concise and front-loaded, but it sacrifices necessary detail. It is efficient but incomplete given the tool's complexity and sibling context.

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

    Completeness2/5

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

    Given the tool has four parameters, no schema descriptions, no annotations, and many siblings, the description is too sparse. It does not explain parameter usage or distinguish from similar tools, leaving significant gaps despite an existing output schema.

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

    Parameters1/5

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

    Schema description coverage is 0%, yet the description adds no explanation for any of the four parameters (url, compact, link_limit, include_text). The agent must infer their meaning from names alone, which is inadequate.

    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 the tool fetches any Ninova page and returns a structured summary, specifying content types (text, headings, links, tables, attachments). It is clear and uses a specific verb+resource construct, but it does not explicitly distinguish itself from siblings such as snapshot_page or read_resource_text.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives like get_course_info or read_resource_text. There is no statement of context, prerequisites, or exclusions, leaving the agent to guess.

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

  • Behavior2/5

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

    No annotations are provided, and the description does not disclose behavioral traits such as side effects, idempotency, authorization requirements, or rate limits. The tool saves a snapshot, but it's unclear if this is a destructive or state-changing operation.

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

    Conciseness3/5

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

    The description is a single sentence with no wasted words, but it is overly concise, lacking crucial details about parameters and behavior. It achieves conciseness at the cost of completeness.

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

    Completeness2/5

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

    While an output schema exists (reducing need for return value description), the description fails to explain what constitutes a 'structured snapshot' or how it differs from a simple page read. The tool's role in the snapshot-diff workflow is implied but not fully elaborated.

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

    Parameters1/5

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

    The schema has 2 parameters (url, label) with 0% description coverage. The description does not mention either parameter or their usage, leaving the agent without any guidance on how to populate them.

    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 the verb 'Save a structured snapshot' and the resource 'Ninova page', and mentions the purpose 'for later comparison'. It implicitly distinguishes from siblings like read_page (no snapshot) and diff_snapshot (comparison only). However, 'structured snapshot' is somewhat vague.

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

    Usage Guidelines2/5

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

    The description does not provide explicit guidance on when to use this tool versus alternatives. It only hints at use for later comparison, but no exclusions or when-not-to-use scenarios are mentioned.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of disclosing behavior. It indicates a read operation ('list') but does not explicitly state read-only nature, authentication requirements, or any side effects. The behavioral disclosure is minimal.

    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 a single sentence with no redundant words. It is efficiently structured to convey the main purpose. However, it could incorporate more information without losing conciseness.

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

    Completeness2/5

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

    Despite having an output schema (reducing the need to explain return values), the description is too sparse. It fails to clarify how slots are identified, the meaning of 'upload_url', or the behavior when parameters are omitted. Given the tool has three optional parameters and no schema descriptions, the description should provide more context.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not explain the meaning or usage of the three parameters (course, assignment, upload_url). The tool name implies they identify an assignment, but no detail is given on how to provide them or their relationships. This is completely inadequate for an agent to figure out how to populate the parameters.

    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 uses a specific verb 'List' and identifies a clear resource 'file slots on an assignment's upload page'. It mentions the included information (filled status, allowed extensions), making the tool's purpose distinct from siblings. However, it does not explicitly differentiate from other tools like 'submit_assignment', so it is not a perfect 5.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, context, or cases where another tool should be preferred. The agent has no information about when to choose this over siblings.

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

  • Behavior2/5

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

    No annotations provided. Description only says 'read', implying non-destructive operation but does not disclose effects of invalid course, authentication needs, or rate limits.

    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?

    Single sentence, no fluff. However, it lacks necessary detail for an agent to use effectively; conciseness is not an excuse for omission.

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

    Completeness2/5

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

    Given the output schema exists but is not shown, the description does not explain what the Yaoklama page contains (e.g., dates, statuses). The agent may not know what the tool returns.

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

    Parameters1/5

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

    Schema coverage is 0%, yet the description adds no information about the 'course' parameter beyond its name. The agent gets no help on format, source, or constraints.

    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 name and description clearly indicate the tool reads attendance (Yoklama) for a course. It is distinguishable from sibling tools that also read course data but focus on other aspects.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives like obs_get_attendance or other get_course_* tools. No context about prerequisites or when not to use it.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behavioral traits. It mentions reliance on a stored snapshot and the 'refresh' parameter but does not explain what refresh does or whether the tool is read-only. Key behaviors are left ambiguous.

    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 a single sentence of 12 words, which is concise and front-loaded. However, it sacrifices necessary detail for brevity, making it less useful.

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

    Completeness2/5

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

    Given the presence of an output schema and a simple parameter set, the description is too minimal. It does not explain the snapshot concept, when refresh should be used, or how the results are ordered. Important contextual details are missing.

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

    Parameters1/5

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

    Schema coverage is 0% (no parameter descriptions), and the tool description does not explain the meaning of 'days' or 'refresh'. For example, 'days' could be the number of days from now or before the deadline. Without additional context, an AI agent cannot infer correct usage.

    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 the tool returns assignments with approaching deadlines, specifying it's based on a stored tracking snapshot. This distinguishes it from tools like get_course_assignments that return all assignments, but the term 'tracking snapshot' could be clarified.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives such as get_dashboard_assignments or get_updates. The description does not provide context for decision-making.

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

  • Behavior2/5

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

    No annotations provided, so the description bears full responsibility. It only states 'list files and folders', implying a read operation, but lacks any additional behavioral context (e.g., authentication needs, rate limits, or that it is non-destructive).

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

    Conciseness3/5

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

    Extremely concise (single sentence, 13 words). While efficient, the brevity sacrifices necessary details, especially for parameters. It is not bloated but could be more informative without losing conciseness.

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

    Completeness2/5

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

    Given the tool has 4 parameters and no annotations or schema descriptions, the description is insufficient. It covers only the basic purpose, leaving out parameter usage, behavioral details, and usage context.

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

    Parameters1/5

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

    Schema coverage is 0%, so the description must explain parameters. It does not mention 'course', 'compact', 'max_depth', or 'recursive' at all. The parameter names provide some hint, but no explicit meaning is added.

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

    Purpose5/5

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

    The description clearly states the action ('List'), resource ('files and folders'), location ('Ninova 'Sınıf Dosyaları' section'), and scope ('for a course'). It is specific and differentiates from sibling tools like get_course_lesson_files.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives. With siblings like get_course_lesson_files, the description should clarify the differences but does not.

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

  • Behavior3/5

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

    With no annotations, the description should disclose behavioral traits. It marks the tool as read-only ('Read'), but lacks details on authentication, error handling, or scope. The existence of an output schema partially compensates.

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

    Conciseness3/5

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

    The description is very short and to the point, but it sacrifices necessary detail. It is not overly verbose, yet it fails to include important context.

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

    Completeness2/5

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

    Given the simple schema and available sibling context, the description leaves out essential information about the parameter and usage conditions. It is minimally adequate but incomplete.

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

    Parameters1/5

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

    The input schema has 0% documentation coverage, and the description does not explain the meaning of the 'course' parameter (e.g., ID, code, name). This is a critical gap.

    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 the verb 'Read' and specifies the resource 'Ninova 'Notlar' page for a course', which is distinct from sibling tools like obs_get_course_grades. However, it does not explicitly contrast with other get_course_ tools.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, when not to use, or comparison to similar tools.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It only states that information is returned, but does not confirm read-only nature, authentication needs, or side effects. The existence of an output schema is not referenced, missing an opportunity to clarify the return structure.

    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 a single, concise sentence that is front-loaded with the key purpose. It wastes no words, though it could be slightly expanded to include critical details without losing conciseness.

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

    Completeness3/5

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

    Given the tool's simplicity (one parameter, no nested objects) and the existence of an output schema, the description could be more complete. It lacks behavioral info and parameter details, but it is adequate for a straightforward read operation. The output schema likely covers return structure, reducing the need for full explanation.

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

    Parameters1/5

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

    The single parameter 'course' has no description in the schema (0% coverage), and the tool description adds no explanation about its format (e.g., ID, name, URL). The description should compensate for the schema gap, but it does not.

    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 the action ('Return structured information') and the specific source ('Sınıf Bilgileri' page). This distinguishes it from other course tools that target different pages or tasks. However, it lacks details on what structured information is returned, making it less specific than a high score of 5.

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

    Usage Guidelines2/5

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

    No guidance is given on when to use this tool versus alternatives. Given the many similar get_course_* tools, explicit differentiation is needed. The description does not mention prerequisites, context, or when not to use it.

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

  • Behavior3/5

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

    The description labels the operation as 'Read', implying non-destructive behavior. However, with no annotations, it misses the chance to disclose traits like authentication requirements, what happens on empty data, or whether it combines multiple sources. It is adequate but lacks explicit behavioral details beyond the verb.

    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 a single concise sentence of 14 words, front-loaded with the action and resource. However, it could be structured to include parameter details. It achieves brevity without waste, but misses the opportunity to be more informative due to length.

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

    Completeness2/5

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

    Given the low complexity (one optional param, output schema exists), the description should cover output nature and how 'compact' affects it. It does not mention output at all and omits parameter semantics, leaving a significant gap in context completeness.

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

    Parameters1/5

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

    The single parameter 'compact' is described only in the schema (boolean, default false). The description provides no explanation of its purpose or effect, leaving the agent to guess. With 0% schema description coverage, the description should compensate but fails entirely.

    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 the tool reads the Ninova dashboard and summarizes courses, announcements, assignments, and messages. The verb 'Read' indicates read-only access, and the resource is the dashboard. It differentiates from sibling tools like get_dashboard_announcements or get_dashboard_assignments by offering a combined summary, though 'summarize' could be more precise.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. Siblings like get_dashboard_announcements or get_dashboard_assignments exist for specific data, but the description doesn't advise using this tool for an overview or when to drill down. This leaves the agent without context for appropriate invocation.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full burden. It only says 'Read', implying a safe operation, but does not disclose any potential side effects, authentication requirements, rate limits, or return characteristics. For a read tool, this minimal transparency is insufficient.

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

    Conciseness3/5

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

    The description is a single sentence with no wasted words, but it is under-specified. A concise description should still convey essential details; here, it achieves conciseness at the expense of completeness.

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

    Completeness2/5

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

    Despite having an output schema, the tool's description fails to cover parameter semantics and usage context. It does not state what the output contains or how to interpret results. The tool is complex (multiple outputs: graduation remaining, status, debts) but the description provides minimal guidance.

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

    Parameters1/5

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

    The only parameter, program_id, has 0% schema description coverage. The description does not explain what a program_id is, how to obtain it, or its relationship to the output. The agent is left to guess its meaning beyond the schema's type and default null.

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

    Purpose5/5

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

    The description clearly states the verb 'Read' and the resources: graduation remaining, academic status, and debts. It specifies the scope 'for a program', which differentiates it from other OBS tools that read different aspects (e.g., advisor, attendance). The title and name align well.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternative OBS tools. Given the large number of sibling tools with similar prefixes, the agent needs explicit context on when to select this over obs_get_advisor, obs_get_registration_status, etc. The description provides no such guidance.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It only states the read operation without disclosing additional behaviors (e.g., pagination, error handling, or data freshness).

    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 a single, concise sentence with no extraneous information. However, it could be slightly more informative without sacrificing conciseness.

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

    Completeness2/5

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

    Despite having an output schema, the description does not mention what the tool returns (e.g., list of messages or threads). With 3 parameters and no parameter descriptions, the description is incomplete for effective use.

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

    Parameters1/5

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

    The input schema has 3 parameters (limit, course, include_thread_details) with 0% description coverage in the schema itself. The tool description does not explain any parameter, adding no value beyond the schema structure.

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

    Purpose5/5

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

    The description clearly states the verb ('Read') and the specific resource ('Ninova 'Mesaj Panosu' page for a course'). It distinguishes from sibling tools like get_course_announcements or get_course_info, which are different boards or pages.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives such as get_course_announcements or get_course_overview. The description lacks context for selection.

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

  • Behavior2/5

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

    No annotations exist, so the description must bear the full behavioral burden. It states the tool lists routes but does not disclose authentication needs, rate limits, potential side effects (though likely read-only), or the structure of the response. The presence of an output schema helps, but the description itself lacks detail.

    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 a single, clear sentence without extraneous words. It is front-loaded with the verb and resource. However, it could be slightly more informative without becoming verbose.

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

    Completeness2/5

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

    Given the tool has one parameter, an output schema, and many siblings, the description is too brief. It does not explain what 'direct course routes' are, how to identify them, or any prerequisites. The output schema covers return values, but the description omits important context for usage.

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

    Parameters1/5

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

    With 0% schema coverage for the single 'course' parameter, the description should clarify its meaning or format. It does not. The description adds no value beyond the schema's type 'string', leaving ambiguity about what value to pass.

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

    Purpose5/5

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

    The description uses a specific verb 'List' and a specific resource 'direct course routes exposed on the Ninova course home page', which clearly distinguishes this tool from siblings that handle other course data (e.g., announcements, assignments). It leaves no ambiguity about what the tool returns.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives like 'crawl_course' or other get_course_* tools. The description implies its use in listing course sections but offers no exclusions or context for selection.

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

  • Behavior2/5

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

    No annotations are provided, so the description must fully disclose behavioral traits. It states 'Read' indicating a read-only operation, but lacks details on semester parameter behavior (e.g., default value handling), rate limits, or any side effects. Minimal disclosure.

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

    Conciseness2/5

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

    The description is a single sentence, but it lacks necessary details about parameters and behavior. Under-specification reduces usability despite being short.

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

    Completeness2/5

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

    Given the tool has an output schema, the description should clarify the input and output semantics. It mentions 'weekly class schedule and final exam calendar' but does not explain the semester parameter or what the output contains. Incomplete for a query tool.

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

    Parameters1/5

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

    Schema coverage is 0%, so the description should compensate for the single parameter 'semester'. It does not explain acceptable values, format (e.g., '2024-1'), or behavior when null. No added meaning beyond the schema.

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

    Purpose5/5

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

    The description clearly states the tool reads a weekly class schedule and final exam calendar for a semester. It uses a specific verb 'Read' and specifies the resource, distinguishing it from sibling tools like obs_get_attendance or obs_get_course_grades.

    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?

    No explicit guidance on when to use this tool over alternatives. While the purpose is clear, there are no when/when-not statements or comparisons to siblings like obs_get_attendance or obs_get_course_grades. Usage is implied but not elaborated.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It mentions that the tool includes a computed absence-risk summary by default, hinting at its behavior. However, it does not state whether the tool is read-only, or disclose any side effects or required permissions.

    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 very short (two sentences) and front-loaded with the core action. It is efficient, but could add a bit more detail without becoming verbose.

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

    Completeness2/5

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

    Despite having an output schema, the description is too thin for a tool with 5 parameters. It fails to explain how course, class_id, and semester affect results, or how the absence-risk is computed. The tool is incomplete for effective use.

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

    Parameters2/5

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

    Schema coverage is 0%, so the description must compensate, but it provides no explanation of any parameter. The 'include_summary' and 'max_absence_ratio' are referenced implicitly ('by default'), but their meanings are unclear. Users must rely on the schema field titles, which are minimal.

    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 the tool reads attendance for an OBS class, differentiating it from sibling 'get_course_attendance' by the 'OBS' prefix. However, it assumes the user knows what OBS refers to, which could be clarified.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives like get_course_attendance or other attendance tools. There is no mention of prerequisites, context, or when not to use it.

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

  • Behavior2/5

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

    No annotations are provided, so the description must fully disclose behavioral traits. However, it only states 'compare' without clarifying if the operation is read-only, if it modifies any state, what happens if no snapshot exists, or authorization requirements. Essential behavioral context is missing.

    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?

    Single sentence, front-loaded with the core purpose. No redundant information. However, it could be slightly more structured by breaking down usage details.

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

    Completeness2/5

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

    Given three parameters, no annotations, and an output schema (unseen), the description is insufficient. It lacks details on how parameters relate to snapshot selection, expected output format, and error handling (e.g., missing snapshot). The tool's functionality is underspecified for reliable agent use.

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

    Parameters1/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 explain the parameters. It mentions 'previously stored snapshot' but does not define the three parameters (url, label, snapshot_path). No details on how to specify which snapshot to compare against, making the tool nearly unusable without external documentation.

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

    Purpose5/5

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

    The description clearly states the tool compares the current state of a Ninova page against a previously stored snapshot. The verb 'compare' and resource 'Ninova page' with 'snapshot' are specific, and it distinguishes from siblings like snapshot_page (create) and read_page (read current).

    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?

    No explicit guidance on when to use this tool versus alternatives like read_page or snapshot_page. The intended use is implied (comparing pages to detect changes), but no when-not-to-use or alternative references are provided.

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

  • Behavior3/5

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

    The description discloses that by default it fetches each assignment detail/upload page, which is a behavioral trait. It also hints at performance implications. No annotations are provided, so the description carries the full burden; it does not discuss auth needs, rate limits, or other side effects, but covers the key default behavior.

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

    Conciseness5/5

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

    The description is extremely concise with two short sentences. It front-loads the main purpose and adds a useful usage hint without any wasted words. Every sentence earns its place.

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

    Completeness2/5

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

    Despite the presence of an output schema, the description fails to explain key parameters like limit and compact, which are critical for proper usage. Given the tool has 4 parameters and siblings offer similar functionality, the description is insufficiently complete.

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

    Parameters2/5

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

    Schema description coverage is 0%. The description only explains the include_details parameter and its effect. The required 'course' parameter is implied but not defined, and 'limit' and 'compact' are left entirely undocumented, leaving the agent to guess their meaning.

    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 that the tool returns a course's assignment list, specifying the resource and action. It also mentions the default behavior of fetching details, but does not explicitly differentiate from sibling tools like get_dashboard_assignments.

    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 description provides guidance on when to set include_details=false for a faster read, which implies when to use the default vs. the opt-out. However, it does not compare this tool to alternatives or state when not to use it.

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

  • Behavior2/5

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

    No annotations are provided, and the description lacks behavioral details such as data freshness, performance implications, or whether it aggregates live data. It only describes the output content.

    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 a single, focused sentence that clearly communicates the tool's purpose. However, it could be slightly more efficient by not listing all components individually, but it remains concise.

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

    Completeness2/5

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

    Despite having an output schema (which may explain return values), the description fails to cover parameter usage or behavioral context. Given the tool's complexity and lack of annotations, it is incomplete.

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

    Parameters2/5

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

    Schema coverage is 0%, so the description must explain parameters, but it does not. Parameter names like 'compact' and 'refresh' suggest control over output, but no clarification is given. The description adds no value beyond parameter names.

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

    Purpose5/5

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

    The description clearly states the tool returns a combined view of various course components (sections, announcements, assignments, etc.), distinguishing it from sibling tools that focus on individual aspects.

    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 description implies this tool is for when a comprehensive overview is needed, but does not explicitly state when to use it over individual get_course_* tools or any when-not conditions.

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

  • Behavior2/5

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

    No annotations are provided, so the description should disclose behavioral traits. It only states it returns courses and is an alias, but does not mention authentication needs, side effects (none expected), rate limits, or caching behavior implied by the refresh parameter.

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

    Conciseness5/5

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

    The description is a single sentence that efficiently conveys the tool's purpose and equivalence to list_courses. No wasted words.

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

    Completeness3/5

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

    Given the tool's simplicity (one optional parameter, output schema exists), the description is partially complete. It covers purpose but omits parameter behavior, which is a significant gap for a complete understanding.

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

    Parameters1/5

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

    The description does not mention any parameters, leaving the refresh parameter's purpose unexplained. With 0% schema description coverage, the description fails to add meaning beyond the schema.

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

    Purpose5/5

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

    The description clearly states the verb 'Return' and the resource 'all courses visible in the Ninova dashboard'. It also distinguishes itself by noting it is an alias of list_courses, which prevents confusion with sibling tools.

    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 description mentions it is an alias of list_courses, providing some guidance on tool equivalence, but it does not give explicit when-to-use or when-not-to-use instructions, nor does it discuss the refresh parameter's purpose or context.

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

  • Behavior3/5

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

    With no annotations, the description minimally states it is a read operation returning recent changes. It does not disclose pagination behavior, data freshness, or any side effects. Acceptable for a read tool but lacks depth.

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

    Conciseness5/5

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

    Single sentence front-loading the operation and purpose. No wasted words.

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

    Completeness3/5

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

    Given the output schema exists, return values are covered. However, the tool has 3 undocumented parameters and no behavioral details (e.g., is course filtering exact or partial?). The description is adequate for a simple read tool but incomplete for effective use.

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

    Parameters1/5

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

    Schema coverage is 0% and description does not explain the three parameters (limit, course, entity_type). The description adds no value beyond the schema, failing to clarify default values or acceptable formats.

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

    Purpose5/5

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

    Description clearly states it reads stored tracking history and returns recent changes. The verb 'Read' and resource 'stored Ninova tracking history' are specific. Distinguishes from sibling tools like crawl_course or snapshot_page which perform different actions.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives like crawl_course, diff_snapshot, or sync_all_courses. The description does not mention prerequisites, filtering conditions, or contexts where get_updates is preferred.

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

  • Behavior2/5

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

    Without annotations, the description carries the full burden of disclosure. It only says 'check whether a JWT can be obtained', but does not specify what happens in failure cases, side effects, or security implications. This is insufficient for a tool that likely interacts with authentication.

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

    Conciseness5/5

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

    The description is a single, clear sentence with no extraneous information. Every word is necessary and well-placed.

    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?

    For a simple 0-parameter tool with an output schema, the description is nearly complete. However, it could briefly mention the return type (e.g., boolean) to improve usability, but this is not critical.

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

    Parameters4/5

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

    The input schema has no parameters (0 params), so the description does not need to add parameter semantics. The baseline is 4; the description adds context about the check's purpose, which is meaningful beyond the empty schema.

    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 states a specific verb ('check') and resource ('whether an OBS JWT can be obtained'), making the purpose clear. However, it does not differentiate from the similarly named sibling 'auth_status', which could cause confusion.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives (e.g., auth_status), no prerequisites, and no conditions for use.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden. It states 'Extract plain text' but lacks details on whether the tool is read-only, if it modifies files, or the impact of parameters like 'max_chars' and 'save_download'.

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

    Conciseness5/5

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

    The description is a single, concise sentence that front-loads the action and purpose without extraneous words.

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

    Completeness2/5

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

    Despite having an output schema, the description is insufficient for a 5-parameter tool with no annotations. It omits behavioral details and parameter roles, leaving the agent with incomplete guidance.

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

    Parameters2/5

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

    The description adds value by explaining 'url' and 'path' as sources (Ninova URLs or local paths from download_resource), but with 0% schema coverage, it fails to clarify other parameters like 'filename', 'max_chars', and 'save_download'.

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

    Purpose5/5

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

    The description clearly states the action ('Extract plain text') and the resource type ('Ninova PDF/DOCX/TXT or a local path from download_resource'), differentiating it from sibling tools like 'read_page' and 'download_resource'.

    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 description implies usage for reading lecture notes and assignments but does not explicitly state when to use or avoid this tool compared to alternatives like 'download_resource' or 'read_page'.

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

  • Behavior3/5

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

    No annotations provided; the description discloses it uses the public course schedule to look up session day/time/room. It does not explicitly state read-only behavior or side effects, but the output schema and context suggest a non-destructive operation. Adequate but not comprehensive.

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

    Conciseness5/5

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

    Two sentences front-loaded with the core purpose. No redundant information.

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

    Completeness3/5

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

    Given unannotated parameters and existing output schema, the description covers the main functionality but omits details on two optional parameters and does not clarify the return format beyond naming session attributes. Could be more complete.

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

    Parameters2/5

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

    Schema coverage is 0%. The description explains the 'crns' parameter via 'by CRN', but does not mention 'program_type' or 'department_code', leaving their purpose unclear. Insufficient compensation for the lack of schema descriptions.

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

    Purpose5/5

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

    The description clearly states the tool checks for schedule time conflicts between courses using CRN and sources from the public course schedule. It distinguishes from sibling tools like get_public_course_schedule by focusing on conflict detection.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives (e.g., manually checking schedule via get_public_course_schedule). The description implies usage but provides no exclusions or context.

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

  • Behavior3/5

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

    With no annotations, the description carries full burden. It declares a read operation, which is consistent with the tool name. However, it does not disclose additional behavioral traits like response format, pagination, or potential limitations, leaving some uncertainty.

    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 a single, efficient sentence with no unnecessary words, front-loading the action and parameters. It is well-structured for quick comprehension, though it could be slightly more informative without losing conciseness.

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

    Completeness3/5

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

    Given the tool has five optional parameters and an output schema, the description provides a high-level summary but omits details on the return value and semantics of unmentioned parameters. It is sufficient for a simple read tool but has notable gaps.

    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?

    The description adds meaning for two of five parameters by mentioning identification by sinifId (class_id) or course code (course). The other parameters (semester, include_letter, include_midterms) are not explained. With 0% schema coverage, this partial elucidation is helpful but incomplete.

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

    Purpose5/5

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

    The description clearly states the tool reads midterm and/or letter grades for an OBS class, specifying the identification methods (by sinifId or course code). It distinguishes from sibling tools like 'get_course_grades' by the OBS prefix and the explicit mention of grade types.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives, such as the similar 'get_course_grades'. No context about prerequisites, exclusions, or preferred use cases is given.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It only says 'Read', implying a safe, idempotent operation, but does not disclose any other behavioral traits like data recency, role requirements, or rate limits.

    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 extremely concise, one sentence with no fluff. However, it is so terse that it misses opportunities to add value without losing conciseness.

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

    Completeness3/5

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

    Given the tool has no parameters and an output schema exists, the description is minimally adequate. It fails to provide any context about the source (OBS), scope, or typical use cases, leaving gaps in understanding.

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

    Parameters4/5

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

    There are no parameters, so schema coverage is 100% trivially. The description adds meaning by specifying 'internship records', which gives context to the empty input. Baseline for zero params is 4, and the description meets that.

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

    Purpose5/5

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

    The description clearly states the verb 'Read' and resource 'internship records from OBS', distinguishing it from sibling tools that read other resources (e.g., advisor, attendance). It is specific and unambiguous.

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

    Usage Guidelines2/5

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

    The description provides no information on when to use this tool versus alternatives, nor any context about prerequisites or limitations. The purpose is clear, but guidance on usage is absent.

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

  • Behavior2/5

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

    No annotations are provided, and the description offers no behavioral details beyond the basic read operation. It fails to disclose authentication needs, data freshness, or what 'advisor information' entails.

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

    Conciseness5/5

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

    The description is a single, concise sentence that conveys the core purpose without any unnecessary words. It is optimally front-loaded.

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

    Completeness3/5

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

    Given the simplicity (no parameters, output schema exists), the description is minimally adequate. However, it would benefit from specifying what aspects of advisor information are returned or any limitations.

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

    Parameters4/5

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

    The tool has zero parameters (empty input schema), so the description naturally cannot add meaning beyond the schema. Baseline of 4 is appropriate since no parameter documentation is needed.

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

    Purpose5/5

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

    The description uses a specific verb 'Read' and clearly identifies the resource 'academic advisor information from OBS.' It effectively differentiates from sibling tools by specifying 'advisor,' which is unique among the many obs_* tools.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives like obs_get_contacts or obs_get_profile. The description does not mention any context or prerequisites for usage.

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

  • Behavior3/5

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

    Without annotations, the description carries the full burden. It usefully discloses that sensitive data is redacted by default, a behavioral trait. However, it omits other behaviors like read-only nature (implied but not explicit), authentication requirements, or rate limits.

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

    Conciseness5/5

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

    The description is a single, efficient sentence with no wasted words. All information is front-loaded and relevant.

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

    Completeness3/5

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

    The description is very brief but the tool is simple. An output schema exists, reducing the need to explain return values. However, it lacks context on when to use this tool (e.g., for viewing contacts) and does not mention pagination or ordering, which might be relevant for a contact list.

    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?

    There is one parameter ('include_sensitive') with 0% schema coverage. The description indirectly explains its purpose by stating the default redaction, implying that include_sensitive=true would show redacted data. However, it does not explicitly name the parameter or describe its effect in detail.

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

    Purpose5/5

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

    The description clearly states the verb 'Read', the resource 'contact records', and a key behavioral detail ('phones/emails redacted by default'). It effectively distinguishes from sibling tools, none of which are contact-specific.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives. No mention of when-not-to-use or related tools, leaving the agent to infer usage context.

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

  • Behavior2/5

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

    No annotations provided, and the description does not disclose behavioral traits such as authentication requirements, data source, or any side effects. As a read-only list, it is minimally transparent.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the tool's purpose.

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

    Completeness3/5

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

    Given the tool has no parameters and an output schema exists, the description is adequate but could be improved by noting its role relative to other OBS tools (e.g., prerequisite for enrollment).

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

    Parameters4/5

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

    There are no parameters, so schema coverage is 100%. The description adds no extra parameter info, but with zero parameters, it meets the baseline of 4.

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

    Purpose5/5

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

    The description clearly states the action (list) and resource (academic semesters), distinguishing it from siblings like obs_get_schedule or obs_list_programs. It is specific and unambiguous.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives. For example, it does not mention that this is a prerequisite for other OBS operations or contrast with obs_get_schedule.

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

  • Behavior2/5

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

    No annotations are present, and the description does not disclose behavioral traits beyond being a read operation. It lacks details on idempotency, side effects, or error conditions.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence that conveys the essential purpose and a key prerequisite without any wasted words.

    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?

    Given the presence of an output schema and zero parameters, the description is largely complete. It could be slightly more specific about what quota attributes are retrieved, but the output schema likely covers that.

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

    Parameters4/5

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

    The tool has zero parameters with 100% schema coverage. The description adds no parameter information, which is acceptable for a parameterless tool, earning the baseline score of 4.

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

    Purpose5/5

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

    The description clearly states the specific action (Read) and the resource (İTÜ Mail and İTÜ Bulut storage quota from the Portal). It is distinct from sibling tools which cover different data types.

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

    Usage Guidelines2/5

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

    The only guidance is 'requires login', which is a precondition. No explicit instructions on when to use this tool versus similar read tools, and no exclusion scenarios are provided.

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

  • Behavior2/5

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

    No annotations provided, so description must carry full burden of behavioral disclosure. It only states it 'reads' status, but does not mention authentication requirements, data freshness, potential side effects (none expected), or any other behavioral traits. For a read-only tool with no annotations, the description is insufficient on safety and prerequisites.

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

    Conciseness5/5

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

    Single, front-loaded sentence that immediately communicates the action and resource. No extraneous words or structure.

    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?

    Given the tool has no parameters, an output schema exists (though not described), and the description covers the core purpose. It could be improved by noting that no arguments are needed, but it is largely complete for a simple read-only tool.

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

    Parameters4/5

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

    No parameters exist, so schema coverage is effectively 100%. The description adds no parameter information, but none is needed. Per guidelines, 0 parameters yields a baseline of 4, and the description meets that baseline by not introducing confusion.

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

    Purpose5/5

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

    Description explicitly states 'Read OBS registration and course-registration status (active/class level)'. The verb 'Read' indicates a safe query operation, and the specific resource ('OBS registration and course-registration status') with a hint of the returned data ('active/class level') clearly distinguishes it from sibling tools like obs_auth_status (auth status) or obs_get_profile (profile info).

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives. With multiple OBS tools (e.g., obs_list_registered_courses, obs_auth_status), the description does not specify that this is for checking active registration status as opposed to listing registered courses or verifying authentication. Provides no context for when to invoke it.

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

  • Behavior3/5

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

    Without annotations, the description carries the burden. It discloses the core action (fetch, store, return changes) and a default behavior, but omits side effects like state modification, required permissions, and rate limits. It does not contradict any annotations.

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

    Conciseness5/5

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

    Two efficient sentences. The first front-loads the main function; the second adds a key default. No unnecessary words.

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

    Completeness3/5

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

    Given the tool's complexity (sync with snapshot) and 4 parameters, the description is brief. It covers the core purpose and a default, but does not explain parameters or the snapshot statefulness. Output schema existence partially compensates for return value details.

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

    Parameters2/5

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

    Schema coverage is 0%, yet the description adds no explicit parameter explanations. Only a vague reference to 'assignment detail pages' links to include_assignment_details, but course_limit, include_files, and file_max_depth are unmentioned. The description fails to compensate for the lack of schema descriptions.

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

    Purpose5/5

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

    The description clearly states the tool fetches all visible courses, stores a snapshot, and returns changes, distinguishing it from siblings like get_courses or crawl_course. It also mentions a notable default behavior (skipping assignment details).

    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 description hints at when to include assignment details for speed, but does not explicitly guide when to use this tool versus alternatives like get_courses or diff_snapshot. No prerequisites or when-not scenarios are mentioned.

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

  • Behavior3/5

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

    No annotations provided, so description carries full burden. It discloses a behavioral trait: chain queries up to 10 levels deep. However, it omits other traits like read-only nature, rate limits, or data freshness.

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

    Conciseness5/5

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

    Two concise sentences with no wasted words. Purpose is front-loaded, and key feature (chain depth) is included.

    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?

    For a query tool with an output schema (present), the description is fairly complete: states resource, relationships, and depth limit. Missing details like direction default and depth range, but output schema may cover return structure.

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

    Parameters2/5

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

    Schema description coverage is 0%. The description hints at 'course_code' and 'direction' (prerequisite/postrequisite) and 'max_depth' (up to 10 levels), but does not fully explain defaults or allowed values. Minimal added value over schema names.

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

    Purpose5/5

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

    Description clearly states the tool queries prerequisite/postrequisite relationships for a course from the OBS public catalog, and distinguishes itself with chain query support. The verb 'query' and resource 'OBS public catalog' are specific.

    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?

    Description implies usage for exploring course relationships but does not explicitly state when to use vs. alternatives like get_public_course_prerequisites or other course info tools. No exclusions or when-not guidance.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It only notes the login requirement, but does not disclose read-only nature, output details, or other behaviors (e.g., pagination, filtering). This is insufficient for a tool with no annotations.

    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 a single sentence with no unnecessary words. However, it is quite brief for a tool with no annotations; slightly more context (e.g., what the output looks like) would improve completeness without sacrificing conciseness.

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

    Completeness3/5

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

    Given 0 parameters and an output schema that the agent can access, the description does not need to explain return values. However, the tool has no annotations, so the description should provide more behavioral context. The login requirement is mentioned, but overall it feels minimal for a tool with no structured metadata.

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

    Parameters5/5

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

    The input schema has 0 parameters, and schema description coverage is 100% (vacuously). The description does not need to add any parameter details, as there are none. The requirement 'requires login' is an environmental condition, not a parameter.

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

    Purpose5/5

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

    The description clearly states the tool reads help desk tickets from the İTÜ Portal. The verb 'Read' and resource 'help desk tickets' are specific and unambiguous. Among many sibling tools, none are related to help tickets, so it is well-distinguished.

    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 description mentions 'requires login' but does not specify when to use this tool versus alternatives or when not to use it. It implies usage for reading tickets, but no explicit guidance or exclusions are provided. Sibling tools do not cover help tickets, so no alternative is stated.

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

  • Behavior3/5

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

    Discloses that no authentication is required, which is a key behavioral trait. However, does not mention rate limits, pagination, or what happens on no results. With no annotations, more detail would be beneficial.

    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?

    Single sentence, concise, front-loaded with verb and resource. Could be slightly more structured but is clear and efficient.

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

    Completeness3/5

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

    Adequate for a simple tool with output schema present. Covers purpose and a behavioral trait, but lacks parameter details for limit. Overall sufficient but not thorough.

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

    Parameters2/5

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

    The description mentions 'code or name' which relates to the query parameter, but does not explain format or that limit is available. With 0% schema description coverage, the description should provide more parameter guidance.

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

    Purpose5/5

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

    Clearly states the verb 'search', resource 'public OBS course catalog', and criteria 'by code or name'. Distinguishes from sibling tools like list_courses or get_course_info which are for different purposes.

    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?

    Implicitly tells when to use: when searching by code or name. No explicit exclusions or alternatives, but the context of 'public' and 'no auth' sets it apart from authenticated course tools.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden. It mentions the use of environment variables but fails to disclose side effects (e.g., invalidation of existing session tokens), prerequisites (environment variables must be set), or rate limits. The behavioral contract is minimal.

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

    Conciseness5/5

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

    A single, succinct sentence that immediately communicates the tool's primary action. No wasted words.

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

    Completeness3/5

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

    Given no parameters and existing output schema (though not detailed here), the description is adequate but could be improved by mentioning that the tool overwrites any existing session and requires the environment variables to be set. Lacks completeness on state changes.

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

    Parameters4/5

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

    The input schema is empty (0 parameters, 100% coverage), so baseline is 4. The description adds value by clarifying that the tool relies on implicit environment variables NINOVA_USERNAME and NINOVA_PASSWORD, which are not in the schema.

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

    Purpose5/5

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

    The description clearly states the tool forces a new login using environment variables NINOVA_USERNAME and NINOVA_PASSWORD. It distinguishes from the sibling 'auth_status' (which checks session state) by indicating it performs a fresh authentication.

    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 description implies the tool should be used when a session refresh is needed (e.g., after token expiry) but does not explicitly state when to use it versus alternatives like 'auth_status' or when not to use it.

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

  • Behavior3/5

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

    No annotations are provided, so the description bears full responsibility. It discloses the dry-run mode and confirmation requirement but omits details like error handling, file size limits, or behavior when replacing files. Sensible but not exhaustive.

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

    Conciseness5/5

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

    Two sentences: first defines purpose and method, second explains the critical confirm behavior and user instruction. No superfluous words, front-loaded with essential information.

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

    Completeness2/5

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

    With 8 parameters and 0% schema coverage, the description should compensate but only covers two parameters. The output schema exists but the description doesn't leverage it. Lacks completeness for a tool of this complexity.

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

    Parameters2/5

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

    Schema coverage is 0%, yet the description only explains confirm and implicitly file_path. The other six parameters (course, assignment, slot_index, upload_url, allow_replace, slot_description) are not mentioned, leaving the agent without guidance on their usage.

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

    Purpose5/5

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

    The description clearly states the action ('Upload a local file'), resource ('Ninova assignment slot'), and method ('official multipart form'). It distinguishes from sibling tools like get_assignment_upload_slots which retrieve slots.

    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?

    Explicitly states the need for confirm=true for actual posting vs. dry-run preview, and instructs to ask user before confirming. However, it does not mention when to use this tool vs. alternatives like download_resource or read_page.

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

  • Behavior3/5

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

    No annotations provided, so description carries full burden. It explains core behavior but doesn't disclose side effects, authentication needs, or rate limits.

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

    Conciseness5/5

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

    Two sentences efficiently convey purpose, what-if support, and grade scale. No wasted words.

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

    Completeness3/5

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

    While the main function is clear and output schema exists, the semester parameter's role (filtering vs cumulative) is not explained, leaving some ambiguity.

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

    Parameters2/5

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

    With 0% schema description coverage, the description must compensate. It explains projected_grades for what-if scenarios but does not detail the format or explain the semester parameter.

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

    Purpose5/5

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

    The description clearly states the tool calculates GPA/GANO from OBS registered courses using a specific scale, with a distinct purpose among siblings like obs_get_course_grades.

    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 provides clear context: calculate GPA from registered courses with what-if scenarios, but no explicit exclusion or alternative tools mentioned.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It only discloses the login requirement, but fails to mention other behavioral traits such as whether it is read-only, what happens on authentication failure, or the scope of notifications. This is minimal for a tool with no annotations.

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

    Conciseness5/5

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

    The description is a single concise sentence that front-loads the core purpose. Every word earns its place with no redundancy.

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

    Completeness3/5

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

    Given the tool's simplicity (no parameters) and the existence of an output schema, the description is adequate but lacks detail about what notifications are returned (e.g., all vs. recent, from which system). It meets the minimum but does not fully exploit the opportunity to provide helpful context.

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

    Parameters5/5

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

    The tool has no parameters, so the description does not need to add parameter semantics beyond the schema. It correctly omits any parameter details, as there are none to document.

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

    Purpose5/5

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

    The description clearly states the action ('Read') and resource ('İTÜ Portal notifications'), aligning perfectly with the tool name and title. Among siblings, there is no other notification tool, so it is well-distinguished.

    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 description mentions 'requires login' as a prerequisite, but provides no explicit guidance on when to use this tool versus alternatives or when not to use it. Usage is implied: use when you need to read notifications.

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

  • Behavior3/5

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

    The description discloses redaction behavior for sensitive fields and the effect of the 'include_sensitive' parameter. However, with no annotations provided, it omits other behavioral traits such as authentication requirements, error handling, or rate limits, making coverage partial.

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

    Conciseness5/5

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

    The description is a single sentence with no wasted words. It front-loads the core action ('Read OBS personal/program profile') and concisely adds the key behavioral note about sensitive fields.

    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?

    Given the presence of an output schema (covering return values) and the tool's simplicity (one optional boolean parameter), the description sufficiently covers the essential behavior. It could optionally list what fields constitute the profile, but the current level is adequate for an agent to use the tool correctly.

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

    Parameters4/5

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

    The sole parameter 'include_sensitive' has zero schema description coverage, so the description carries the full burden. It effectively explains that setting it to true avoids redaction of sensitive fields, adding clear meaning beyond the bare schema definition.

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

    Purpose5/5

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

    The description clearly states the verb 'Read' and the resource 'OBS personal/program profile', making the tool's purpose unambiguous. It distinguishes itself from sibling tools like obs_get_advisor or obs_get_attendance, which target different specific data.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, use cases, or exclusion criteria, leaving the agent to infer appropriate usage context.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden for behavioral disclosure. It only says 'List', implying read-only, but lacks details on authentication needs, rate limits, or any side effects. For a simple read tool, this minimal disclosure is acceptable but not thorough.

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

    Conciseness5/5

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

    The description is a single short sentence that is front-loaded and concise. Every word adds value; no extraneous text.

    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?

    Given the tool's simplicity (no parameters, output schema exists), the description is adequate. It clearly states what the tool does. However, it could briefly mention what fields or info are returned, but the output schema covers that. So it's slightly above minimum.

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

    Parameters4/5

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

    The input schema has zero parameters, so there is nothing to add beyond schema. With 100% schema coverage (no parameters) and no enums, the description correctly does not need to compensate. A baseline of 4 is appropriate.

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

    Purpose5/5

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

    The description clearly states the verb 'List' and the specific resource 'student's OBS academic programs' with an example 'undergraduate major'. It is unambiguous and distinguishes this tool from siblings like obs_get_profile or obs_list_registered_courses.

    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 description implies usage for listing programs but does not provide explicit guidance on when to use this tool versus alternatives (e.g., other OBS tools like obs_get_profile). No exclusions or context are given.

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

  • Behavior2/5

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

    No annotations are provided, and the description does not disclose that this is a read-only operation, any authentication requirements, or potential side effects. For a simple list tool, stating read-only would improve transparency.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the tool's primary action and default behavior.

    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?

    Given the presence of an output schema and a single optional parameter, the description is largely complete. It covers the key aspect of selecting a semester, though it could mention the output format or edge cases like empty results.

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

    Parameters4/5

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

    The input schema lacks descriptions (0% coverage), so the tool description bears the full burden. It explains the 'semester' parameter and its default behavior ('default: latest'), adding meaningful context beyond the schema.

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

    Purpose5/5

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

    The description clearly states the verb 'list' and the resource 'courses registered in OBS', and distinguishes from sibling tools like obs_list_programs and obs_list_semesters by specifying 'for a semester'.

    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 description implies when to use the tool (listing registered courses) but lacks explicit guidance on when not to use it or alternatives. The default semester behavior is noted, but no exclusions or preconditions are mentioned.

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

  • Behavior4/5

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

    With no annotations, the description adds valuable behavioral context by noting TTL-caching, indicating data may be stale. However, it doesn't describe behavior when refresh parameter is true.

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

    Conciseness5/5

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

    Single sentence, front-loaded with key information, no redundancy. Every word serves a purpose.

    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?

    For a simple listing tool with output schema, the description covers purpose and caching. Missing details on refresh behavior and pagination, but not critical.

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

    Parameters2/5

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

    The single parameter 'refresh' is not explained in the description. Despite schema coverage being 0%, the parameter name is intuitive, but the description adds no extra meaning.

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

    Purpose5/5

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

    The description clearly specifies the action (list), resource (courses), source (dashboard), and caching behavior (TTL-cached). It distinguishes from siblings like sync_all_courses and get_courses.

    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 description implies usage for quick listing via dashboard cache but lacks explicit guidance on when to use vs alternatives like get_courses or sync_all_courses.

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

  • Behavior3/5

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

    With no annotations, description discloses that it checks credential configuration and session viability. It implies read-only behavior ('check'), but does not explicitly state it is non-destructive or if it has side effects. Adequate for a simple status check.

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

    Conciseness5/5

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

    Single sentence, front-loaded with key verb. Every word adds value. No unnecessary detail.

    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?

    Tool is simple (0 params, has output schema). Description sufficiently conveys purpose. Could mention that it returns a boolean or status object, but output schema covers that. Complete for its simplicity.

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

    Parameters4/5

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

    Schema has 0 parameters with 100% coverage trivially. Description adds meaning by specifying what exactly is checked (credentials configured, session creation). Baseline for 0 params is 4, and description provides additional context.

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

    Purpose5/5

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

    Description clearly states verb 'Check' and resource 'Ninova credentials' and 'fresh session'. Distinguishes from sibling tools like obs_auth_status which checks OBS credentials, and refresh_session which creates a new session.

    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?

    Description implies this should be used before other actions to verify auth, but does not explicitly state when to use versus alternatives like obs_auth_status or refresh_session. No exclusions or context provided.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the transparency burden. It reveals the read-only nature and a performance trade-off, but does not disclose potential issues like rate limits, pagination, or authorization requirements. The output schema exists, so return details are not needed here.

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

    Conciseness5/5

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

    Two sentences with no wasted words. The first sentence immediately states the purpose, and the second provides a key usage tip. Front-loads essential information efficiently.

    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?

    Given the existence of sibling tools and an output schema, the description is otherwise complete. It covers the core functionality and an optimization flag. Could briefly note that it aggregates across courses, but 'aggregated dashboard page' implies this.

    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?

    With 0% schema description coverage, the description must compensate. It explains the 'include_details' parameter's effect on performance, adding value beyond the schema's boolean type. However, the 'limit' parameter is not described, leaving a gap. Partial compensation for one of two parameters.

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

    Purpose5/5

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

    The description clearly states the action ('Return') and specific resource ('assignments listed under the Ninova dashboard's aggregated assignments page'). It distinguishes from sibling tools like 'get_course_assignments' (per-course) and 'get_dashboard_announcements' (different content type).

    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?

    The description provides a performance optimization tip ('Set include_details=false for a faster list-only read'), but does not explicitly compare this tool to siblings or state when not to use it. The context hints at dashboard vs course-level distinction.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses the tool is read-only and requires no login, which covers safety and authentication. However, it does not mention potential rate limits or error conditions, which would add completeness.

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

    Conciseness5/5

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

    Two concise sentences with no fluff. The first sentence is front-loaded with the core purpose, and the second adds relevant detail. Every word earns its place.

    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?

    Given that an output schema exists, the description needn't detail return values; it still mentions key fields (CRN, instructor, sessions, capacity, enrolled count, prerequisite links). It is adequate for a simple fetch tool, though it could note any semester constraints or result limits.

    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 clarifies the department_code parameter by mentioning 'for a department' and implies crn via output fields, but does not explain program_type. This adds partial meaning but not full coverage for all three parameters.

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

    Purpose5/5

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

    The description clearly states the verb 'Read', the resource 'public OBS course schedule', and the scope 'for a department'. It distinguishes from siblings by emphasizing 'No login required' and 'public', making its purpose unambiguous.

    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 description implies usage context (retrieving public schedule without authentication) but does not explicitly mention when not to use it or provide alternatives like get_public_course_prerequisites or get_course_info. No exclusions are stated.

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

  • Behavior4/5

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

    No annotations provided, so description must disclose behavior. It states the operation is a read from a public page with no login, which implies safety. However, it does not describe error conditions or what happens if the page is inaccessible.

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

    Conciseness5/5

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

    The description is extremely concise with two sentences that convey essential information without redundancy or filler.

    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?

    Given the presence of an output schema, the description appropriately summarizes return fields. It covers the tool's purpose and key constraints (public, no login), but lacks parameter details, which is a minor gap for a simple tool.

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

    Parameters2/5

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

    Schema description coverage is 0%, yet the description does not explain the parameters 'brans_kodu' and 'ders_no' beyond their titles. The tool context suggests they identify a course, but no explicit definition is given, leaving agents to infer meaning.

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

    Purpose5/5

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

    The description clearly states the tool reads prerequisite details from a public course page, specifies the output includes structured data like codes, names, groups, and types, and distinguishes it from sibling tools like obs_get_course_prerequisites that require authentication.

    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?

    Explicitly mentions 'No login required,' which guides usage for public data access. Implicitly distinguishes from authenticated prerequisite tools, but could more directly state alternatives or when not to use.

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

  • Behavior4/5

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

    No annotations, but description declares read behavior and login requirement. Could detail output format or error handling, but adequate for a simple operation.

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

    Conciseness5/5

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

    Single sentence that is front-loaded with action and includes key prerequisite. No wasted words.

    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?

    Given no parameters and existence of output schema, description covers purpose and prerequisite. Could specify 'recent transactions' range, but overall sufficient.

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

    Parameters4/5

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

    Zero parameters; baseline is 4 per guidelines. Description adds value by explaining the resource, but no param details needed.

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

    Purpose5/5

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

    Clearly states verb 'Read', resource 'campus card balance and recent transactions', and scope 'from OBS'. Distinct from sibling tools like obs_get_profile.

    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?

    Specifies prerequisite 'requires login' and implies read-only use. No explicit when-not or alternative guidance, but context is clear for a 0-param tool.

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

  • Behavior4/5

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

    Declares read-only nature ('Read') and access requirements ('public, no login'), providing key behavioral traits beyond annotations (which are absent). No contradictions.

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

    Conciseness5/5

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

    Single sentence, front-loaded with action and resource, includes all essential details without fluff.

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

    Completeness5/5

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

    For a zero-parameter, read-only tool with an output schema, the description covers purpose, data content, and access, making it complete.

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

    Parameters4/5

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

    No parameters in schema; baseline 4 applies. Description adds no parameter info, but schema covers 100% with 0 params.

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

    Purpose5/5

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

    Description clearly states 'Read the İTÜ academic calendar' with specific data items (semester dates, exams, holidays, registration periods) and access status (public, no login). Distinguishes from siblings as no other calendar tool exists.

    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?

    Explicitly notes 'public, no login', indicating no authentication needed. Does not explicitly state when to use alternatives, but the purpose is clear and no exclusions are necessary.

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

  • Behavior4/5

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

    No annotations provided, so description carries burden. Mentions 'requires login' as behavioral note. Describes read-only operation without side effects. Could add details like caching or error behavior, but adequate for simple tool.

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

    Conciseness5/5

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

    Two sentences, no wasted words. Front-loaded with verb and resource. Perfectly concise.

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

    Completeness5/5

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

    Given 0 parameters and presence of output schema, description fully covers what the tool does, its source, login requirement, and content scope. No gaps.

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

    Parameters4/5

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

    No parameters exist, baseline 4. Description adds meaning by specifying 'today' and 'lunch/dinner meals', which goes beyond empty schema.

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

    Purpose5/5

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

    Clearly states it reads today's cafeteria menu from the İTÜ Portal, with specific resource (daily lunch/dinner meals). Distinct from sibling tools like get_academic_calendar or get_course_info.

    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?

    Implies use for checking today's menu, but does not explicitly exclude other uses (e.g., past menus) or state when not to use. Context is clear given sibling list.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

itu-mcp MCP server

Copy to your README.md:

Score Badge

itu-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yatuk/itu-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server