Skip to main content
Glama
madankumarpichamuthu

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYes

TDQS

B3.3/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 does not disclose behavioral traits such as units, timezone, freshness of data, error handling, or rate limits. The simple statement 'Return the current weather' omits important context for an agent.

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 concise sentence with no unnecessary words or repetition. It is front-loaded and efficiently conveys the essential action.

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 output schema and no annotations, the description is incomplete. An agent needs more context about the response format, possible errors, and factual constraints (e.g., supports only certain cities). The minimal description leaves critical gaps.

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

Parameters2/5

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

The schema has 0% description coverage, and the description only repeats 'requested city' without adding format, constraints, or examples. While 'city' is self-explanatory, the description provides no added semantic value beyond the parameter name.

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 it returns current weather for a city, with a specific verb ('Return') and resource ('current weather'). As there are no sibling tools, no differentiation is needed; the purpose is unambiguous.

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?

No alternatives exist, but the description provides no explicit guidance on when to use this tool. Usage is implied as a basic weather lookup, but no conditions or exclusions are mentioned.

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. 1 tool updatev1.0.0
    • First observedget_weather

TDQS

B3.4/5.0
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.

Maintenance

ActivitySlowing
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

  • F
    license
    Not graded
    quality
    C
    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
    B
    maintenance
    A minimal MCP server that provides current weather and forecasts for any city using the free Open-Meteo API, no API key required.
    8
    -

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/madankumarpichamuthu/weatherAgentMCP'

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