Skip to main content
Glama
felipecararo

US Weather MCP Server

by felipecararo

MCP de Clima do Tempo para os EUA 🌤️

Servidor MCP (Model Context Protocol) que fornece informações sobre o clima dos Estados Unidos.

📋 Pré-requisitos

  • Node.js (versĂŁo 14 ou superior)

  • npm (gerenciador de pacotes do Node.js)

Related MCP server: Weather MCP Server

🚀 Instalação

  1. Clone o repositĂłrio:

git clone https://github.com/FelipeCararo/mcp-intro.git
cd mcp-intro
  1. Instale as dependĂŞncias:

npm install

đź”§ Como Usar

Compilar o projeto

Para compilar o cĂłdigo TypeScript:

npm run build

Executar o servidor

ApĂłs compilar, execute o servidor MCP:

npm start

Ou execute diretamente o comando weather:

./build/index.js

Script de inicialização

Você também pode usar o script shell incluído:

./start-mcp.sh

📦 Estrutura do Projeto

mcp-intro/
├── src/           # Código fonte TypeScript
├── build/         # Código compilado (gerado após build)
├── package.json   # Configurações e dependências
├── tsconfig.json  # Configurações do TypeScript
└── README.md      # Este arquivo

🛠️ Tecnologias Utilizadas

  • TypeScript - Linguagem de programação

  • @modelcontextprotocol/sdk - SDK do Model Context Protocol

  • Zod - Validação de schemas e tipos

📝 Scripts Disponíveis

  • npm run build - Compila o cĂłdigo TypeScript

  • npm start - Executa o servidor compilado

  • npm test - Executa os testes (ainda nĂŁo implementado)

🤝 Contribuindo

Sinta-se Ă  vontade para abrir issues e pull requests no repositĂłrio.

📄 Licença

ISC

Available Tools

2 tools
get_alertsC

Get weather alerts for a state

ParametersJSON Schema
NameRequiredDescriptionDefault
stateYesTwo-letter state code (e.g. CA, NY)

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 full burden for behavioral disclosure. It states what the tool does but doesn't mention any behavioral traits such as rate limits, authentication needs, response format, or error handling. For a 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 a single, clear sentence that directly states the tool's purpose without any unnecessary words. It is appropriately sized and front-loaded, making it efficient and easy to parse.

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. It doesn't explain what the tool returns (e.g., alert types, severity levels, timeframes) or any behavioral context needed for effective use, which is insufficient for a tool with no structured support.

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 input schema has 100% description coverage, fully documenting the single parameter 'state' with its format and constraints. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score of 3 for high schema coverage.

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 verb ('Get') and resource ('weather alerts for a state'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from the sibling tool 'get_forecast', which likely provides different weather data, so it misses full sibling distinction.

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_forecast'. It lacks any context about prerequisites, exclusions, or comparative use cases, leaving the agent to infer usage 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.

get_forecastC

Get weather forecast for a location

ParametersJSON Schema
NameRequiredDescriptionDefault
latitudeYesLatitude of the location
longitudeYesLongitude of the location

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 full burden for behavioral disclosure. It states what the tool does but lacks critical details like whether this is a read-only operation, potential rate limits, authentication requirements, or what the forecast output includes (e.g., time range, weather elements).

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 directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded with the core purpose.

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?

For a tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the forecast returns (e.g., temperature, precipitation, timeframe), behavioral constraints, or how it differs from the sibling tool, leaving significant gaps in 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%, with both parameters clearly documented in the schema. The description adds no additional parameter information beyond implying location-based input, so it meets the baseline score 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 verb 'Get' and resource 'weather forecast for a location', making the purpose immediately understandable. However, it doesn't explicitly differentiate from the sibling tool 'get_alerts', which likely serves a related but distinct function in weather data retrieval.

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 the sibling 'get_alerts'. There's no mention of prerequisites, alternatives, or specific contexts where this tool is preferred, leaving the agent without usage direction.

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. 2 tool updatesv1.0.0
    • First observedget_alerts
    • First observedget_forecast

TDQS

B3.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one retrieves weather alerts for a state, while the other provides forecasts for a location. There is no overlap or ambiguity between these functions, making it easy for an agent to select the correct tool based on the user's request.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern with 'get_' as the prefix, ensuring predictability and readability. The naming style is uniform across the toolset, with no deviations or mixed conventions.

Tool Count2/5

With only two tools, the server feels thin for a weather domain, as it lacks essential operations like current conditions, historical data, or radar information. This minimal set may limit an agent's ability to handle comprehensive weather-related queries effectively.

Completeness2/5

The tool surface is significantly incomplete for a weather server, missing core functionalities such as current weather, radar maps, or severe weather details. While alerts and forecasts are useful, the absence of these key operations creates notable gaps that could lead to agent failures in broader scenarios.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that provides tools to fetch weather alerts for US states and forecasts based on latitude/longitude coordinates using the US National Weather Service API.
    2
    95 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI models to fetch weather alerts and detailed forecasts for US locations using the National Weather Service API.
    95 npm
    GPL 3.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time weather alerts and forecasts from the National Weather Service for US locations, integrating with AI assistants via the Model Control Protocol.
    -