Weather Server logo

Weather Server

by chaminda360

A TypeScript-based MCP server that implements a weather information system. It demonstrates core MCP concepts by providing resources, tools, and prompts for weather data.

View on GitHub

Last updated: N/A

What is Weather Server?

This is a TypeScript-based MCP server designed to provide weather information. It uses resources, tools, and prompts to manage and present weather data.

How to use Weather Server?

To use this server with Claude Desktop, add the server config to the claude_desktop_config.json file. You will need to install dependencies, configure the .env file with your OpenWeather API key, and build the server. Refer to the README for detailed installation and debugging instructions.

Key features of Weather Server

  • Resources representing weather data with URIs and metadata

  • Tools for fetching and updating weather information

  • Prompts for generating weather summaries

  • JSON mime type for structured data access

Use cases of Weather Server

  • Fetching current weather information for a specific location

  • Updating weather data in the server state

  • Generating a summary of the current weather data for LLM summarization

  • Integrating weather data into applications using MCP

FAQ from Weather Server

What is an MCP server?

An MCP (Model Context Protocol) server facilitates communication and data exchange between different applications or models.

How do I get an OpenWeather API key?

You can obtain an API key by signing up for an account on the OpenWeatherMap website (openweathermap.org).

How do I debug the MCP server?

The README recommends using the MCP Inspector, which provides debugging tools in your browser.

What is the purpose of the fetch_weather tool?

The fetch_weather tool retrieves current weather information from an external API based on a specified location.

What is the purpose of the summarize_weather prompt?

The summarize_weather prompt generates a summary of the current weather data, including all weather entries as embedded resources, for LLM summarization.