Skip to main content
Glama
cserra16

Local MCP Test Server

by cserra16

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

Componente

Tecnología

Lenguaje

Python 3.11+

Framework MCP

mcp[cli] + FastMCP

Cliente HTTP

httpx (async)

Servidor ASGI

uvicorn + 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étodo

Ruta

Descripción

GET

/sse

Handshake 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

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cserra16/local-mcp-test-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server