Skip to main content
Glama
tranducthai

MCP Weather SSE Server

by tranducthai

🧪 MCP Server for Claude Desktop

This guide shows you how to use your Model Context Protocol (MCP) server using Claude for Desktop.

1. Requirements

  • Claude/Cursor for Desktop (Windows or macOS)

  • MCP server script (e.g., weather.py,'map.py') running via uv run weather.py

Related MCP server: OpenWeatherMap MCP Server

2. Configure Claude to Launch the MCP Server

Create or edit the Claude config file:

  • macOS/Linux: ~/.config/claude/claude_desktop_config.json or ~/Library/Application Support/Claude/claude_desktop_config.json

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

Example content:

{
  "mcpServers": {
    "weather": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/weather",
        "run",
        "weather.py"
      ]
    }
  }
}

Replace /ABSOLUTE/PATH/... with the actual absolute path to the folder containing weather.py.

3. Restart Claude

Close and reopen Claude for Desktop. If configured correctly, a tool icon will appear at the bottom-left of the chat window.

4. Test Your Tool

Click the tool icon to see your MCP server tools like search-location and get-forecast.

Try prompts such as:

What’s the weather in Vinh, VietNam?
Find the restaurant near Ho Guom ?

Claude should use your local server to respond.

5. Troubleshooting

If you don’t see your server or tool in Claude:

Check config

  • Ensure JSON syntax is valid.

  • Use absolute paths, not relative ones.

Check logs

Logs may be found in:

  • macOS/Linux: ~/Library/Logs/Claude/mcp.log

  • Windows: %APPDATA%\Claude\Logs\mcp.log

You can tail logs like this (macOS/Linux):

tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

Manually test server

Run:

uv --directory /ABSOLUTE/PATH/... run weather.py

✅ Success

If you see your tool in Claude and prompts generate valid responses, the integration is complete!

Available Tools

5 tools
get_alertsB

Get weather alerts for a US state.

Args:
    state: Two-letter US state code (e.g. CA, NY)
ParametersJSON Schema
NameRequiredDescriptionDefault
stateYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 states the tool retrieves alerts but doesn't describe what 'alerts' entail (e.g., types, severity, format), whether it's a read-only operation, potential rate limits, or authentication needs. 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 appropriately sized and front-loaded, with the purpose stated concisely in the first sentence and parameter details in a clear 'Args' section. Every sentence earns its place by adding value without redundancy, making it efficient and well-structured.

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 low complexity (1 parameter) and the presence of an output schema, the description is somewhat complete. It covers the purpose and parameter semantics adequately. However, with no annotations and minimal behavioral context, it lacks details on what alerts include or usage constraints, leaving gaps in understanding the tool's full behavior.

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

Parameters5/5

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

The description adds substantial meaning beyond the input schema, which has 0% coverage. It explains that 'state' is a 'Two-letter US state code (e.g. CA, NY)', providing critical context not in the schema's generic string type. This fully compensates for the schema's lack of descriptions, making parameter usage clear.

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 alerts for a US state.' It specifies the verb ('Get'), resource ('weather alerts'), and geographic scope ('US state'), making it easy to understand. However, it doesn't explicitly differentiate from sibling tools like 'get_current_weather' or 'get_forecast', 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 scenarios where weather alerts are needed over current weather or forecasts, nor does it reference sibling tools. This leaves the agent without context for tool selection, relying solely on the tool name.

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

get_current_weatherA

Get current weather for a city using OpenWeatherMap.

Args:
    city: City name (e.g. 'London', 'New York')
    units: Units of measurement ('metric' or 'imperial')
ParametersJSON Schema
NameRequiredDescriptionDefault
cityYes
unitsNometric

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 the external service (OpenWeatherMap) but doesn't cover critical aspects like rate limits, authentication needs, error handling, or response format. The description lacks transparency on operational constraints.

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 with a clear purpose statement followed by parameter details. The 'Args:' section is well-structured, but the first sentence could be slightly more front-loaded by integrating key details. Overall, it's efficient with minimal waste.

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 (2 parameters, external API), no annotations, but an output schema exists, the description is partially complete. It covers the purpose and parameters well but lacks behavioral context like rate limits or error handling. The output schema mitigates some gaps, but more disclosure would improve completeness.

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

Parameters5/5

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

The description adds significant meaning beyond the input schema, which has 0% description coverage. It explains that 'city' expects names like 'London' or 'New York' and 'units' accepts 'metric' or 'imperial', providing concrete examples and constraints not present in the schema's minimal titles.

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 specific action ('Get current weather') and resource ('for a city using OpenWeatherMap'), distinguishing it from siblings like get_forecast (future predictions) and get_weather_by_coordinates (different input method). It explicitly mentions the data source, which adds clarity.

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 implies usage context by specifying 'current weather' and 'city', suggesting it's for real-time data in urban areas, but doesn't explicitly state when to use alternatives like get_weather_by_coordinates for non-city locations or get_forecast for future data. No misleading guidance is present.

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

get_forecastB

Get weather forecast for a location using NWS (US only).

Args:
    latitude: Latitude of the location
    longitude: Longitude of the location
ParametersJSON Schema
NameRequiredDescriptionDefault
latitudeYes
longitudeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/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 states the tool uses NWS and is limited to the US, but lacks details on rate limits, error handling, authentication needs, or what the forecast includes (e.g., time periods, data format). This leaves significant gaps for a tool that likely involves external API calls.

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 and well-structured: a clear purpose statement followed by a brief parameter list. Every sentence adds value, with no redundant information. However, it could be slightly more front-loaded by integrating the parameter semantics into the main description for better flow.

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 (external API, geographic constraints), no annotations, and an output schema (which reduces the need to describe return values), the description is minimally adequate. It covers the basic purpose and parameters but misses behavioral details like rate limits or error cases, making it incomplete for robust agent use.

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 beyond the input schema, which has 0% description coverage. It specifies that latitude and longitude are for a 'location' and implies they must be within the US, but doesn't detail valid ranges or coordinate systems. Since there are only 2 parameters and the schema lacks descriptions, this partial compensation earns a 4, though not a 5 due to missing precision.

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 location using NWS (US only).' It specifies the verb ('Get'), resource ('weather forecast'), and scope ('US only'), but doesn't explicitly distinguish it from sibling tools like 'get_weather_forecast' or 'get_current_weather', which limits it to a 4 rather than 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 minimal usage guidance: it mentions 'US only' as a geographic constraint, but offers no explicit advice on when to use this tool versus alternatives like 'get_current_weather' or 'get_weather_forecast'. There's no mention of prerequisites, exclusions, or comparative contexts, leaving the agent with little direction.

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

get_weather_by_coordinatesB

Get current weather by coordinates using OpenWeatherMap.

Args:
    latitude: Latitude of the location
    longitude: Longitude of the location
    units: Units of measurement ('metric' or 'imperial')
ParametersJSON Schema
NameRequiredDescriptionDefault
latitudeYes
longitudeYes
unitsNometric

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/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 the data source ('OpenWeatherMap') but doesn't cover critical aspects like rate limits, authentication needs, error handling, or what the output contains. For a tool with no annotations, 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 front-loaded with the core purpose in the first sentence, followed by a concise list of args. Every sentence earns its place by providing essential information without redundancy, making it efficient and well-structured.

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 (3 parameters, no annotations, but has an output schema), the description is partially complete. It covers the purpose and parameters but lacks behavioral details and usage guidelines. The presence of an output schema means return values are documented elsewhere, so the description doesn't need to explain them, but overall it's adequate with clear gaps.

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 semantics beyond the input schema, which has 0% description coverage. It explains that latitude and longitude are for the location and specifies that units can be 'metric' or 'imperial', clarifying their purpose. This compensates well for the lack of schema descriptions, though it doesn't detail ranges or formats for coordinates.

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 by coordinates using OpenWeatherMap.' It specifies the verb ('Get'), resource ('current weather'), and method ('by coordinates'), distinguishing it from siblings like get_alerts or get_forecast. However, it doesn't explicitly differentiate from get_current_weather, which might be similar, so it's not a perfect 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 like get_current_weather or get_forecast. It lacks context about prerequisites, such as needing valid coordinates, and doesn't mention any exclusions or specific scenarios where this tool is preferred over siblings.

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

get_weather_forecastB

Get weather forecast for a city using OpenWeatherMap.

Args:
    city: City name (e.g. 'London', 'New York')
    days: Number of days (1-5)
    units: Units of measurement ('metric' or 'imperial')
ParametersJSON Schema
NameRequiredDescriptionDefault
cityYes
daysNo
unitsNometric

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
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. It mentions the data source (OpenWeatherMap) but doesn't cover critical aspects like rate limits, authentication needs, error handling, or what the forecast includes (e.g., temperature, precipitation). This is inadequate for a tool that likely involves external API calls.

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 efficiently structured with a clear purpose statement followed by a parameter breakdown. Every sentence adds value, and there's no redundant information. It could be slightly more front-loaded with key behavioral details, but overall it's well-organized and concise.

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 that there's an output schema (which handles return values), the description doesn't need to explain outputs. However, for a tool with 3 parameters, no annotations, and sibling tools, it should provide more behavioral context (e.g., API constraints, differentiation from siblings). The parameter explanations help, but overall completeness is only adequate.

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 significant value beyond the input schema, which has 0% description coverage. It explains each parameter's purpose: 'city' as the city name with examples, 'days' as number of days with range, and 'units' as measurement units with options. This compensates well for the schema's lack of documentation.

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 'Get weather forecast for a city using OpenWeatherMap', which specifies the verb (get), resource (weather forecast), and data source (OpenWeatherMap). However, it doesn't distinguish this tool from sibling tools like 'get_forecast' or 'get_current_weather', leaving ambiguity about what makes this forecast tool unique.

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 like 'get_current_weather', 'get_forecast', or 'get_weather_by_coordinates'. There's no mention of prerequisites, limitations, or comparative contexts, leaving the agent to guess based on tool names alone.

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. Dates show when Glama detected each change.

  1. 5 tool updates
    • First observedget_alerts
    • First observedget_current_weather
    • First observedget_forecast
    • First observedget_weather_by_coordinates
    • First observedget_weather_forecast

TDQS

B3.2/5.0
Disambiguation2/5

Multiple tools have overlapping purposes that could cause confusion. get_current_weather and get_weather_by_coordinates both retrieve current weather data but use different input parameters (city vs coordinates). get_forecast and get_weather_forecast both provide forecast data but use different data sources (NWS vs OpenWeatherMap) and input formats. An agent would struggle to choose between these overlapping tools.

Naming Consistency4/5

The naming follows a consistent verb_noun pattern throughout (get_alerts, get_current_weather, get_forecast, get_weather_by_coordinates, get_weather_forecast). All tools start with 'get_' followed by a descriptive noun phrase. The only minor deviation is that some names include 'weather' while others don't, but the pattern remains readable and predictable.

Tool Count4/5

With 5 tools, the count is reasonable for a weather server. However, given the overlap between tools, the effective surface area is smaller than the tool count suggests. The number is appropriate for the domain, but the redundancy means some tools don't fully earn their place in the set.

Completeness3/5

The server covers current weather and forecasts through multiple methods, plus alerts for US states. However, there are notable gaps: no historical weather data, no air quality information, and inconsistent geographic coverage (some tools are US-only while others are global). The surface provides multiple ways to get similar data but lacks breadth across weather-related dimensions.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that provides comprehensive weather data and forecasts through the OpenWeatherMap API, enabling AI assistants to access real-time weather information, forecasts, air quality data, and location services.
    11
    26
    5
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables users to fetch weather forecasts through Cursor AI by using natural language queries.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that enables AI assistants and LLMs to access real-time weather data and forecasts by connecting to the OpenWeatherMap API.
    -

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/tranducthai/mcp_protocol_for_llm'

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