Skip to main content
Glama
panchocorderos

Weather MCP Server

README.md
# mcp-poc

Proyecto de prueba de concepto (POC) para un servidor MCP (Model Context Protocol) usando TypeScript y el SDK oficial.

## Descripción

Este proyecto implementa un servidor MCP sencillo que expone una herramienta para obtener el clima actual de una ciudad utilizando la API de Open-Meteo. El servidor se comunica a través de stdin/stdout, lo que lo hace ideal para integraciones o pruebas automatizadas.

## Requisitos

- Node.js (recomendado v18+)
- pnpm (o npm/yarn)

## Instalación

```bash
pnpm install
# o
npm install
# o
yarn install
```

## Uso

Para iniciar el servidor:

```bash
pnpm start
# o
node main.ts
```

El servidor expondrá una herramienta llamada `get-weather` que recibe el nombre de una ciudad y retorna información meteorológica actual.

## Dependencias principales

- `@modelcontextprotocol/sdk`: SDK oficial para implementar servidores MCP.
- `zod`: Validación de esquemas para los parámetros de las herramientas.

## Estructura principal

- `main.ts`: Implementación del servidor MCP y la herramienta de clima.
- `.gitignore`: Configuración para ignorar archivos y carpetas comunes en proyectos Node.js.

Para poder probar el servidor MCP con el inspector, se puede usar el siguiente comando:

```bash
npx @modelcontextprotocol/inspector npx -y tsx main.ts
```

Para agregar el mcp dentro del IDE, hay que seguir el siguiente formato json:

``` JSON
{
  "mcpServers": {
    "demo":{
      "command": "npx",
      "args": [
        "-y",
        "tsx",
        "<path_to>/mcp-poc/main.ts"
      ]
    }
  }
}
```

TDQS

B3.1/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools. The tool's purpose is clearly defined and distinct by default.

Naming Consistency5/5

A single tool inherently has consistent naming, as there are no other tools to compare it against. The name 'get-weather' follows a clear verb-noun pattern.

Tool Count2/5

A single tool is too few for a weather server's typical scope, which might include forecasts, historical data, or multiple locations. This feels thin and limits functionality.

Completeness2/5

The tool surface is severely incomplete for a weather domain. It only fetches current weather for a city, missing essential operations like forecasts, alerts, or multi-location queries, which will cause agent failures.

Maintenance

ActivityInactive
ResponsivenessNo issues