Skip to main content
Glama
itsPatH

Basic MCP Weather Tool

by itsPatH
README.md
# 🛠️ Basic MCP Demo - Weather Tool

Este proyecto es un ejemplo básico de un servidor **MCP (Model Context Protocol)** implementado en Node.js. Define una herramienta simple para consultar información del clima de una ciudad utilizando la API pública de [Open-Meteo](https://open-meteo.com/).

## 📦 Características

- Servidor MCP compatible utilizando `@modelcontextprotocol/sdk`.
- Herramienta `fetch-weather` que permite consultar el clima de una ciudad.
- Ejemplo educativo, ideal para entender el flujo básico de MCP.
- Sin claves API privadas, solo usa servicios públicos gratuitos.

## 🚀 Requisitos

- [Node.js](https://nodejs.org/) (v18 o superior recomendado)
- Acceso a Internet para consultar las APIs públicas

## ⚙️ Instalación

1. Clona el repositorio:

   ```
   git clone https://github.com/itsPatH/basicMCP.git
   cd basicMCP
   ```

2. Instala las dependencias:
```
npm install
```
3. Ejecuta el servidor MCP:
```
npx ts-node main.ts   
```
Nota: Este servidor espera ser utilizado por un cliente MCP compatible (como Claude con soporte MCP habilitado). Si no tienes un cliente MCP, el servidor quedará esperando conexión.
## 🌐 Alternativa para Pruebas Locales (Opcional)
Puedes extender este proyecto para agregar un servidor HTTP local y probar la herramienta sin un cliente MCP. Ejemplo de esto disponible en la rama local-test.
## ⚠️ Advertencias
⚡ Este proyecto es solo para fines educativos.
⚡ No está pensado para entornos de producción.
⚡ Si amplías el proyecto, no subas archivos con claves privadas o información sensible.
## 📄 Licencia
Este proyecto está bajo la licencia MIT. Eres libre de usarlo, modificarlo o distribuirlo para aprendizaje.

## ✨ Créditos
- Documentación oficial de Model Context Protocol: https://github.com/modelcontextprotocol .
- Uso de APIs públicas de Open-Meteo.

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. The tool 'fetch-weather' has a clear and distinct purpose, making it impossible for an agent to misselect among non-existent alternatives.

Naming Consistency5/5

Since there is only one tool, naming consistency is inherently perfect. The tool name 'fetch-weather' follows a verb_noun pattern, and with no other tools to compare against, there are no deviations or inconsistencies in naming conventions.

Tool Count2/5

A single tool for a weather server is too few for the apparent scope, as weather-related operations typically involve more than just fetching data (e.g., forecasts, historical data, or location-based queries). This minimal set feels thin and limits functionality, indicating a mismatch with the domain's needs.

Completeness2/5

The tool surface is severely incomplete for a weather domain. While 'fetch-weather' provides basic retrieval, there are obvious gaps such as lacking forecast tools, historical data access, or location-specific queries. This will likely cause agent failures when more comprehensive weather information is needed.

Maintenance

ActivityInactive
ResponsivenessNo issues