Skip to main content
Glama

MCP-Server

MCP-Serverは、FastMCPサーバーを中心に構築された小さなPythonワークスペースです。メインパッケージは my-mcp/ にあり、SQLiteからのローカル気象データとCoinGeckoからのライブ暗号資産ツールを組み合わせた DataTools というサーバーを公開しています。

含まれるもの

  • ローカルデータベースから気象データを照会し、平均を計算するためのMCPツール

  • CoinGeckoから暗号資産の価格やトップコインを取得するためのMCPツール

  • weather://latest にある動的なMCPリソース

  • クライアントサイドのLLMワークフロー用の気象要約プロンプト

  • SQLAlchemyモデルとAlembicマイグレーションによるSQLite永続化

  • コンテナ内でサーバーを実行するためのDockerサポート

Related MCP server: Weather Service MCP Server

リポジトリ構成

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

要件

  • Python 3.14

  • uv

セットアップ

ワークスペースのルートから依存関係をインストールします:

uv sync

サーバーは利用可能な場合、.env から環境変数を使用します。最も重要なものは以下の通りです:

  • HOST - MCPサーバーのバインドアドレス(例:0.0.0.0)

  • PORT - SSEポート(例:8080)

  • DB_PATH - SQLiteデータベースへのパス(デフォルトは data/app.db)

データベース

データベーススキーマはAlembicで管理され、SQLiteに保存されます。

パッケージディレクトリからマイグレーションを実行します:

cd my-mcp
uv run alembic upgrade head

サンプルデータが必要な場合は、以下でデータベースをシードできます:

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

ローカルでの実行

リポジトリのルートからサーバーを起動します:

uv run --package my-mcp my-mcp

デフォルトでは、サーバーはSSE経由で実行され、HOST と PORT で定義されたホストとポートでリッスンします。

Docker

イメージをビルドします:

docker build -t mcp-server .

実行します:

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

MCPツールとリソース

ツール

  • readings_for_city(city, hours=6) - 都市の最近の気象データを返します

  • average_temp(city, hours=6) - 都市の平均気温を返します

  • get_crypto_price(coin_id="bitcoin") - コインの価格、時価総額、24時間変動を返します

  • get_top_coins(limit=5) - 時価総額上位の暗号資産を返します

リソース

  • weather://latest - データベース内の最新の気象データを返します

プロンプト

  • weather_summary(city, hours=6) - クライアントまたはLLM用の簡潔な気象要約プロンプトを作成します

クライアント設定

SSEベースのクライアントの場合は、実行中のサーバーURLを指定します(例):

http://localhost:8080/sse

Claude Desktopや同様のツールの場合は、このリポジトリから uv run --package my-mcp my-mcp を起動するコマンドベースの設定を使用してください。

注意事項

  • 暗号資産ツールは公開されているCoinGecko APIを呼び出すため、インターネットアクセスが必要です。

  • データベースファイルが存在しない場合は自動的に作成されます。

  • Alembicは my-mcp/alembic.ini 内で sqlite:///./data/app.db を使用するように既に設定されています。

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.
    -