Skip to main content
Glama
Weather MCP Agent

Weather MCP Agent

Weather MCP Agent

A small JavaScript MCP server that exposes a single get_weather tool over stdio. The tool accepts a city name and returns the current weather response generated through the configured classroom proxy endpoint.

Features

  • One MCP tool: get_weather

  • Runs in Node.js

  • Uses stdio transport for MCP clients

  • Calls the proxy endpoint with the required fetch() configuration

Related MCP server: MCP Weather Server — Demo

Project Structure

weatherAgentMCP/
├── package.json
├── src/
│   ├── llm.js
│   └── mcp-server.js
├── test-client.js
└── README.md

Installation

From the project root, install dependencies:

npm install

Run the MCP Server

Local stdio server

Start the original stdio-based server:

npm start

The server will stay running and wait for MCP clients over stdio.

HTTP server for Render

A simple HTTP-based MCP endpoint is also available for hosting:

npm run start:http

This starts an HTTP server at /mcp on port 3000 (or the port provided by the environment).

Render deployment guide

1. Push the repository to GitHub

Make sure your project is committed and pushed to GitHub.

2. Create a new Render web service

In Render:

  • click New +

  • choose Web Service

  • connect your GitHub repository

  • select the repository

3. Configure the service

Use these settings:

  • Build Command: npm install

  • Start Command: npm run start:http

  • Environment: Node

  • Port: Render will provide this automatically through PORT

4. Deploy

Render will build and start the app. Once it is live, your MCP endpoint will be available at:

https://your-render-app.onrender.com/mcp

5. Use it from an MCP client

A client that supports HTTP MCP can point to the URL above.

Local Test

A simple local test client is included. Run it from the project root:

node test-client.js

This client will:

  1. Launch the MCP server over stdio

  2. List the available tools

  3. Invoke get_weather for London

  4. Print the tool result

Files

  • src/llm.js: Contains the callLLM(prompt) helper and the proxy request logic.

  • src/mcp-server.js: Registers the MCP tool and handles tool execution.

  • test-client.js: A minimal local client used to verify the server end to end.

Available Tools

1 tool
get_weatherB

Return the current weather for the requested city.

Inputs: city (required).

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 1 tool

    Disambiguation5/5

    With only one tool, there is no possibility of confusion. The purpose is singular and unambiguous.

    Naming Consistency5/5

    The single tool 'get_weather' follows a clear verb_noun pattern, which is consistent and predictable.

    Tool Count3/5

    A single tool for a weather service is on the low end; while it covers basic current weather, it feels thin for a full-featured weather agent.

    Completeness2/5

    The tool set lacks coverage for forecasts, alerts, historical data, and other common weather-related functionalities, leaving significant gaps.

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      A proof-of-concept MCP server that provides weather information using the Open-Meteo API, with tools for greeting, getting weather by coordinates, and by location name.
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      A minimal MCP server that provides current weather and forecasts for any city using the free Open-Meteo API, no API key required.
      9 npm
      -