Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: getBaziDetail retrieves birth chart information, getChineseCalendar provides almanac data, and getSolarTimes converts birth charts to solar times. There is no overlap in functionality, making tool selection unambiguous.

    Naming Consistency4/5

    The naming follows a consistent 'get' prefix pattern (getBaziDetail, getChineseCalendar, getSolarTimes), but uses camelCase instead of snake_case. While internally consistent, the deviation from a more common verb_noun pattern is a minor flaw.

    Tool Count4/5

    With 3 tools, the count is reasonable for a Chinese astrology/calendar server, but it feels slightly thin. A few additional tools, such as for date conversion or more detailed analyses, could enhance coverage without being excessive.

    Completeness3/5

    The tools cover core functions like birth chart retrieval, almanac lookup, and time conversion, but there are notable gaps. For example, there is no tool for updating or manipulating data, and advanced features like compatibility analysis or historical date lookups are missing, limiting workflow completeness.

  • Average 3.2/5 across 3 of 3 tools scored.

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

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • 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.

  • 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 the full burden of behavioral disclosure. It adds some context by specifying the return format (YYYY-MM-DD hh:mm:ss) with an example, which helps clarify output behavior. However, it doesn't cover other important traits like error handling, rate limits, authentication needs, or whether the operation is read-only or has side effects, leaving significant 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 sized and front-loaded, starting with the core purpose followed by output format details and an example. Both sentences earn their place by providing essential information without redundancy. However, it could be slightly more structured by separating purpose from output details more clearly.

    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 (converting Bazi to Gregorian times), lack of annotations, no output schema, and low schema coverage, the description is minimally adequate. It explains the purpose and output format but misses details on parameter semantics, error cases, and behavioral traits. Without annotations or output schema, more completeness is needed for a tool performing a non-trivial conversion.

    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 input schema has 1 parameter (bazi) with 0% description coverage, meaning the schema provides no details about the parameter. The description doesn't add any semantic information about the 'bazi' parameter, such as what it represents, its format, or examples. Since there's only one parameter and no schema documentation, the baseline is 3, but the description fails to compensate for the lack of schema coverage.

    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: '根据八字获取公历时间列表' (Get Gregorian calendar time list based on Bazi). It specifies the verb ('获取' - get) and resource ('公历时间列表' - Gregorian calendar time list), making the function understandable. However, it doesn't explicitly differentiate from sibling tools like getBaziDetail or getChineseCalendar, which prevents a perfect score.

    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 sibling tools (getBaziDetail, getChineseCalendar) or explain scenarios where this tool is preferred. Usage is implied by the purpose statement but lacks explicit context or exclusions.

    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. It mentions the parameter constraint (mutual exclusivity of solarDatetime and lunarDatetime), which is useful. However, it doesn't describe other behavioral traits such as what the tool returns (Bazi information format), error handling, rate limits, authentication needs, or whether it's read-only or mutative. For a tool with 4 parameters and no annotation coverage, this is a significant 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?

    The description is appropriately sized and front-loaded: the first sentence states the core purpose, and the second adds critical usage guidance. Every sentence earns its place with no redundant information, making it efficient and easy to parse.

    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 complexity (4 parameters, 0% schema coverage, no annotations, no output schema), the description is incomplete. It covers the purpose and a key parameter constraint but lacks details on return values, error conditions, behavioral traits, and full parameter semantics. For a tool that likely returns structured Bazi data, this leaves significant gaps for an AI agent to use it correctly.

    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 schema provides no parameter details. The description adds some semantics: it explains that solarDatetime and lunarDatetime are mutually exclusive time inputs (公历或农历 - Gregorian or lunar calendar), and implies gender is required. However, it doesn't clarify the meaning of 'eightCharProviderSect' or provide format details (e.g., datetime string format, gender encoding). The description partially compensates but doesn't fully address the coverage gap, warranting a baseline score.

    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: '根据时间(公历或农历)、性别来获取八字信息' (Get Bazi information based on time (Gregorian or lunar calendar) and gender). It specifies the verb ('获取' - get/retrieve) and resource ('八字信息' - Bazi information), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like getChineseCalendar or getSolarTimes, which prevents a perfect score.

    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 clear usage guidance: 'solarDatetime和lunarDatetime必须传且只传其中一个' (solarDatetime and lunarDatetime must be passed and only one of them should be passed). This specifies a critical constraint for parameter usage. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., compared to getChineseCalendar or getSolarTimes), and doesn't mention prerequisites or exclusions, which keeps it from a score of 5.

    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. It mentions the default behavior (today if no date specified) which is useful, but doesn't describe what '黄历信息' includes, whether there are rate limits, authentication requirements, error conditions, or what format the information returns. 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.

    Conciseness5/5

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

    The description is extremely concise - a single Chinese sentence that efficiently communicates the core functionality, default behavior, and parameter purpose. Every word earns its place with no redundancy or unnecessary elaboration.

    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 moderate complexity (date-based lookup of cultural calendar information), no annotations, no output schema, and 0% schema description coverage, the description provides a basic but incomplete picture. It covers the purpose and parameter context adequately but lacks details about return values, error handling, and behavioral constraints that would be needed for robust agent usage.

    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 description adds meaningful context about the single parameter: it explains that 'solarDatetime' represents a Gregorian date/time, specifies the default behavior (today if not provided), and clarifies this is for '公历时间' (Gregorian/solar calendar time). With 0% schema description coverage and only one parameter, this provides good compensation beyond the bare 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 clearly states the tool's purpose: '获取指定公历时间(默认今天)的黄历信息' (Get Chinese calendar/almanac information for a specified Gregorian date, defaulting to today). It specifies the verb '获取' (get) and resource '黄历信息' (Chinese calendar/almanac information). However, it doesn't explicitly differentiate from sibling tools like getBaziDetail or getSolarTimes, which likely provide different types of Chinese calendar-related data.

    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 through the default behavior ('默认今天' - defaulting to today) and the parameter 'solarDatetime', suggesting this tool is for retrieving almanac data for specific dates. However, it provides no explicit guidance on when to use this tool versus alternatives like getBaziDetail or getSolarTimes, nor does it mention any prerequisites or 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

1777316659717123 MCP server

Copy to your README.md:

Score Badge

1777316659717123 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/xiaobenyang-com/1777316659717123'

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