Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct aspect of Saju analysis: base chart, five elements, climate balance, pattern, and yongshin candidates. No overlaps.

    Naming Consistency3/5

    Names mix pure Korean (eumyang_johu, gyeokguk) with hybrid English-Korean (ohaeng_balance, saju_chart, yongshin_candidates). No single convention but still readable.

    Tool Count5/5

    5 tools cover the core Saju diagnostic areas without being excessive or too sparse. Well-scoped for the domain.

    Completeness4/5

    Covers fundamental chart generation, elemental analysis, climate, pattern, and yongshin. Missing detailed fortune period interpretations but core surface is solid.

  • Average 3.9/5 across 5 of 5 tools scored.

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

    • No community issues in the last 6 months
    • 9 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 Apache 2.0.

  • 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.

  • This repository includes a glama.json configuration file.

  • 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 must cover behavioral traits. It states what the tool reports (ratio, tendency, shifts) but does not disclose safety aspects (e.g., read-only nature, side effects) or permissions. It implies a read-only diagnostic but doesn't confirm it.

    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 concise (two sentences plus example queries) and front-loaded with the core function. It efficiently conveys the tool's diagnostic purpose without unnecessary wording.

    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 complexity (9 parameters, no output schema), the description adequately explains the output (ratio, tendency, shifts across periods) and provides example usage. It doesn't detail return format or pagination, but for a diagnostic tool, this is acceptable.

    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 100%, so the baseline is 3. The description does not add meaning beyond the schema; it only provides example queries. No per-parameter elaboration is given in the description.

    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 identifies the tool as a 'Yin-Yang and Climate balance diagnostic' and specifies what it reports (ratio, tendency, shifts over fortune periods). Example queries further clarify its purpose. While sibling tools are not explicitly compared, the tool's niche is distinct enough to avoid confusion.

    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 example queries like 'is my chart hot or cold', suggesting when to use it. However, it lacks explicit guidance on when not to use this tool or how it differs from siblings such as ohaeng_balance or yongshin_candidates. No alternatives or exclusions 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 must fully describe behavioral traits. It only states what the tool returns, not whether it has side effects, requires special permissions, or imposes limits. As a read-only chart calculator, it likely has no destructive behavior, but this is not explicitly stated, leaving the agent uninformed.

    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 front-loaded with the core purpose, then details outputs and examples. It is slightly verbose but every sentence adds value. No unnecessary words, though it could be more compact.

    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 complexity (9 parameters, no output schema), the description provides a good overview of the return structure (pillars, Ten Gods, etc.). It misses specifics on output format or field names, but the listed elements are sufficient for an agent to understand the tool's role as the foundational chart.

    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 100%, so parameters are already well-documented. The description adds little beyond restating the '1230 for unknown time' convention and summarizing the tool's purpose. It meets the baseline for high coverage but does not compensate for any missing nuances.

    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 identifies the tool as a Korean Saju natal chart calculator, listing the specific outputs (four pillars, Ten Gods, element ratios, Spirit Stars, Twelve Life Stages). It provides example queries and distinguishes itself as 'the foundational reading other tools build on,' effectively differentiating it from 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 Guidelines4/5

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

    The description gives clear usage examples and states what the tool is for ('Use for ...'). However, it does not provide explicit guidance on when not to use it or when to prefer sibling tools, leaving the agent to infer from the tool names.

    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 full burden. It describes the output (five methods and their candidates) and explicitly states what is excluded. However, it does not disclose behavioral traits such as whether the tool is read-only (likely), any state changes, authentication requirements, or rate limits. For a tool that likely performs a deterministic calculation, this is adequate 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 extremely concise: three sentences, zero fluff. The first sentence states the core functionality, the second clarifies limitations, and the third provides example use cases. Every sentence adds value.

    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 9 parameters (2 required) and no output schema, the description is relatively brief. It does not explain the output structure beyond listing method names, nor does it describe how parameters affect results (though schema handles parameter details). For a complex Saju calculation tool, the description could provide more context about the derivation methods or expected output format. It is adequate but not comprehensive.

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

    Parameters3/5

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

    Schema description coverage is 100%, so baseline is 3. The description does not add any parameter-level details beyond what the schema already provides. It focuses solely on the output and usage context, which is acceptable since the schema is comprehensive.

    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 classical Yongshin candidates from five derivation methods, with explicit usage examples. It distinguishes itself from related tools by noting what it does NOT include (AI-selected final yongshin and confidence scores), 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 Guidelines4/5

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

    The description explicitly states that the tool does not include AI-selected yongshin or confidence scores, and directs users to the full 24Plus service for those. It also provides example queries ('what are my yongshin candidates', 'which element favors me'), giving clear context for when to use this tool. However, it does not explicitly mention alternative sibling tools like eumyang_johu or gyeokguk, which could provide more specific methods.

    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 behavioral disclosure. However, it only states what the tool does (compute and report) without mentioning side effects, idempotency, permissions, or rate limits. For a computation tool, read-only behavior is implied but not confirmed.

    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 two sentences plus example queries, front-loading the core purpose. Every sentence adds information—methodology, output, and use cases—with 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 the complexity of saju analysis and the lack of an output schema, the description covers the purpose and usage well but omits details about the return structure (e.g., format of percentages, element identifiers). This could hinder an agent from correctly parsing 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 covers 100% of parameters with descriptions. The tool description adds value by explaining the hidden-stem weighting method, which goes beyond the schema. This context helps the agent understand the computational approach.

    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 explicitly states the tool computes the Five Elements distribution using hidden-stem weighting, reports dominant and weakest elements, and provides specific user queries in both English and Korean. This distinguishes it from sibling tools (eumyang_johu, gyeokguk, etc.) which address other aspects of saju analysis.

    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 gives clear use cases ('analyze my five elements', 'which element am I missing', '오행 분석'). It doesn't explicitly state when not to use the tool or mention alternatives, but the context of sibling tool names implies these are separate tools for different analyses.

    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 provided, the description fully describes what the tool returns: named pattern with grade, body strength, sub-patterns, favorable element, and five-element distribution. It discloses the behavioral outcome without contradiction.

    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, well-structured paragraph that defines the term, explains the output, and gives usage examples. Every sentence adds value with no redundancy.

    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?

    Despite no output schema, the description details what the tool returns. With 9 parameters (2 required) and a specialized domain, the description provides sufficient context for an agent to decide when to use this tool versus siblings.

    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?

    All 9 parameters have descriptions in the input schema (100% coverage). The description adds value by explaining the purpose of the tool and its output, but does not add per-parameter details beyond the schema. Baseline 3 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 tool's purpose: determining Gyeokguk (chart structure/pattern) using classical Myeongli rules. It explains what it returns (named pattern, grade, body strength, etc.) and provides example queries. It is distinct from sibling tools like saju_chart or yongshin_candidates.

    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 gives explicit usage examples ('Use for 'what is my gyeokguk''), making it easy for an agent to know when to use this tool. It does not explicitly mention when not to use alternatives, but the specificity of the task implies it.

    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

cafe-mcp MCP server

Copy to your README.md:

Score Badge

cafe-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/dangamsoft/cafe-mcp'

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