Skip to main content
Glama
ctermiii

HeFeng Weather MCP Server

by ctermiii

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: get_datetime retrieves time data, get_location_id finds location identifiers, and get_weather fetches weather forecasts. There is no overlap in functionality, and an agent can easily distinguish between them based on their specific objectives.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with 'get_' prefix: get_datetime, get_location_id, and get_weather. This uniformity makes the set predictable and easy to understand, adhering to a clear naming convention throughout.

    Tool Count3/5

    With only 3 tools, the set feels thin for a weather server, as it lacks operations like historical weather data, alerts, or air quality. While the core functions are present, the scope is minimal and may limit agent capabilities in more complex scenarios.

    Completeness3/5

    The tools cover basic weather retrieval (get_weather) and location lookup (get_location_id), but there are notable gaps such as missing update/delete operations, historical data access, or weather alerts. The surface is functional for simple queries but incomplete for comprehensive weather domain coverage.

  • Average 3.1/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 ISC 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

  • 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 describes what the tool does (retrieves location ID and geographic details) but lacks critical behavioral traits: it doesn't specify if this is a read-only operation, potential rate limits, authentication needs, error handling, or what '详细地理信息' (detailed geographic information) entails. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

    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, efficient sentence that clearly states the tool's function and input options. It's front-loaded with the core purpose and avoids unnecessary words. However, it could be slightly more structured by separating input types for better readability, but overall, it's concise and well-sized for its purpose.

    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 (single parameter, no output schema, no annotations), the description is partially complete. It covers the purpose and input semantics adequately but lacks details on behavioral aspects (e.g., read-only status, error cases) and output specifics. Without an output schema, the description should ideally hint at what '详细地理信息' includes, but it doesn't, leaving room for improvement in contextual coverage.

    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 description adds some meaning beyond the input schema by listing the types of inputs accepted (city name in pinyin/English, coordinates, LocationID, or Adcode), which aligns with the schema's description. However, with 100% schema description coverage, the schema already documents the parameter thoroughly ('需要查询地区的名称(拼音如'beijing')、以英文逗号分隔的经度,纬度坐标(例如 116.41,39.92)、LocationID或Adcode(仅限中国城市)'). The description doesn't provide additional syntax, format details, or constraints, so it meets the baseline for high 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: '获取其精确的位置ID和详细地理信息' (get precise location ID and detailed geographic information). It specifies the verb '获取' (get) and resource '位置ID和详细地理信息' (location ID and detailed geographic information), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like get_datetime or get_weather, 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 lists input types (city name, coordinates, LocationID, or Adcode) but doesn't mention scenarios where this tool is preferred over siblings like get_weather for weather-related queries or get_datetime for time information. There's no explicit when-to-use or when-not-to-use context.

    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 full burden for behavioral disclosure. It states what the tool does (get weather forecast) but doesn't mention any behavioral traits like rate limits, authentication needs, error handling, or what happens with invalid inputs. For a tool with no annotation coverage, this is a significant gap in transparency.

    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 required inputs. It's front-loaded with the main purpose and wastes no words. However, it could be slightly more structured by separating usage guidance from parameter requirements.

    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 annotations and no output schema, the description is incomplete for a weather forecasting tool. It doesn't explain what the return values look like (e.g., temperature, conditions), error scenarios, or any limitations. For a tool with 2 parameters and complex forecasting options, more context is needed to be fully helpful to an AI agent.

    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 the schema already documents both parameters thoroughly. The description adds minimal value beyond the schema by mentioning LocationID or coordinates as input options, but doesn't provide additional semantic context. Baseline 3 is appropriate when the schema does the heavy lifting.

    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 weather forecast for a specified location). It specifies the verb (get) and resource (weather forecast), but doesn't differentiate from sibling tools like get_datetime or get_location_id, which are unrelated weather tools. The purpose is specific but lacks sibling distinction.

    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 mentions what parameters to provide (LocationID or coordinates) but doesn't indicate when this tool is appropriate compared to siblings or other weather-related tools. There's no context about use cases 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?

    With no annotations provided, the description carries full burden for behavioral disclosure. While it indicates the tool retrieves current datetime (implying read-only behavior), it doesn't disclose important traits like whether this is a real-time query, potential rate limits, authentication requirements, or what format the datetime is returned in. The description is minimal beyond stating the basic function.

    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 with just two sentences that directly state the tool's function and parameter behavior. Every word earns its place with zero wasted text, and the information is front-loaded with the core purpose stated first.

    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 annotations and no output schema, the description is inadequate for a tool that returns data. It doesn't explain what format the datetime is returned in (ISO string? timestamp? structured object?), whether it includes timezone information, or what happens on errors. For a data retrieval tool, this leaves significant gaps in understanding how to interpret results.

    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 the schema already fully documents the single optional timezone parameter. The description adds only that the parameter is optional and defaults to 'Asia/Shanghai', which is already stated in the schema. No additional semantic context is provided beyond what's in the structured schema.

    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 with a specific verb ('获取' meaning 'get') and resource ('当前的日期和时间' meaning 'current date and time'). It distinguishes itself from sibling tools like get_location_id and get_weather by focusing on datetime retrieval rather than location or weather 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 when current datetime is needed, but provides no explicit guidance on when to use this tool versus alternatives or any prerequisites. It mentions the optional timezone parameter but doesn't specify scenarios where different timezones would be appropriate.

    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

hefeng-mcp-server MCP server

Copy to your README.md:

Score Badge

hefeng-mcp-server 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/ctermiii/hefeng-mcp-server'

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