Skip to main content
Glama
Flagwill

COURSE_SJTU_MCP

by Flagwill

jcourse_search_courses

Read-onlyIdempotent

Search and filter SJTU courses by keyword, department, credit, language, category, and review status to retrieve course IDs, codes, credits, teachers, ratings, terms, and web links.

Instructions

搜索或筛选课程,返回课程 ID、代码、学分、教师、评分、开课学期和网页链接。

Input Schema

NameRequiredDescriptionDefault
qNo搜索关键词
pageNo页码,从 1 开始
ascendNo
creditNo
languageNo
order_byNorating_score
page_sizeNo每页条数,最多 100
categoriesNo筛选项数组,值来自对应 filter 工具返回的 name
departmentNo
has_reviewNo
target_yearsNo筛选项数组,值来自对应 filter 工具返回的 name

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, and an output schema exists, so listing return fields adds little. The description says nothing about pagination behavior, sorting defaults (order_by='rating_score'), or the dependency on filter tools for the categories/target_years values — the traits that would actually matter here.

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?

A single well-formed sentence with the core action front-loaded and zero filler. It is efficient, though its content is thin relative to the tool's 11-parameter surface.

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?

For an 11-parameter search tool with enum-based sorting, array filters sourced from separate filter tools, and pagination, one sentence is not enough. Key operational facts — how to discover valid category/year values and how sorting/paging behave — are left entirely to the schema.

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 only 45% across 11 parameters, and the description compensates for none of it: no mention of q, credit, language, department, has_review, order_by semantics, or pagination. A one-line mention of '筛选' does not explain which filters exist or how they combine.

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 gives a clear verb+resource pair ('搜索或筛选课程') and even enumerates the returned fields, so the agent knows this is the course search endpoint. It does not, however, distinguish it from adjacent siblings such as jcourse_get_hot_courses, jcourse_list_teacher_courses, or jcourse_list_enrolled_courses, which all return courses under different scopes.

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?

There is no statement of when to use this tool versus the many course-listing siblings (hot courses, teacher courses, enrolled/followed/ignored courses), nor any precondition such as needing to fetch filter values first. The agent must infer the routing decision from names alone.

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