Skip to main content
Glama

MCP-Server

MCP-Server ist ein kleiner Python-Arbeitsbereich, der auf einem FastMCP-Server basiert. Das Hauptpaket befindet sich in my-mcp/ und stellt einen Server namens DataTools bereit, der lokale Wetterdaten aus SQLite mit Live-Kryptowährungs-Tools von CoinGecko kombiniert.

Was ist enthalten

  • MCP-Tools zum Abfragen von Wetterdaten und Berechnen von Durchschnittswerten aus der lokalen Datenbank

  • MCP-Tools zum Abrufen von Kryptopreisen und Top-Coins von CoinGecko

  • Eine dynamische MCP-Ressource unter weather://latest

  • Ein Prompt zur Wetterzusammenfassung für clientseitige LLM-Workflows

  • SQLite-Persistenz mit SQLAlchemy-Modellen und Alembic-Migrationen

  • Docker-Unterstützung für den Betrieb des Servers in einem Container

Related MCP server: Weather Service MCP Server

Repository-Struktur

.
├── Dockerfile
├── pyproject.toml
├── uv.lock
└── my-mcp/
    ├── alembic.ini
    ├── migrations/
    ├── data/
    ├── pyproject.toml
    ├── README.md
    └── src/my_mcp/
        ├── server.py
        └── db/

Anforderungen

  • Python 3.14

  • uv

Einrichtung

Installieren Sie die Abhängigkeiten vom Arbeitsbereich-Stammverzeichnis aus:

uv sync

Der Server verwendet Umgebungsvariablen aus .env, sofern verfügbar. Die wichtigsten sind:

  • HOST - Bind-Adresse für den MCP-Server, zum Beispiel 0.0.0.0

  • PORT - SSE-Port, zum Beispiel 8080

  • DB_PATH - Pfad zur SQLite-Datenbank, standardmäßig data/app.db

Datenbank

Das Datenbankschema wird mit Alembic verwaltet und in SQLite gespeichert.

Führen Sie Migrationen aus dem Paketverzeichnis aus:

cd my-mcp
uv run alembic upgrade head

Wenn Sie Beispieldaten wünschen, können Sie die Datenbank wie folgt befüllen:

cd my-mcp
uv run python -m my_mcp.db.seed

Lokal ausführen

Starten Sie den Server vom Repository-Stammverzeichnis aus:

uv run --package my-mcp my-mcp

Standardmäßig läuft der Server über SSE und hört auf dem Host und Port, die durch HOST und PORT definiert sind.

Docker

Bauen Sie das Image:

docker build -t mcp-server .

Führen Sie es aus:

docker run --rm -p 8080:8080 -e HOST=0.0.0.0 -e PORT=8080 -e DB_PATH=data/app.db mcp-server

MCP-Tools und -Ressource

Tools

  • readings_for_city(city, hours=6) - gibt aktuelle Wetterdaten für eine Stadt zurück

  • average_temp(city, hours=6) - gibt die Durchschnittstemperatur für eine Stadt zurück

  • get_crypto_price(coin_id="bitcoin") - gibt Preis, Marktkapitalisierung und 24h-Änderung für einen Coin zurück

  • get_top_coins(limit=5) - gibt die Top-Kryptowährungen nach Marktkapitalisierung zurück

Ressource

  • weather://latest - gibt den neuesten Wetterwert aus der Datenbank zurück

Prompt

  • weather_summary(city, hours=6) - bereitet einen prägnanten Prompt zur Wetterzusammenfassung für einen Client oder ein LLM vor

Client-Konfiguration

Für SSE-basierte Clients verweisen Sie auf die laufende Server-URL, zum Beispiel:

http://localhost:8080/sse

Für Claude Desktop oder ähnliche Tools verwenden Sie eine befehlsbasierte Konfiguration, die uv run --package my-mcp my-mcp aus diesem Repository startet.

Hinweise

  • Die Krypto-Tools rufen die öffentliche CoinGecko-API auf, daher ist ein Internetzugang erforderlich.

  • Die Datenbankdatei wird automatisch erstellt, falls sie nicht existiert.

  • Alembic ist bereits so konfiguriert, dass es sqlite:///./data/app.db innerhalb von my-mcp/alembic.ini verwendet.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    An MCP server for managing and persisting notes, offering CRUD operations, note summarization, and resource-based access via a note:// URI scheme.
    4
    7
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Claude-compatible MCP server that enables storing and summarizing notes through a simple note storage system with custom URI scheme.
    5
    -
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A simple notes system that allows creating, storing, and accessing text notes through MCP resources and tools, with built-in prompt support for generating summaries of stored notes.
    -