Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CONCERT_MCP_TZNoIANA zone for every start/end.America/Los_Angeles
CONCERT_MCP_SENDNo0 disables reply delivery and topic renames everywhere.1
CONCERT_MCP_DRY_RUNNo1 makes every tool change nothing and return the reply it would have sent, marked NOT SENT: dry run; for rehearsing the bot end to end.0
CONCERT_MCP_FIX_LOGNoThe retry-loop breaker's memory.<state_dir>/fix-log.json
CONCERT_MCP_GWS_BINNoThe Google Workspace CLI.which gws, else /opt/homebrew/bin, /usr/local/bin, ~/.local/bin, else gws
CONCERT_MCP_OCR_LASTNoThe last OCR output.<openclaw_home>/media/ocr-last.txt
CONCERT_MCP_OP_VAULTNo1Password vault, auth commands only.Private
CONCERT_MCP_SENT_LOGNoReply dedupe memory.<state_dir>/last-sent.json
CONCERT_MCP_CACHE_DIRNoliked.json.~/.cache/concert-mcp
CONCERT_MCP_LOG_LEVELNodebug logs every subprocess argv (never tokens); stderr only.info
CONCERT_MCP_STATE_DIRNosetlist-queue.json, delete-candidates.json, last-sent.json, fix-log.json.~/.local/state/concert-mcp
CONCERT_MCP_CONFIG_DIRNoCredentials files and config.toml.~/.config/concert-mcp
CONCERT_MCP_SESSION_DBNoOpened read-only.<openclaw_home>/agents/main/agent/openclaw-agent.sqlite
CONCERT_MCP_LIKED_CACHENoLegacy fallback ~/.cache/ari-spotify/liked.json.<cache_dir>/liked.json
CONCERT_MCP_GWS_KEY_FILENoExists -> GOOGLE_WORKSPACE_CLI_KEYRING_BACKEND=file on every gws call.~/.config/gws/.encryption_key
CONCERT_MCP_OPENCLAW_BINNoThe OpenClaw CLI.which openclaw, else /opt/homebrew/bin, /usr/local/bin, ~/.local/bin, else openclaw
CONCERT_MCP_PAST_GRACE_HNoA start this far in the past is still accepted.12
CONCERT_MCP_GWS_TIMEOUT_SNoWall-clock cap per gws call.60
CONCERT_MCP_OPENCLAW_HOMENoBase for openclaw_config, session_db and ocr_last.~/.openclaw
CONCERT_MCP_OPERATOR_NAMENoThe name in 'Admin: check `gws auth` on the host.'Admin
CONCERT_MCP_RENAME_TOPICSNo0 keeps Telegram topic names as they are.1
CONCERT_MCP_SETLIST_QUEUENoLegacy fallback ~/.local/state/ari-spotify/setlist-queue.json; the weekly poller reads this file.<state_dir>/setlist-queue.json
CONCERT_MCP_HTTP_TIMEOUT_SNoPer HTTP request.30
CONCERT_MCP_SPOTIFY_SCOPESNoOAuth scopes.user-library-read playlist-read-private playlist-modify-private playlist-modify-public
CONCERT_MCP_CANDIDATES_FILENoNo legacy fallback; a list older than CONCERT_MCP_CONTEXT_WINDOW_S is discarded.<state_dir>/delete-candidates.json
CONCERT_MCP_DEDUPE_WINDOW_SNoAn identical reply is not sent twice within this window.600
CONCERT_MCP_MAX_FUTURE_DAYSNoA start further out is refused.730
CONCERT_MCP_OPENCLAW_CONFIGNoRead for channels.telegram.botToken only.<openclaw_home>/openclaw.json
CONCERT_MCP_OP_SPOTIFY_ITEMNoFields username (client id), credential (secret), refresh token.Spotify - concert-mcp
CONCERT_MCP_CONTEXT_WINDOW_SNoLive chat / OCR / transcript recency.900
CONCERT_MCP_DEFAULT_CALENDARNoID used for plain events and the second delete search.primary
CONCERT_MCP_TEASER_TIMEOUT_SNoCap on the Spotify teaser step.150
CONCERT_MCP_CONCERTS_CALENDARNoCalendar name, resolved through gws calendar calendarList list.Concerts
CONCERT_MCP_LIKED_CACHE_TTL_SNoLiked Songs cache lifetime.21600
CONCERT_MCP_OP_SETLISTFM_ITEMNoField credential.setlist.fm - API key
CONCERT_MCP_DEFAULT_DURATION_HNoEnd = start + this when no end is given.2
CONCERT_MCP_SETLIST_QUEUE_DAYSNoHow long after the show the weekly setlist check keeps looking.61
CONCERT_MCP_SPOTIFY_CREDENTIALSNoLegacy fallback ~/.config/ari-spotify/credentials.json.<config_dir>/spotify.json
CONCERT_MCP_SPOTIFY_REDIRECT_URINoThe Spotify app's redirect URI.http://127.0.0.1:8888/callback
CONCERT_MCP_DEFAULT_CALENDAR_NAMENoHow replies name it.Personal
CONCERT_MCP_SETLISTFM_CREDENTIALSNoLegacy fallback ~/.config/ari-spotify/setlistfm.json.<config_dir>/setlistfm.json

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
concert_addA

Add a concert to the calendar and do everything that goes with it: teaser playlist, setlist.fm lookup, the chat reply. Call once per ticket with artist, start and venue as read from the ticket; paste the ticket text into source_text. If the result starts with NO_REPLY, answer exactly NO_REPLY.

calendar_addA

Add a plain (non-concert) event to the personal calendar, keeping the title as the user wrote it. For a concert ticket use concert_add instead. If the result starts with NO_REPLY, answer exactly NO_REPLY.

event_deleteA

Delete one calendar event by artist or title. When several match, the tool lists them with numbers and asks the user; when the user answers with a number, call this again with pick set to that number. If the result starts with NO_REPLY, answer exactly NO_REPLY.

teaser_playlistA

Make or top up the Spotify teaser playlist for one concert: every song the user liked by the artist, oldest first, named "YYYY-MM-DD | Artist". concert_add already does this; call only when asked for the playlist alone. NO_REPLY means answer exactly NO_REPLY.

setlist_findA

Look up one show on setlist.fm by artist and date. concert_add already does this; call only when asked about a setlist alone. NO_REPLY means answer exactly NO_REPLY.

queue_statusA

List the concerts waiting for the weekly setlist.fm check. Takes no parameters. NO_REPLY means answer exactly NO_REPLY.

healthcheckA

Report which credentials and tools are present for Google Calendar, Spotify, setlist.fm and OpenClaw, and what fixes each missing one. Takes no parameters.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 7 tools

Disambiguation3/5

concert_add is a hub tool that explicitly absorbs the work of teaser_playlist and setlist_find, so three tools perform the same underlying operations. The descriptions do rescue this with explicit routing cues ('concert_add already does this; call only when asked for X alone'), but an agent still has to reason about user intent rather than resource+action to choose correctly.

Naming Consistency3/5

Most names follow a noun_verb or noun_action shape (concert_add, calendar_add, event_delete, setlist_find, queue_status), but the verb position flips between prefix-style and suffix-style, and 'healthcheck' is an unseparated single word that breaks the pattern entirely. Readable, but not a predictable convention an agent can extrapolate from.

Tool Count5/5

Seven tools for a concert-tracking domain (build playlist, look up setlist, queue status, diagnostics, add concert, add plain event, delete event) is well scoped with no filler. Each tool maps to a recognizable user request.

Completeness3/5

The surface covers creation and deletion of events plus the concert enrichment pipeline, but there is no read/list tool for existing calendar entries beyond queue_status's pending-concert view, and no update/reschedule operation. An agent asked 'what's on my calendar next month?' or 'move this concert' hits a dead end.

Maintenance

ActivityMaintained
ResponsivenessNo issues