mcp-umphreys
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-umphreysrecent shows"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-umphreys
A FastMCP (Streamable HTTP) MCP server for Umphrey's McGee setlist data. It reads from the umphreys-vault Postgres database (the source of truth) with a live All Things Umphreys (ATU) v2 API fallthrough for in-progress shows on show night.
No audio, no reviews: Umphrey's has no upstream analog for either.
Templated from mcp-phish; the public tool output shapes are byte-for-byte
compatible with that contract so the downstream setlist game
(open-setlist-stash) parses them unchanged.
Tools
Game-critical (shapes match the mcp-phish contract):
Tool | Returns | Notes |
|
| Single |
|
| Newest first. Hot-window newest show reads live. |
|
| Per-year sweep (played + announced-future), newest first. Powers the downstream |
|
| Title/alias ILIKE. |
|
| Field is |
|
|
|
|
| Field is |
|
|
|
|
| Newest first. |
Umphrey's-native (no game dependency):
Tool | Returns | Notes |
|
| From |
|
| Guest sit-ins. |
|
| Most-recent first; |
Every tool returns {"data": <model>} (or the standard {"error", "code"}
failure shape) as a JSON string in the FastMCP content[0].text.
Related MCP server: setlist-mcp
The hot window
get_show / recent_shows for a show within VAULT_HOT_WINDOW_HOURS (default
24) of now read live from ATU instead of the vault, with a short cache TTL
(HOT_WINDOW_CACHE_TTL_SECONDS, default 90s). This is required so the game's
resolver sees an in-progress setlist grow on show night instead of a frozen
vault snapshot. The set-label normalization (e → Encore, One Set →
Set 1) is applied identically on the live and vault paths so encore detection
works in both.
Running
cp .env.example .env # set PG_PASSWORD; STUB_MODE=true skips the live network
pip install -e ".[dev]"
python -m mcp_umphreys.server # Streamable HTTP on :3717Tests run with no network and no Postgres (stub ATU client + a fake vault reader):
ruff check . && mypy && pytestDeployment
The image is published to GHCR by CI, not built on the host. docker compose up -d pulls the pinned version and joins the external
umphreys-vault_default network so the server reaches the vault's postgres
container by name. The opaque response cache persists in the
mcp-umphreys-cache volume. Port 3717.
To cut a release:
Bump the image tag in
docker-compose.ymland commit it. The release workflow refuses to publish if this disagrees with the git tag, which stops a release from producing an image the compose does not reference.Tag and push:
git tag -a v0.1.0 -m "v0.1.0" git push origin v0.1.0.github/workflows/release.ymlbuildslinux/amd64andlinux/arm64, pushes toghcr.io/pete-builds/mcp-umphreys, attaches an SBOM and a signed provenance attestation, and cuts a GitHub release.On the host:
docker compose pull && docker compose up -d
The first deploy after switching from build: . to a pulled image is the one
worth watching, since the host stops compiling the code it runs.
This server cannot be deployed
Maintenance
Related MCP Connectors
Ask Claude about Phish shows: setlists, song gaps, jams, venues. Live from Phish.net.
Interact with the Stitch API using natural language commands.
Query and audit AppSheet apps in natural language via Knotrik's pre-scanned definitions.
Ask Claude about Goose shows: setlists, jams, venues, song history. Live from ElGoose.net.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceCombines phish.net and phish.in APIs into twelve tools for setlists, songs, jam-charts, reviews, and audio.1MIT
- AlicenseAqualityAmaintenanceSearch concert setlists, artists, venues, tours, and cities from setlist.fm via natural language. Provides 16 read-only tools for exploring live music data.20302 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying and exploring Nashville open data from data.nashville.gov and ArcGIS REST API through natural language.2 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables searching, querying, and retrieving metadata from Vermont Open Data (data.vermont.gov) datasets using Socrata SoQL, all via natural language.3 npmMIT