
FDU Utils
FDU Utils
A Model Context Protocol (MCP) server for managing Ultimate Frisbee Team players, tournaments, and payments. This server allows you to add, list, and manage players and tournaments in a SQLite database, as well as track tournament registrations and payments. Now uses FastMCP for improved performance and usability!
uv venvsource .venv/bin/activateuv pip install -e ".[dev]"Copy the .env-template file to .env and fill in the appropriate values:
cp .env-template .env
# Edit .env with your SQLiteCloud credentialspytest tests/# 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"To use the MCP server with Claude Desktop, you need to add it to your claude_desktop_config.json file:
{
"mcpServers": {
"ultimate_mcp_server": {
"command": "ultimate-team-mcp-server",
"environment": {
"SQLITE_URI": "sqlitecloud://host:port/database?apikey=key"
}
}
}
}ultimate-team-mcp-serverInstall Claude Code.
Add the Ultimate Team MCP server directly to 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 listRun Claude code with the following command:
claudeYou can specify a database URI when starting the server:
# 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"The server uses SQLite or SQLiteCloud to store player data, tournaments, registrations, payments, and related information. The database now includes tables for:
The complete schema definition is located in the src/ultimate_mcp_server/modules/init_db.py file.
The server can connect to either a local SQLite database or SQLiteCloud for a cloud-based solution using a single database URI parameter. To configure the database connection:
.env file based on the provided .env-templateSQLITE_URI or DB_URI environment variable to one of the following formats:
SQLITE_URI=sqlitecloud://hostname:port/database?apikey=your_api_keySQLITE_URI=file:///path/to/database.dbIf neither environment variable is set, the server will default to using a local SQLite database at ~/.ultimate.db.
The CSV import features (both import-csv and import-players) accept files with the following format:
Nombre,Telefono,Email
John Smith,+1234567890,[email protected]
Jane Doe,+0987654321,[email protected]Column names are case-insensitive and can be in English or Spanish (Nombre/Name, Telefono/Phone, Email).
Example of updating a player with import-players:
Pick your client and paste the snippet. Each one is the same server, written the way that client expects it.
claude mcp add ultimate_mcp_server -- ultimate-team-mcp-server{
"mcpServers": {
"ultimate_mcp_server": {
"command": "ultimate-team-mcp-server"
}
}
}code --add-mcp '{"name":"ultimate_mcp_server","command":"ultimate-team-mcp-server"}'[mcp_servers.ultimate_mcp_server]
command = "ultimate-team-mcp-server"Runs locally on your device. Your client starts the server itself, so nothing has to be hosted.
Paste this prompt into your agent. It reads this page and does the setup for you.
Read https://aiagentslisting.com/mcp/ultimate-frisbee-team-mcp-server to learn what the "Ultimate Frisbee Team MCP Server" MCP server does and how to install it. Add it to my coding agent's MCP configuration as documented on that page, then confirm the server connects and list the tools it exposes.Agents can also browse this directory over MCP at https://aiagentslisting.com/api/mcp
claude mcp add ultimate -- ultimate-team-mcp-serverThis server runs locally, so we can't read its tool list over the web yet.
Maintain this server? Claiming proves you own the listing and earns the last 4 points.
Claim this listingPaste this line near the top of your repository's README. The badge always renders the current score.
[](https://aiagentslisting.com/mcp/ultimate-frisbee-team-mcp-server)Nothing comparable is listed yet.
No tagged releases on record.
Connect to the AI Agents Listing MCP server at https://aiagentslisting.com/api/mcp using the HTTP transport and complete the sign-in when it asks. Then call the submit_review tool for the listing "ultimate-frisbee-team-mcp-server" with a rating from 1 to 5 and a short note on what worked and what did not.No reviews yet
Be the first to share your experience with this tool.
One email a week. New agents, MCP servers and skills, and what is actually getting traction.