Ultimate Frisbee Team MCP Server について
Ultimate Frisbee Team MCP Serverは、アルティメットチームの選手、大会、登録、支払いを管理するサーバーです。チーム運営者向けで、SQLiteまたはSQLiteCloudにデータを保存し、コマンドラインとMCPの両方から操作できます。
主な機能
- 01選手の追加、一覧表示、削除
- 02CSVから選手をインポート
- 03大会の作成と管理
- 04登録と支払い状況の管理
- 05連盟への支払い履歴の記録
- 06データベースのバックアップ
活用シーン
- 01選手の連絡先情報の管理
- 02大会と参加者リストの運営
- 03大会参加費の支払い状況の確認
- 04連盟への支払い記録の確認
MCP 対応
MCPクライアントに選手、大会、登録、支払いの管理機能を公開します。同じ機能はコマンドラインからも利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
アルティメット・フリスビー・チーム MCP サーバー
アルティメット・フリスビー・チームの選手、大会、支払いを管理する Model Context Protocol(MCP)サーバーです。このサーバーを使うと、SQLite データベースで選手や大会の追加、一覧表示、管理ができるほか、大会への登録や支払い状況も追跡できます。パフォーマンスと使いやすさを向上させるため、FastMCP を使用するようになりました!
機能
選手管理
- 名前、電話番号、任意のメールアドレスを指定して選手を追加
- データベース内の全選手を一覧表示
- データベースから選手を削除
- CSV ファイルから選手をインポート
大会管理
- 名前、場所、日付、サーフェスの種類(芝生/ビーチ)、登録締切日を指定して大会を作成
- 大会の一覧表示、更新、削除
- 大会への選手の登録/登録解除
- 各選手の大会参加費の支払い状況を追跡
- あいまいな名前の照合を使って、大会参加費を支払った選手を検索
連盟への支払いの追跡
- 選手による連盟への支払いを記録
- 支払い金額と日付を追跡
- 選手の支払い履歴を一覧表示
- 必要に応じて直近の支払いを削除
システム機能
- データベースをファイルにバックアップ
- CLI または MCP インターフェースから利用可能
- AI とのやり取りを向上させるため、FastMCP を使用するようになりました!
セットアップ
環境のセットアップ
- uv で仮想環境を作成します:
uv venv
- 仮想環境を有効にします:
source .venv/bin/activate
- 開発用の依存関係とともに、パッケージを開発モードでインストールします:
uv pip install -e ".[dev]"
- 環境変数を設定します(任意。SQLiteCloud を使用する場合):
.env-template ファイルを .env にコピーし、適切な値を入力します:
cp .env-template .env
# Edit .env with your SQLiteCloud credentials
- テストを実行します:
pytest tests/
使用方法
CLI の使用方法
選手管理
# Add a player
ultimate-team-mcp-server add-player "John Smith" --phone "+1234567890" --email "[email protected]"
# List all players
ultimate-team-mcp-server list-players
# Remove a player
ultimate-team-mcp-server remove-player --name "John Smith"
# Import players from a CSV file, updating existing ones
ultimate-team-mcp-server import-players /path/to/players.csv
大会管理
# Add a tournament
ultimate-team-mcp-server add-tournament --name "Summer Championship" --location "City Beach" \
--date "2025-07-15" --surface "beach" --registration-deadline "2025-06-30"
# List all tournaments
ultimate-team-mcp-server list-tournaments
# Update a tournament
ultimate-team-mcp-server update-tournament --id 1 --name "Summer Beach Championship" --location "North Beach"
# Remove a tournament
ultimate-team-mcp-server remove-tournament --id 1
# Register a player for a tournament
ultimate-team-mcp-server register-player --tournament-id 1 --player-name "John Smith"
# Unregister a player from a tournament
ultimate-team-mcp-server unregister-player --tournament-id 1 --player-name "John Smith"
# List all players registered for a tournament
ultimate-team-mcp-server list-tournament-players --tournament-id 1
# List all tournaments a player is registered for
ultimate-team-mcp-server list-player-tournaments --player-name "John Smith"
# Mark a player as having paid for a tournament
ultimate-team-mcp-server mark-payment --tournament-id 1 --player-name "John Smith"
# Clear a player's payment status for a tournament
ultimate-team-mcp-server clear-payment --tournament-id 1 --player-name "John Smith"
# Search for players who have paid for a tournament (with fuzzy matching)
ultimate-team-mcp-server search-paid-players --tournament-id 1 --name "John"
連盟への支払いの追跡
# Add a federation payment for a player
ultimate-team-mcp-server add-federation-payment --player-name "John Smith" \
--amount 50.0 --payment-date "2025-01-15" --notes "Annual fee"
# List all federation payments for a player
ultimate-team-mcp-server list-federation-payments --player-name "John Smith"
# Remove the most recent federation payment for a player
ultimate-team-mcp-server remove-last-federation-payment --player-name "John Smith"
システムコマンド
# Backup the database
ultimate-team-mcp-server backup /path/to/backup.db
# Using with a specific database URI
ultimate-team-mcp-server list-players --db-uri "sqlitecloud://host:port/database?apikey=key"
ultimate-team-mcp-server add-player "John" --phone "+1234567890" --db-uri "file:///path/to/custom.db"
Claude Desktop での使用方法
Claude Desktop で MCP サーバーを使用するには、claude_desktop_config.json ファイルに追加する必要があります:
{
"mcpServers": {
"ultimate_mcp_server": {
"command": "ultimate-team-mcp-server",
"environment": {
"SQLITE_URI": "sqlitecloud://host:port/database?apikey=key"
}
}
}
}
Claude Code での使用方法
- MCP サーバーを起動します:
ultimate-team-mcp-server
-
Claude Code をインストールします。
-
Ultimate Team MCP サーバーを Claude に直接追加します:
# Set up with the new FastMCP-based server
# This works with both Claude Desktop and Claude CLI
claude mcp add ultimate -- ultimate-team-mcp-server
# List existing MCP servers - Validate that the server is running
claude mcp list
次のコマンドで Claude Code を実行します:
claude
カスタムデータベース URI を使用する場合
サーバーの起動時にデータベース URI を指定できます:
# Using environment variable
SQLITE_URI="sqlitecloud://host:port/database?apikey=key" ultimate-team-mcp-server
# Or using command-line option
ultimate-team-mcp-server --db-uri "sqlitecloud://host:port/database?apikey=key"
データベース構造
サーバーは、選手データ、大会、登録、支払い、および関連情報の保存に SQLite または SQLiteCloud を使用します。データベースには、次のテーブルが含まれるようになりました:
- 選手(名前、連絡先情報)
- 大会(名前、場所、日付、サーフェスの種類、登録締切日)
- 大会への選手の登録(支払い状況の追跡を含む)
- 連盟への支払い(金額と支払い履歴を含む)
完全なスキーマ定義は、src/ultimate_mcp_server/modules/init_db.py ファイルにあります。
データベース設定
サーバーは、単一のデータベース URI パラメーターを使って、ローカル SQLite データベースまたはクラウドベースのソリューションである SQLiteCloud のいずれかに接続できます。データベース接続を設定するには:
- 用意されている
.env-templateを基に.envファイルを作成します SQLITE_URIまたはDB_URI環境変数を、次のいずれかの形式で設定します:- SQLiteCloud の場合:
SQLITE_URI=sqlitecloud://hostname:port/database?apikey=your_api_key - ローカル SQLite の場合:
SQLITE_URI=file:///path/to/database.db
- SQLiteCloud の場合:
どちらの環境変数も設定されていない場合、サーバーはデフォルトで ~/.ultimate.db にあるローカル SQLite データベースを使用します。
CSV インポート形式
CSV インポート機能(import-csv と import-players の両方)は、次の形式のファイルを受け付けます:
Nombre,Telefono,Email
John Smith,+1234567890,[email protected]
Jane Doe,+0987654321,[email protected]
列名では大文字と小文字が区別されず、英語またはスペイン語(Nombre/Name、Telefono/Phone、Email)を使用できます。
import-csv と import-players の違い
- import-csv:元のインポートツールです。新しいプレイヤーを追加しますが、同じ名前のプレイヤーがすでに存在する場合は失敗します。
- import-players:強化されたインポートツールです。新しいプレイヤーを追加し、同じ名前のプレイヤーが見つかった場合は既存のプレイヤーも更新します。
import-players でプレイヤーを更新する例:
- データベースに、電話番号が「+1234567890」のプレイヤー「John Smith」が登録されている場合
- CSV に、電話番号が「+9999999999」の「John Smith」が含まれている場合
- インポート後、「John Smith」の電話番号は「+9999999999」に更新されます
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。