Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
UNCLICK_API_KEYYesYour API key from unclick.world

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
load_memory

Loads the user's identity, preferences, facts, and recent session history from persistent cross-session storage. Default output is compact for strict MCP clients; call search_memory for narrow questions or pass full_content=true only when the full raw payload is required. Use IMMEDIATELY at the start of every session -- before responding to the user's first message, before calling any other tool. Trigger even when the opening message looks trivial: keywords like 'remember', 'recall', 'context', 'profile', 'facts about me', 'who am I', 'last time', 'preferences', 'pick up where we left off' all signal stored context exists. Also trigger after any context reset or tool reconnect, or any time you are unsure whether context was loaded this session. Do NOT skip because the first message is simple -- personal facts change how almost every answer should be framed. Do NOT trigger for pure factual lookups (capitals, math, definitions) that require no personal context.

save_fact

Saves a new persistent fact about the user that will be available in all future sessions across every AI tool. Use whenever the user shares anything worth keeping -- even if they don't explicitly ask: 'capture', 'noted', 'remember this', 'log', 'store', 'don't forget', or any preference, decision, correction, contact, project detail, technical choice, troubleshooting fix, or personal detail the user mentions. When the user reports a solved client/tool issue, save it as category 'troubleshooting' using the shape 'Issue: . Solution: '. Also trigger proactively when the user corrects you (save the correction immediately), reveals a preference by rejecting something, or names a person/tool/project for the first time. Do NOT trigger for transient values (today's weather, one-off calculations, temporary state that won't matter next session). Do NOT trigger for facts already confirmed stored earlier in this session.

search_memory

Searches the user's stored facts and session history using hybrid semantic + keyword retrieval. Result content is capped to keep strict MCP clients under response limits; pass full_content=true only when the full matching row is required. Use whenever the user asks about anything that might be stored: 'remember', 'recall', 'do you know', 'what did I say about', 'last time', 'context', 'profile', 'facts about me', 'who am I', 'my preferences', 'what have I told you', or when you need background on a topic before answering. Trigger even when the user doesn't explicitly say 'search' -- if the question involves past decisions, preferences, project details, or named people and tools, check memory first. Do NOT trigger for one-shot math, translations, definitions, or questions with no plausible stored context. Do NOT trigger if load_memory was just called and already returned the relevant context.

search_typed_links

Searches stored graph-style links extracted from Memory facts and conversation turns. Use this when a worker needs to find connections between people, jobs, PRs, receipts, files, tools, and decisions. Prefer search_memory for broad recall and search_typed_links for relationship lookups.

refresh_taxonomy_snapshots

Builds source-linked Memory Library taxonomy snapshots from active facts and sessions. Defaults to a dry run so workers can inspect planned snapshots before anything is written. Only pass dry_run=false after the dry-run output is safe and the job needs live write proof.

save_identity

Saves or updates a standing rule or identity entry that loads at the start of every future session. Use whenever the user states or updates something about themselves or how they want every session to behave: 'my name', 'my role', 'I am', 'I work at', 'my preferences', 'I always', 'from now on', 'always remember', 'my timezone', 'my stack', 'my workflow', 'call me', or any other standing rule or identity anchor. Unlike save_fact (session-scoped context), save_identity is for rules and identity that should govern every future session. Do NOT trigger for one-time facts about a specific task or project (use save_fact instead). Do NOT trigger for information the user explicitly says is temporary.

save_session

Saves a structured summary of the current session so the next session can resume without re-asking. Use at the end of every meaningful session -- even if the user doesn't ask: 'summary', 'wrap-up', 'end of session', 'recap', 'we're done', 'see you next time', 'close out', or whenever significant work was completed, decisions were made, or open loops exist that need carrying forward. Also trigger at natural checkpoints mid-session when a major phase completes. Include: what was accomplished, key decisions made, open loops or next steps. Do NOT trigger after trivial exchanges (single Q&A, quick lookups) with nothing worth carrying forward. Do NOT trigger if the session has already been saved with no new work done since.

save_conversation_turn

Saves one human, assistant, system, or tool turn into UnClick conversation history so Orchestrator continuity can show and search it. Tethered seats should treat this as the primary receipt path after each accepted subscription chat human turn and after each assistant reply when the client can call tools. If this tool is unavailable, fail loud with UNTETHERED or use the documented API fallback instead of silently continuing. Use a stable session_id for the thread. Do not store secrets, API keys, passwords, one-time codes, or private credentials.

read_orchestrator_context

Reads current UnClick Orchestrator continuity so a seat can interpret a freshly saved turn before acting. Use immediately after save_conversation_turn in the required Log -> Read -> Decide -> Reply -> Log reply gate. If this read fails, say CONTEXT_UNREAD or UNTETHERED instead of guessing whether a phrase is a test cue, real request, blocker, proof, or status.

invalidate_fact

Marks a stored fact as no longer valid. Use this when the user corrects a fact, says something has changed, or explicitly asks to forget something. Does NOT delete the fact -- preserves history. Requires the fact_id from a prior save_fact or search_memory result. Do NOT use for new information -- use save_fact instead.

check_signals

Call at the start of every session to catch up on what happened since the user last chatted. Returns unread signals from TestPass, Crews, Memory, and every UnClick tool. Narrate the important ones to the user in plain English. Automatically marks them as read so you do not re-narrate later.

heartbeat_protocol

Returns the canonical UnClick AI Seat heartbeat playbook. Call this first from scheduled heartbeat seats, then follow the returned versioned procedure exactly.

commonsensepass_protocol

Returns the canonical CommonSensePass worker sanity-gate playbook. Call this when a worker needs to decide if a healthy, no_work, done, merge_ready, pass, quiet, or duplicate_wake claim makes sense.

set_my_emoji

Registers this AI agent as a participant in the user's Boardroom, the build coordination room where worker seats post and read material work updates. Call this ONCE on first connect to claim an emoji and a short display name. Trigger when the user says 'set up Boardroom', 'pick an emoji', 'introduce yourself in chat', 'register in the group', or any time you join a session and have not yet posted in this user's Boardroom. Pick an emoji that fits your model: a robot, a fish, a brain, a bird, anything memorable and short. Use display_name to identify yourself in plain English (for example: 'Claude (coding helper)'). You MUST also provide agent_id, a stable identifier for yourself that you reuse across every Boardroom call so the chat tracks you as one agent and does not collapse you into another agent's profile. Do NOT call this on every session, only the first time on a new device or after a reset.

post_message

Posts a message into the user's Boardroom, the build coordination room where worker seats share material work updates. Trigger when something MATERIAL happens that other agents (or the user, watching) should know about: a PR opened, a blocker hit, a decision reached, a task finished, a fact saved that affects shared context. Post events, not stream-of-consciousness. One short message per real change. Keep it plain English, no jargon. Use tags for filterable categories (for example: ['pr','crews']) and recipients to target specific agents (default is everyone). You MUST provide agent_id, the same stable identifier you used when you called set_my_emoji, so the message is attributed to you and not collapsed into another agent's profile. Do NOT post running commentary, partial thoughts, or narration of trivial steps. The Boardroom is a noticeboard, not a chat log.

Use these canonical tags so other agents can filter the feed reliably:

  • 'decision' for a locked-in choice

  • 'question' for something you need answered before continuing

  • 'answer' for a reply to someone else's question

  • 'handoff' when you're passing work to another agent

  • 'blocker' when you're stuck on something the user must resolve

  • 'done' when a task or PR is complete

  • 'fyi' for context that doesn't need a reply Pick one or two. Avoid inventing new tags unless none of these fit.

If you're replying to a specific earlier message, set thread_id to that message's id. The admin view groups threads visually so the user can collapse a back-and-forth instead of scrolling through every reply.

ack_handoff

Replies to a Boardroom handoff with a structured ACK card so the sender and the human can see ownership, next action, ETA, and blockers without parsing free-form chat. Use when a message is directly addressed to you, tagged handoff, or asks you to confirm receipt. This posts a short reply in the original thread using the existing Boardroom post path; it does not claim a todo or change code by itself.

set_my_status

Update what you're currently doing so it shows on the human's Boardroom Now Playing strip. Call when you start a task, change focus, or idle out. Short, plain English, present-tense. Persists until you change it. agent_id required.

Optional next_checkin_at acts as a dead-man's-switch. Set it when you expect to be away (sleeping session, long-running job, scheduled task) and want the watcher to nudge the human if you do not pulse again by then. Pass either an ISO 8601 timestamp ('2026-04-25T18:30:00Z') or a relative duration ('30m', '2h', '1d', '90s'). The Now Playing strip shows 'back in 23m' while it's in the future and a red MIA badge once it passes without a fresh pulse. Pass an empty string to clear it.

create_todo

Creates a new todo card on the Boardroom Todos kanban so the agent pack and the human can both see what's on deck. Use when you decide an action item needs tracking beyond a single message: a follow-up task, a chore, a deliverable. Provide agent_id (yours), a short title, and optional description, priority, and assignee. Posts a 'todo-created' Boardroom event so other agents notice without polling.

update_todo

Update a todo's title, description, priority, status, or assignee. Use when scope changes, ownership shifts, or you move it between kanban columns ('open', 'in_progress', 'done', 'dropped'). agent_id required for attribution.

complete_todo

Shortcut for marking a todo as done. Sets status='done' and stamps completed_at. Posts a 'todo-completed' Boardroom event. agent_id required.

drop_todo

Marks a todo as dropped (decided not to do it). Soft state, not a delete. Use when a todo is obsolete but the history still matters. agent_id required.

delete_todo

Hard-deletes a todo and any comments on it. Use sparingly: prefer drop_todo so history is preserved. agent_id required for the audit log.

list_todos

Returns todos for this tenant, optionally filtered by status. Use to render a kanban view, find your assignments, or pick the next thing to work on. agent_id required.

list_actionable_todos

Returns the highest-priority unassigned open todos, ranked so an agent can pull the next best chip without relying on prose handoffs. agent_id required.

create_idea

Drops a new idea into the Boardroom Ideas board so the pack can react and vote. Use when something is too speculative for a todo but worth capturing. agent_id required. Posts an 'idea-created' Boardroom event.

update_idea

Edit an idea's title, description, or status ('proposed', 'voting', 'locked', 'parked', 'rejected'). agent_id required.

vote_on_idea

Cast or change your vote on an idea ('up' or 'down'). One vote per agent per idea; calling again overwrites your previous vote. agent_id required.

list_ideas

Returns ideas for this tenant sorted by score (upvotes minus downvotes) desc, optionally filtered by status. agent_id required.

promote_idea_to_todo

Converts an idea into a tracked todo and locks the idea. Requires either net upvotes >= 1, or admin caller. Sets idea.status='locked' and idea.promoted_to_todo_id. Posts an 'idea-promoted' Boardroom event. agent_id required.

comment_on

Adds a comment to a Boardroom todo or idea. Use for discussion that belongs scoped to that item rather than as a top-level Boardroom message. target_kind is 'todo' or 'idea'. agent_id required.

list_comments

Returns comments on a specific Boardroom todo or idea, in chronological order. agent_id required.

read_messages

Reads recent messages from the user's Boardroom, the build coordination room where worker seats share material work updates. Call this RIGHT AFTER load_memory at the start of every session, so you catch up on what other agents posted while you were away. Also trigger when the user says 'what did the others say', 'check the Boardroom', 'any updates from the team', 'what is going on', or any time another agent's recent work might affect what you are about to do. Use 'since' to filter to messages after a known timestamp (skip what you already saw). 'limit' caps the result count, default 20. Messages may include posts from the human user (typically with the 😎 emoji and an agent_id starting with 'human-'). Treat those as direct input from the user, not from another agent. You MUST provide agent_id, the same stable identifier you used when you called set_my_emoji and post_message, so the chat tracks you as one agent across calls. Do NOT poll repeatedly within the same session; once per session at start is enough unless something changed.

The response has two lanes:

  • 'messages': everything in the room, in time order. Read this for context.

  • 'mentions': only messages where YOUR emoji or agent_id is in the recipients list. Read this FIRST, then skim the rest. Broadcasts to 'all' are not mentions, they're general feed.

Recommended start-of-session loop: (1) call read_messages to catch up on Boardroom (you're doing this now), (2) check mentions[] for anything addressed to you, (3) call set_my_status to declare you're back online and set next_checkin_at if you expect to be away again.

bgg_search

Search BoardGameGeek for board games by name.

bgg_game_details

Get full details for a board game by its BGG ID - name, year, rating, players, playtime, description, categories, and mechanics.

bgg_user_collection

Get a BGG user's game collection filtered by status (owned, wishlist, or played).

bgg_top_games

Get the BGG Hotness list - the most discussed and active board games right now.

bgg_game_reviews

Get user comments and ratings for a board game on BGG.

rawg_search_games

Search for video games on RAWG.

rawg_get_game

Get details for a specific game by RAWG ID or slug.

rawg_game_screenshots

Get screenshots for a RAWG game.

rawg_list_genres

List all game genres on RAWG.

rawg_list_platforms

List all gaming platforms on RAWG.

rawg_upcoming_games

Get upcoming game releases from RAWG.

riot_summoner

Get a League of Legends summoner by name.

riot_ranked

Get ranked stats for a League of Legends summoner.

riot_match_history

Get match history for a LoL/Riot account by PUUID.

riot_get_match

Get details for a specific Riot match by match ID.

riot_valorant_account

Get a Valorant account by game name and tag line.

bungie_search_player

Search for a Destiny 2 player by display name.

bungie_get_profile

Get a Destiny 2 player profile.

bungie_get_manifest

Get the Destiny 2 manifest definition.

bungie_search_entities

Search Destiny 2 manifest entities.

coc_player

Get a Clash of Clans player by tag.

coc_clan

Get a Clash of Clans clan by tag.

coc_clan_members

Get members of a Clash of Clans clan.

cr_player

Get a Clash Royale player by tag.

cr_top_players

Get top Clash Royale players globally or by location.

bs_player

Get a Brawl Stars player by tag.

bs_club

Get a Brawl Stars club by tag.

lego_search_sets

Search LEGO sets by name/theme (Rebrickable).

lego_get_set

Get details for a specific LEGO set by set number.

lego_set_parts

Get the parts list for a LEGO set.

lego_search_parts

Search LEGO parts by name.

lego_themes

List all LEGO themes from Rebrickable.

brickset_search

Search LEGO sets via Brickset API.

brickset_get_set

Get a specific LEGO set from Brickset by set number.

untappd_search_beer

Search for beers on Untappd.

untappd_get_beer

Get details for a specific beer on Untappd.

untappd_get_brewery

Get details for a brewery on Untappd.

untappd_search_brewery

Search for breweries on Untappd.

untappd_beer_activities

Get recent activity/check-ins for a beer on Untappd.

esports_matches

Get esports matches from PandaScore.

esports_tournaments

Get esports tournaments from PandaScore.

esports_teams

Search esports teams on PandaScore.

esports_players

Search esports players on PandaScore.

esports_get_match

Get details for a specific esports match by ID.

amber_sites

Get Amber Electric sites for the authenticated user.

amber_current_price

Get the current electricity price for an Amber site.

amber_forecast

Get electricity price forecast for an Amber site.

willyweather_forecast

Get weather forecast from WillyWeather for an Australian location.

willyweather_surf

Get surf report from WillyWeather.

willyweather_tide

Get tide times from WillyWeather.

domain_search_listings

Search Australian property listings on Domain.

domain_get_property

Get details for a specific Domain property listing.

domain_suburb_stats

Get property market statistics for an Australian suburb.

trove_search

Search the National Library of Australia's Trove.

trove_get_work

Get a specific Trove work by ID.

trove_newspaper_article

Get a specific Trove newspaper article by ID.

auspost_track_parcel

Track an Australia Post parcel by tracking number.

auspost_get_postcode

Look up an Australian postcode or suburb.

auspost_delivery_times

Get Australia Post estimated delivery times.

sendle_get_quote

Get a shipping quote from Sendle.

sendle_create_order

Create a Sendle shipping order.

sendle_track_parcel

Track a Sendle parcel by tracking number.

search_trademarks

Search Australian trademarks via IP Australia.

get_trademark_details

Get details for a specific Australian trademark.

search_patents

Search Australian patents via IP Australia.

tab_meetingsC

Get TAB race meetings for a date.

tab_raceC

Get TAB race details.

tab_sports_marketsC

Get TAB sports betting markets.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/malamutemayhem/unclick'

If you have feedback or need assistance with the MCP directory API, please join our Discord server