Basic MCP Weather Tool
# 🛠️ 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
Scored across 1 tool
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.
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.
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.
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.