Skip to main content
Glama

🌤️ Said MCP - Servicio de Clima en Tiempo Real

Said MCP es una implementación sencilla pero poderosa de un servidor MCP (Model Context Protocol), diseñada para proporcionar información del clima en tiempo real a través de una herramienta accesible y extensible.


🚀 Características

  • 🔧 Servidor MCP personalizado con @modelcontextprotocol/sdk

  • 📍 Geolocalización precisa mediante la API de Open-Meteo

  • 🌡️ Datos meteorológicos actuales: temperatura, lluvia y precipitación

  • Interfaz sencilla y eficiente basada en transporte por stdio


Related MCP server: Weather Query MCP Server

🧠 ¿Cómo funciona?

El servidor expone una herramienta llamada obtener-clima que permite consultar el estado del tiempo para cualquier ciudad, resolviendo la ubicación con coordenadas geográficas y consultando datos meteorológicos actualizados.

🔍 Flujo de ejecución

  1. 🏙️ Se recibe el nombre de una ciudad.

  2. 🌍 Se obtiene su latitud y longitud a través de la API de geocodificación de Open-Meteo.

  3. ☁️ Se consultan los datos climáticos actuales.

  4. 📝 Se devuelve la información en un formato estructurado.


📦 Estructura del Proyecto

.
├── .gitignore
├── main.ts              # Archivo principal del servidor MCP
├── package.json         # Dependencias y metadatos del proyecto
├── package-lock.json    # Control de versiones de dependencias
└── README.md            # Este archivo 📝

🛠️ Requisitos

  • NodeJS >= 18

  • TypeScript

  • Acceso a internet (Para llamadas a las APIs)

🧪 Ejemplo de Uso

server.tool(
  'obtener-clima',
  'Herramienta para obtener el clima en tiempo real',
  { city: z.string().describe('City name') },
  async ({ city }) => {
    // Consulta a la API y retorno de datos...
  }
)

🔌 Integración

El servidor se conecta usando StdioServerTransport, permitiendo una integración sencilla con sistemas compatibles con MCP.

const transport = new StdioServerTransport()
await server.connect(transport)

--

📜 Licencia

MIT License


✨ Autor

Desarrollado con pasión por Said Ruiz.

Available Tools

1 tool
obtener-climaC

Herramienta para obtener el clima en tiempo real

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity name

TDQS

C2.6/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 states the tool gets real-time weather, but doesn't disclose behavioral traits like rate limits, authentication needs, data sources, error handling, or response format. For a tool with no annotations, this leaves significant gaps in understanding its operation.

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 with a single sentence that states the purpose directly. It's appropriately sized for a simple tool, though it could be more informative. There's no wasted text, but it's somewhat under-specified rather than optimally efficient.

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 annotations and no output schema, the description is incomplete. It doesn't explain what weather data is returned, how real-time is defined, or any operational constraints. For a tool that presumably returns data, more context is needed to understand its full behavior and output.

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 description adds no parameter semantics beyond what the input schema provides. The schema has 100% coverage with one parameter 'city' clearly described. Since schema coverage is high, the baseline score is 3, as the description doesn't need to compensate but also adds no extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Herramienta para obtener el clima en tiempo real' states the purpose (get weather in real time) but is vague about scope and lacks specificity. It doesn't mention what weather data is provided (temperature, conditions, etc.) or distinguish from potential siblings, though none exist. The verb 'obtener' (get) with resource 'clima' (weather) is clear but minimal.

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?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, limitations, or context for usage. Since there are no sibling tools, the absence of differentiation is less critical, but overall usage guidance is lacking.

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. 1 tool update
    • First observedobtener-clima

TDQS

C2.9/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools, as there are no other tools to compare it against. The single tool's purpose is clearly defined for obtaining real-time weather.

Naming Consistency5/5

Since there is only one tool, it inherently has perfect consistency with itself. The naming follows a clear verb-noun pattern in Spanish ('obtener-clima'), which is straightforward and predictable.

Tool Count2/5

A single tool is generally too few for a meaningful server scope, as it limits functionality and suggests an incomplete or overly narrow implementation. While it might suffice for a minimal weather service, it lacks the depth expected for typical MCP servers.

Completeness2/5

Inferred domain is weather data, but the tool surface is severely incomplete. It only provides real-time weather retrieval without supporting operations like forecasts, historical data, or location-based queries, which are common in weather APIs, leading to significant gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that provides real-time weather information including temperature, humidity, wind speed, and sunrise/sunset times through the OpenWeatherMap API.
    16
    1
    5
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server implementation that allows users to fetch and display weather information for specified cities, including temperature, humidity, wind speed, and weather descriptions.
    1
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A weather service MCP server that provides current weather data, resource endpoints, and report prompts for any location.
    1
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides real-time weather data and latest news headlines via custom tools.
    -