Skip to main content
Glama
alchaincyf

Weather MCP Server

by alchaincyf

天气MCP服务器 🌤️

一个基于Model Context Protocol (MCP)的天气查询服务器,可以根据用户输入的地址或自动获取当前位置来查询天气信息和预报。

功能特性 ✨

  • 🌍 多种位置查询方式:支持地址、坐标、当前位置

  • 🌤️ 实时天气信息:获取当前详细天气数据

  • 📅 天气预报:支持1-10天的未来天气预报

  • 📍 地理编码:地址与坐标之间的转换

  • 💡 智能建议:根据天气条件提供生活建议

  • 🌐 多语言支持:中文界面,支持全球地址查询

  • 🔧 易于集成:标准MCP协议,兼容多种AI客户端

Related MCP server: MCP Weather Server

安装 🚀

1. 克隆项目

git clone <repository-url>
cd weather-mcp-server

2. 安装依赖

npm install

3. 编译和运行

🎉 无需API密钥! 本项目使用完全免费的Open-Meteo API,无需注册或配置任何密钥。

# 编译TypeScript
npm run build

# 启动服务器
npm start

# 或者开发模式(自动重编译)
npm run dev

使用方法 📖

在Claude Desktop中使用

  1. 打开Claude Desktop配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%/Claude/claude_desktop_config.json

  2. 添加MCP服务器配置:

{
  "mcpServers": {
    "weather": {
      "command": "node",
      "args": ["/path/to/weather-mcp-server/dist/index.js"]
    }
  }
}
  1. 重启Claude Desktop

在其他MCP客户端中使用

参考各客户端的文档,使用stdio传输协议连接到服务器:

node /path/to/weather-mcp-server/dist/index.js

可用工具 🔧

1. get-weather-by-address

根据地址获取当前天气信息

参数:

  • address (string): 地址,例如:"北京市"、"上海市浦东新区"、"New York"

示例:

获取北京市的天气

2. get-forecast-by-address

根据地址获取天气预报

参数:

  • address (string): 地址

  • days (number, 可选): 预报天数,1-10天,默认5天

示例:

获取上海市未来7天的天气预报

3. get-current-location-weather

获取当前位置的天气信息(基于IP地址)

参数: 无

示例:

获取我当前位置的天气

4. get-current-location-forecast

获取当前位置的天气预报

参数:

  • days (number, 可选): 预报天数,1-10天,默认5天

示例:

获取我当前位置未来3天的天气预报

5. get-weather-by-coordinates

根据经纬度坐标获取天气信息

参数:

  • latitude (number): 纬度,-90到90之间

  • longitude (number): 经度,-180到180之间

示例:

获取坐标(39.9042, 116.4074)的天气信息

6. geocode-address

将地址转换为经纬度坐标

参数:

  • address (string): 要解析的地址

示例:

解析"天安门广场"的坐标

可用资源 📚

weather://status

显示天气服务的配置状态和可用性

可用提示 🎯

weather-assistant

天气查询智能助手

参数:

  • location (string, 可选): 位置信息

  • query_type (enum, 可选): 查询类型,"current"或"forecast"

示例输出 📋

天气信息示例

📍 位置: Beijing, Beijing, China
🌡️ 温度: 22°C (体感温度: 24°C)
🌤️ 天气: 晴
💧 湿度: 45%
💨 风速: 12 km/h (SW)
🌡️ 气压: 1013 mb
👁️ 能见度: 10 km
☀️ 紫外线指数: 6
🕐 更新时间: 2024-01-15 14:30

💡 建议:
☀️ 天气较热,穿轻便衣物
🧴 紫外线较强,建议涂抹防晒霜

天气预报示例

📍 Beijing, Beijing, China 天气预报

🌟 当前天气:
温度: 22°C (体感: 24°C)
天气: 晴
湿度: 45% | 风速: 12 km/h

📅 未来几天预报:
今天 (2024-01-15):
  🌡️ 18°C ~ 25°C | 晴
  💧 湿度: 45% | 🌧️ 降雨概率: 10%

明天 (2024-01-16):
  🌡️ 16°C ~ 23°C | 多云
  💧 湿度: 55% | 🌧️ 降雨概率: 20%

技术架构 🏗️

核心组件

  • WeatherService: 天气API调用和数据格式化

  • LocationService: 地理位置服务和地址解析

  • MCP Server: 基于标准MCP协议的服务器实现

依赖项

  • @modelcontextprotocol/sdk: MCP协议实现

  • axios: HTTP请求库

  • zod: 数据验证

  • dotenv: 环境变量管理

API服务商

  • Open-Meteo: 免费天气数据提供商

  • Open-Meteo Geocoding: 免费地理编码服务

  • IP-API: 免费IP地址定位服务

开发 🛠️

项目结构

weather-mcp-server/
├── src/
│   ├── index.ts              # 主服务器文件
│   ├── weather-service.ts    # 天气服务
│   ├── location-service.ts   # 位置服务
│   └── types.ts             # 类型定义
├── dist/                    # 编译输出
├── package.json
├── tsconfig.json
├── env.example
└── README.md

开发命令

# 安装依赖
npm install

# 开发模式(自动重编译)
npm run dev

# 编译
npm run build

# 运行
npm start

添加新功能

  1. 在相应的服务类中添加新方法

  2. 在 src/index.ts 中注册新的工具、资源或提示

  3. 更新类型定义(如需要)

  4. 重新编译和测试

故障排除 🔧

常见问题

  1. 网络连接问题

    • 检查网络连接

    • 确认防火墙设置允许外部API访问

  2. 地址解析失败

    • 尝试使用更具体的地址

    • 检查地址拼写是否正确

  3. 编译错误

    • 确保Node.js版本 >= 18.0.0

    • 删除 node_modules 和 dist 目录后重新安装

  4. 服务暂时不可用

    • Open-Meteo服务偶尔可能维护,请稍后重试

调试模式

启用详细日志:

DEBUG=weather-mcp-server npm start

贡献 🤝

欢迎贡献代码!请遵循以下步骤:

  1. Fork 项目

  2. 创建功能分支 (git checkout -b feature/AmazingFeature)

  3. 提交更改 (git commit -m 'Add some AmazingFeature')

  4. 推送到分支 (git push origin feature/AmazingFeature)

  5. 创建Pull Request

许可证 📄

本项目采用 MIT 许可证。详见 LICENSE 文件。

支持 💬

如果您遇到问题或有建议,请:

  1. 查看常见问题

  2. 搜索现有的Issues

  3. 创建新的Issue并详细描述问题

更新日志 📝

v1.0.0

  • 初始版本发布

  • 使用Open-Meteo免费API,无需密钥

  • 支持基本天气查询功能

  • 支持地址和坐标查询

  • 支持当前位置自动检测

  • 支持天气预报(最多16天)

  • 提供智能天气建议

  • 完全免费使用


享受使用天气MCP服务器! 🌤️✨

Available Tools

6 tools
geocode-address地址解析C

将地址转换为经纬度坐标

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes要解析的地址

TDQS

C2.9/5.0
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 states the transformation function but lacks critical details: it doesn't specify accuracy levels, rate limits, error handling (e.g., for invalid addresses), data sources, or output format (e.g., coordinate precision). For a geocoding tool with zero 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.

Conciseness5/5

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

The description is extremely concise—a single sentence in Chinese that directly states the tool's function without any fluff. It's front-loaded with the core purpose and wastes no words. Every part of the sentence earns its place by clearly communicating the transformation.

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 lack of annotations and output schema, the description is incomplete for effective tool use. It doesn't cover behavioral aspects like error handling or performance, and while the input is clear, the output (coordinate format, precision) is unspecified. For a geocoding tool with no structured output documentation, more context is needed to ensure reliable agent invocation.

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 schema description coverage is 100%, with the single parameter 'address' clearly documented in the schema as '要解析的地址' (address to parse). The description adds no additional semantic context beyond what the schema provides—it doesn't elaborate on address format expectations, localization, or examples. With high schema coverage, the baseline score of 3 is appropriate.

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: '将地址转换为经纬度坐标' (convert address to latitude/longitude coordinates). It specifies the verb (convert/transform) and resource (address to coordinates), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get-weather-by-address' or 'get-forecast-by-address', which also take addresses but return different data types.

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 like 'get-weather-by-address' (which might also geocode internally) or clarify that this is for pure coordinate conversion rather than weather-related queries. There's no context about prerequisites, limitations, or typical use cases.

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

get-current-location-forecast获取当前位置天气预报C

根据IP地址获取当前位置的天气预报

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo预报天数,1-10天,默认5天

TDQS

C2.9/5.0
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. It mentions the location method (IP address) but doesn't disclose important behavioral traits: whether this requires internet connectivity, what happens with invalid IPs, rate limits, accuracy limitations of IP-based location, or what the forecast includes (e.g., temperature, precipitation). For a weather API tool with zero annotation coverage, this is insufficient.

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, efficient sentence in Chinese that directly states the tool's function. It's appropriately sized and front-loaded with the core purpose. There's no wasted text or unnecessary elaboration.

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 moderate complexity (weather forecasting with location detection), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the forecast returns (e.g., data format, units), error conditions, or dependencies. With siblings offering similar functionality, more context is needed to help an agent choose 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?

The description doesn't mention any parameters, while the schema has one parameter ('days') with 100% coverage (description, default, constraints). Since schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description. The description doesn't add meaning beyond what the schema provides, but doesn't need to compensate for gaps.

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: '根据IP地址获取当前位置的天气预报' (Get current location weather forecast based on IP address). It specifies the verb ('获取' - get) and resource ('天气预报' - weather forecast), and mentions the location method (IP address). However, it doesn't explicitly differentiate from siblings like 'get-current-location-weather' (which might be current conditions vs forecast) or 'get-forecast-by-address' (which uses address vs IP).

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. With siblings like 'get-current-location-weather' (likely current conditions), 'get-forecast-by-address' (forecast by address), and 'get-weather-by-address' (weather by address), there's no indication of when IP-based location is preferred over address-based methods or when forecast is needed versus current weather.

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

get-current-location-weather获取当前位置天气B

根据IP地址获取当前位置的天气信息

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
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 states the tool gets weather based on IP address, but doesn't disclose any behavioral traits such as rate limits, accuracy of IP-based location, data sources, error handling, or what the response format might look like. This is a significant gap for a tool with no annotation coverage.

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, clear sentence: '根据IP地址获取当前位置的天气信息'. It's front-loaded with the core purpose, has zero waste, and is appropriately sized for a simple tool with no parameters. Every word earns its place.

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 (simple tool with no parameters) but lack of annotations and output schema, the description is incomplete. It doesn't explain what weather information is returned (e.g., temperature, conditions), how accurate the IP-based location is, or any error cases. For a tool with no structured output schema, more context on return values would be helpful.

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 has 0 parameters with 100% coverage, so there's no need for parameter documentation. The description appropriately doesn't discuss parameters, which aligns with the schema. A baseline of 4 is applied since no parameters exist, and the description doesn't add unnecessary param info.

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: '根据IP地址获取当前位置的天气信息' (Get current location weather information based on IP address). It specifies the verb '获取' (get) and resource '天气信息' (weather information), and mentions the method '根据IP地址' (based on IP address). However, it doesn't explicitly distinguish it from sibling tools like 'get-weather-by-address' or 'get-weather-by-coordinates', which would require a 5.

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 that this tool is specifically for IP-based location detection versus address-based or coordinate-based alternatives available among the sibling tools. There's no indication of prerequisites, limitations, or comparative use cases.

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

get-forecast-by-address根据地址获取天气预报C

根据提供的地址获取未来几天的天气预报

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes地址,例如:北京市、上海市浦东新区、New York等
daysNo预报天数,1-10天,默认5天

TDQS

C2.9/5.0
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 'future days' forecasting but doesn't specify what data is returned (e.g., temperature, precipitation), format, time resolution, or any limitations like rate limits, authentication needs, or accuracy constraints. For a forecasting 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 a single, efficient sentence that states the core purpose without waste. It's appropriately sized and front-loaded with the essential information, making it easy to parse quickly.

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 of a weather forecasting tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the forecast includes (e.g., temperature, conditions), how results are structured, or any error handling. The lack of behavioral transparency and output details makes it inadequate for proper agent 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 description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (address and days). It doesn't explain parameter interactions or provide usage examples. 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 the next few days based on the provided address). It specifies the verb (获取/get) and resource (天气预报/weather forecast), but doesn't explicitly differentiate it from siblings like 'get-weather-by-address' or 'get-current-location-forecast' beyond the 'future days' aspect.

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 like 'get-weather-by-address' (which might provide current weather vs. forecast) or 'geocode-address' (which might be a prerequisite). There's no context about when this tool is appropriate versus other weather or location-based tools.

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

get-weather-by-address根据地址获取天气C

根据提供的地址获取当前天气信息

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes地址,例如:北京市、上海市浦东新区、New York等

TDQS

C2.9/5.0
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 getting '当前天气信息' (current weather information), which implies a read-only operation, but doesn't cover important aspects like rate limits, error handling (e.g., invalid addresses), response format, or whether it requires authentication. For a tool with no 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.

Conciseness5/5

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

The description is a single, clear sentence: '根据提供的地址获取当前天气信息'. It's front-loaded with the core purpose, has zero wasted words, and is appropriately sized for a simple tool. Every part of the sentence contributes directly to understanding the tool's function.

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 simplicity (1 parameter, 100% schema coverage), the description is minimal but adequate for basic understanding. However, with no annotations and no output schema, it fails to address key contextual elements like what the output looks like (e.g., temperature, conditions), error scenarios, or performance considerations. For a weather API tool, this leaves the agent with incomplete operational context.

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 mentions '根据提供的地址' (based on the provided address), which aligns with the single 'address' parameter in the schema. With 100% schema description coverage, the schema already documents this parameter well (including examples like '北京市'). The description adds no additional semantic context beyond what the schema provides, so it meets the baseline of 3.

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 current weather information based on the provided address). It specifies the verb ('获取' - get) and resource ('天气信息' - weather information) with the constraint of using an address. However, it doesn't explicitly differentiate from siblings like 'get-weather-by-coordinates' or 'get-current-location-weather', which is why it's not a 5.

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. With siblings like 'get-weather-by-coordinates' and 'get-forecast-by-address', there's no indication of when this tool is preferred (e.g., for current weather vs. forecast, or address-based vs. coordinate-based queries). The description only states what it does, not when to use it.

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

get-weather-by-coordinates根据坐标获取天气C

根据经纬度坐标获取天气信息

ParametersJSON Schema
NameRequiredDescriptionDefault
latitudeYes纬度,-90到90之间
longitudeYes经度,-180到180之间

TDQS

C2.9/5.0
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. While it correctly describes the core function, it lacks critical behavioral information: it doesn't specify what weather data is returned (e.g., current conditions, forecast, units), whether there are rate limits, authentication requirements, error conditions, or data freshness. For a tool with no annotation coverage, this represents 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.

Conciseness5/5

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

The description is extremely concise - a single sentence that directly states the tool's function without any unnecessary words. It's front-loaded with the core purpose and wastes no space on redundant information. This is an excellent example of efficient communication.

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 that there are no annotations and no output schema, the description is insufficiently complete. For a weather API tool with 2 parameters, the agent needs more context about what weather information is returned, in what format, with what units, and any limitations or requirements. The description fails to compensate for the lack of structured metadata, leaving significant gaps in understanding how to effectively use this tool.

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 mentions '经纬度坐标' (latitude and longitude coordinates), which aligns with the two parameters in the schema. However, with 100% schema description coverage (both parameters have clear descriptions in the schema), the description adds minimal value beyond what's already documented in the structured fields. It doesn't provide additional context about parameter interactions, default behaviors, or edge cases.

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 information based on latitude and longitude coordinates). It specifies both the verb ('获取' - get) and the resource ('天气信息' - weather information), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'get-weather-by-address' or 'get-current-location-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. With sibling tools like 'get-weather-by-address' and 'get-current-location-weather' available, the agent receives no indication that this tool is specifically for coordinate-based queries rather than address-based or current-location queries. There's no mention of prerequisites, limitations, or comparative use cases.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv1.0.0
    • First observedgeocode-address
    • First observedget-current-location-forecast
    • First observedget-current-location-weather
    • First observedget-forecast-by-address
    • First observedget-weather-by-address
    • First observedget-weather-by-coordinates

TDQS

B3.2/5.0

Scored across 6 tools

Disambiguation3/5

There is significant overlap between tools like 'get-current-location-forecast' and 'get-forecast-by-address', which both provide forecasts but differ by input method (IP vs address). Similarly, 'get-current-location-weather' and 'get-weather-by-address' overlap for current weather. The descriptions clarify the input differences, but the core functionality is redundant, making tool selection potentially confusing for an agent.

Naming Consistency5/5

All tool names follow a consistent 'verb-noun' pattern with hyphens, such as 'geocode-address', 'get-weather-by-address', and 'get-forecast-by-address'. The naming is predictable and uniform across all six tools, making it easy for agents to parse and understand the pattern.

Tool Count4/5

With 6 tools, the count is reasonable for a weather server, covering geocoding, current weather, and forecasts. It's slightly over-scoped due to redundant tools (e.g., separate tools for IP-based and address-based forecasts), but overall, each tool has a specific input method, making the count appropriate for the domain.

Completeness4/5

The tool set covers core weather operations: geocoding, current weather, and forecasts, with multiple input methods (IP, address, coordinates). Minor gaps might include historical weather data or alerts, but for basic weather queries, the surface is largely complete and allows agents to handle common scenarios without dead ends.

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that provides current weather forecasts for specific locations and active weather alerts for US states.
    2
    -
  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that provides real-time weather information and 5-day forecasts to AI assistants, supporting multiple languages and flexible units.
    3
    12 npm
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol server that interfaces with OpenWeatherMap API to provide real-time weather information and forecasts for cities worldwide.
    -