Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a distinct purpose: discover datasets/operations, describe an operation's metadata, execute an operation, and check service health. No overlaps or ambiguous boundaries.

    Naming Consistency4/5

    Most names follow a consistent verb_noun pattern (describe_operation, execute_operation, discover_datasets). The exception is 'doctor', which is a valid verb but less conventional for a health check, creating a minor deviation.

    Tool Count5/5

    Four tools is an appropriate, well-scoped set for a university data API client: discovery, metadata, execution, and health check. Each tool earns its place.

    Completeness5/5

    The tool set covers the full lifecycle for consuming public data APIs: find operations, inspect their parameters, execute them, and verify connectivity. No obvious gaps for the stated purpose.

  • Average 3.1/5 across 4 of 4 tools scored.

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

    • No community issues in the last 6 months
    • 23 commits in the last 12 weeks
    • No stable releases found
    • 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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It does indicate the tool returns specific information (official source, base URL, description), implying a read-only operation, but it does not disclose error handling, required permissions, or any side effects. This is minimal but non-tautological disclosure.

    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, compact sentence with no redundant filler. It front-loads the core purpose immediately, though it could be slightly more specific about parameter roles without adding 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 no output schema and no annotations, the description alone is insufficient to fully understand the tool's behavior, error cases, or how it relates to sibling tools. It conveys the basic return type but leaves out usage context and expected input-output behavior.

    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% and the description only vaguely ties parameters to 'dataset or operation', without explaining the exact format or meaning of datasetId and operation. The required/optional relationship is left to the schema's required array, and the description adds little beyond that.

    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 ('returns') and resource ('official source·base URL·description for a specific dataset or operation'), which clearly conveys the tool's function. However, it does not explicitly differentiate from sibling tools like discover_datasets or execute_operation, though the focus on metadata retrieval is implicit.

    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 discover_datasets or execute_operation. It does not mention prerequisites, exclusions, or typical use cases, leaving the agent to infer appropriate usage from the tool name alone.

    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 responsibility for disclosing behavioral traits. It says the tool 'checks' settings/registry and 'tests' API calls, but does not state whether these are read-only operations, whether the API call test can cause side effects, or what constitutes a successful/failed check. This lack of detail is significant for a tool that might execute actual calls.

    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 is concise and front-loaded with the core action ('checks'), followed by optional behavior. It contains no redundancies or filler, making it appropriately compact for the information it conveys.

    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 nested schema with required fields (probe.datasetId, probe.operation) and absence of output schema or annotations, the description is too sparse. It does not explain the purpose of the probe object, expected return values, or error handling. This leaves significant gaps for the 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.

    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 compensate by explaining parameter meaning. However, it does not mention any parameter names or describe datasetId, operation, or params. The only hint is the word 'probe' in the schema, which aligns with the tool's testing action, but the field semantics remain completely unexplained.

    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's specific diagnostic actions: checking service key settings ('서비스키 설정'), registry status ('레지스트리 상태'), and optionally testing actual API calls ('선택적으로 실제 API 호출을 시험'). This distinguishes it from siblings like execute_operation and discover_datasets, which have 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 Guidelines2/5

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

    The description gives no explicit guidance on when to use this tool versus alternatives. It neither mentions siblings nor provides exclusions or specific use cases. The optional API call testing is implied as a diagnostic feature, but there is no clear 'when to use' or 'when not to use' direction.

    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 the full burden of behavioral disclosure, but it only mentions search by keyword/domain. It does not disclose whether the operation is read-only, what the return format is, whether results include both datasets and operations, or any other 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.

    Conciseness5/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 core purpose. It contains no filler or redundant 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?

    The tool has no output schema and no annotations, so the description must explain return values and usage context; it does neither. It lacks information about output structure, result format, or typical usage flow with sibling tools, making it insufficient for a complete understanding.

    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 coverage is 50% (query has a description, domain has only an enum). The description adds the concept of searching by 'keyword·domain', which maps to the two parameters. However, it does not elaborate on the meaning of domain values or how the two parameters interact, providing only partial compensation.

    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 searches for registered university information disclosure datasets and operations by keyword and domain, using a specific verb ('search') and resource. It distinguishes itself from sibling tools like describe_operation and execute_operation by focusing on discovery rather than subsequent 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 is provided on when to use this tool versus alternatives such as describe_operation or execute_operation. The description only states what the tool does, not the context in which it should be selected.

    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 must disclose behavioral traits but only mentions execution and the Swagger-based param naming. It does not mention side effects, safety, error behavior, output format, or authentication requirements, leaving a significant transparency gap.

    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, front-loaded sentences with no wasted words. The essential information about purpose and parameter naming is delivered efficiently.

    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 4 parameters, nested objects, and no output schema, the description is too sparse. It omits how to discover registered operations, what the response looks like, error handling, and safety implications. The Swagger note helps but leaves many operational 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?

    Schema description coverage is low (25%), but the description adds a crucial semantic: 'params' keys must match the Swagger spec exactly. It does not explain datasetId or operation, though these are somewhat self-evident from names. Partial compensation for low schema coverage.

    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 executes registered university information API operations, with a specific verb ('실행합니다') and resource. It distinguishes from siblings like describe_operation and discover_datasets by focusing on execution.

    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?

    Usage context is implied: the tool executes operations, suggesting it is for running rather than describing or discovering. However, it does not explicitly state when to use it versus alternatives like describe_operation to obtain Swagger params first, nor mention any exclusions.

    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

korea-university-mcp MCP server

Copy to your README.md:

Score Badge

korea-university-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/topnotcher107-dotcom/korea-university-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server