my-mcp
MCP-Server
MCP-Server es un pequeño espacio de trabajo en Python construido alrededor de un servidor FastMCP. El paquete principal reside en my-mcp/ y expone un servidor llamado DataTools que combina datos meteorológicos locales de SQLite con herramientas de criptomonedas en tiempo real de CoinGecko.
Qué incluye
Herramientas MCP para consultar lecturas meteorológicas y calcular promedios desde la base de datos local
Herramientas MCP para obtener precios de criptomonedas y las principales monedas desde CoinGecko
Un recurso MCP dinámico en
weather://latestUn prompt de resumen meteorológico para flujos de trabajo de LLM del lado del cliente
Persistencia en SQLite con modelos SQLAlchemy y migraciones Alembic
Soporte para Docker para ejecutar el servidor en un contenedor
Estructura del repositorio
.
├── Dockerfile
├── pyproject.toml
├── uv.lock
└── my-mcp/
├── alembic.ini
├── migrations/
├── data/
├── pyproject.toml
├── README.md
└── src/my_mcp/
├── server.py
└── db/Requisitos
Python 3.14
Configuración
Instala las dependencias desde la raíz del espacio de trabajo:
uv syncEl servidor utiliza variables de entorno de .env cuando están disponibles. Las más importantes son:
HOST- dirección de enlace para el servidor MCP, por ejemplo0.0.0.0PORT- puerto SSE, por ejemplo8080DB_PATH- ruta a la base de datos SQLite, por defectodata/app.db
Base de datos
El esquema de la base de datos se gestiona con Alembic y se almacena en SQLite.
Ejecuta las migraciones desde el directorio del paquete:
cd my-mcp
uv run alembic upgrade headSi deseas datos de muestra, puedes poblar la base de datos con:
cd my-mcp
uv run python -m my_mcp.db.seedEjecución local
Inicia el servidor desde la raíz del repositorio:
uv run --package my-mcp my-mcpPor defecto, el servidor se ejecuta sobre SSE y escucha en el host y puerto definidos por HOST y PORT.
Docker
Construye la imagen:
docker build -t mcp-server .Ejecútala:
docker run --rm -p 8080:8080 -e HOST=0.0.0.0 -e PORT=8080 -e DB_PATH=data/app.db mcp-serverHerramientas y recursos MCP
Herramientas
readings_for_city(city, hours=6)- devuelve lecturas meteorológicas recientes para una ciudadaverage_temp(city, hours=6)- devuelve la temperatura promedio para una ciudadget_crypto_price(coin_id="bitcoin")- devuelve el precio, la capitalización de mercado y el cambio en 24h para una monedaget_top_coins(limit=5)- devuelve las principales criptomonedas por capitalización de mercado
Recurso
weather://latest- devuelve la lectura meteorológica más reciente en la base de datos
Prompt
weather_summary(city, hours=6)- prepara un prompt de resumen meteorológico conciso para un cliente o LLM
Configuración del cliente
Para clientes basados en SSE, apúntalos a la URL del servidor en ejecución, por ejemplo:
http://localhost:8080/ssePara Claude Desktop o herramientas similares, utiliza una configuración basada en comandos que ejecute uv run --package my-mcp my-mcp desde este repositorio.
Notas
Las herramientas de criptomonedas llaman a la API pública de CoinGecko, por lo que se requiere acceso a internet.
El archivo de base de datos se crea automáticamente si no existe.
Alembic ya está configurado para usar
sqlite:///./data/app.dbdentro demy-mcp/alembic.ini.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/ovezthaking/MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server