MCP Hub
Back to servers

Local MCP Test Server

A test MCP server designed for mobile compatibility via SSE transport that provides real-time weather data for L'Hospitalet de Llobregat using the Open-Meteo API.

Tools
1
Updated
Jan 8, 2026
Validated
Jan 9, 2026

Local MCP Test Server

Servidor MCP (Model Context Protocol) de pruebas locales que expone herramientas meteorológicas mediante transporte SSE, compatible con dispositivos móviles (iOS/Android).

Características

  • Transporte SSE para conexión desde apps móviles en red local
  • API Open-Meteo (gratuita, sin API key)
  • FastMCP para registro automático de herramientas
  • Compatible con Qwen 2.5 y otros LLMs

Stack Tecnológico

ComponenteTecnología
LenguajePython 3.11+
Framework MCPmcp[cli] + FastMCP
Cliente HTTPhttpx (async)
Servidor ASGIuvicorn + starlette

Requisitos

  • Python 3.11+
  • pip o uv

Instalación

# Clonar repositorio
git clone https://github.com/cserra16/local-mcp-test-server.git
cd local-mcp-test-server

# Crear entorno virtual
python3 -m venv venv
source venv/bin/activate

# Instalar dependencias
pip install -r requirements.txt

Ejecución

source venv/bin/activate
python app.py

El servidor iniciará en http://0.0.0.0:8000 con transporte SSE.

Endpoints MCP

MétodoRutaDescripción
GET/sseHandshake SSE (obtiene session_id)
POST/messages/?session_id=...Mensajes JSON-RPC

Herramientas Disponibles

get_weather_lhospitalet

Obtiene el clima actual de L'Hospitalet de Llobregat (Barcelona).

Triggers: El LLM invocará esta herramienta cuando el usuario pregunte por el clima en:

  • L'Hospitalet de Llobregat
  • Hospitalet
  • Hospi
  • L'Hospi
  • L'H

Retorna: Temperatura (°C), humedad relativa (%) y estado del cielo.

Ejemplo de respuesta:

Clima en L'Hospitalet de Llobregat: 18.5°C, Humedad: 65%, Estado del cielo: Parcialmente nublado. Datos provistos por Open-Meteo.

Pruebas

Con MCP Inspector (recomendado)

npx -y @modelcontextprotocol/inspector http://localhost:8000/sse

Test con Python

import asyncio
from mcp import ClientSession
from mcp.client.sse import sse_client

async def test():
    async with sse_client('http://localhost:8000/sse') as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()
            result = await session.call_tool('get_weather_lhospitalet', {})
            print(result.content[0].text)

asyncio.run(test())

Desde el navegador

Acceder a http://localhost:8000/sse para verificar eventos SSE.

Conexión desde iOS

  1. Asegúrate de que el iPhone esté en la misma red Wi-Fi
  2. Obtén la IP local: ipconfig getifaddr en0
  3. Conecta desde la app iOS a http://<IP-LOCAL>:8000/sse

Estructura del Proyecto

local-mcp-test-server/
├── app.py              # Servidor MCP principal
├── requirements.txt    # Dependencias
├── pyproject.toml      # Configuración del proyecto
└── README.md

Licencia

MIT

Reviews

No reviews yet

Sign in to write a review