Skip to main content
Glama
TeXmeijin

Manalink MCP Server

by TeXmeijin

get_grade_master

Retrieve grade-level labels and corresponding IDs from the Grade Master on the Manalink MCP Server, enabling accurate identification and alignment of grade-specific data.

Instructions

学年マスタを取得します。このマスタの取得を通じて、学年のラベルとIDの対応を取得します。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The handler function for the 'get_grade_master' tool. It combines imported 'grades' and 'gradeGroups' data into a response object and returns it as a formatted JSON text content.
    async () => {
      // 学年マスタと学年グループを組み合わせた情報を返す
      const response = {
        grades,
        gradeGroups
      };
    
      return {
        content: [{
          type: "text" as const,
          text: JSON.stringify(response, null, 2)
        }]
      };
    }
  • src/server.ts:59-76 (registration)
    Registers the 'get_grade_master' tool with the MCP server, specifying the tool name, Japanese description, and inline handler function.
    server.tool(
      "get_grade_master",
      "学年マスタを取得します。このマスタの取得を通じて、学年のラベルとIDの対応を取得します。",
      async () => {
        // 学年マスタと学年グループを組み合わせた情報を返す
        const response = {
          grades,
          gradeGroups
        };
    
        return {
          content: [{
            type: "text" as const,
            text: JSON.stringify(response, null, 2)
          }]
        };
      }
    );
  • Defines the data structures and static data arrays for grades and grade groups, which are imported and used directly in the tool handler.
    export interface Grade {
      id: number;
      name: string;
    }
    
    export const grades: Grade[] = [
      { id: 1, name: "小学1年生" },
      { id: 2, name: "小学2年生" },
      { id: 3, name: "小学3年生" },
      { id: 4, name: "小学4年生" },
      { id: 5, name: "小学5年生" },
      { id: 6, name: "小学6年生" },
      { id: 7, name: "中学1年生" },
      { id: 8, name: "中学2年生" },
      { id: 9, name: "中学3年生" },
      { id: 10, name: "中学浪人" },
      { id: 11, name: "高校1年生" },
      { id: 12, name: "高校2年生" },
      { id: 13, name: "高校3年生" },
      { id: 14, name: "浪人生" },
      { id: 15, name: "社会人" }
    ];
    
    /**
     * 学年グループ定義(中学生、高校生などの広いカテゴリ)
     */
    export interface GradeGroup {
      name: string;
      gradeIds: number[];
    }
    
    export const gradeGroups: GradeGroup[] = [
      { name: "小学生", gradeIds: [1, 2, 3, 4, 5, 6] },
      { name: "中学生", gradeIds: [7, 8, 9, 10] },
      { name: "高校生", gradeIds: [11, 12, 13] }
    ];
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. It states this is a retrieval operation ('取得します'), which implies read-only behavior, but doesn't address other important aspects like authentication requirements, rate limits, error conditions, or what happens when no data exists. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

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 appropriately concise with two sentences that directly address the tool's function and purpose. The first sentence states the action, the second explains the value. There's no wasted language or unnecessary elaboration, though it could be slightly more structured for maximum clarity.

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, no output schema, no annotations), the description is adequate but has clear gaps. It explains what the tool does and what information it provides, but doesn't address behavioral aspects like error handling or performance characteristics. For a read-only master data retrieval tool, this is minimally viable but could be more 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?

The tool has zero parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, and it correctly focuses on what the tool returns (grade label-to-ID mappings) rather than input requirements.

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's purpose: retrieving a 'grade master' (学年マスタ) to obtain mappings between grade labels and IDs. It uses specific verbs ('取得します' - retrieves/gets) and identifies the resource (grade master). However, it doesn't explicitly differentiate from sibling tools like get_subject_master, which appears to be a similar master data retrieval tool.

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 doesn't mention prerequisites, appropriate contexts, or comparisons with sibling tools like get_subject_master or search_teachers_advanced. The only implied usage is when grade label-to-ID mappings are needed, but this is basic functional information rather than true usage guidance.

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

Install Server

Other Tools

Related Tools

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/TeXmeijin/manalinkMCP'

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