Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SPECTER_ENVNoStaging or productionstaging
SPECTER_API_KEYNoClient api-key. Not needed after sign-in — the dev key from your login is reused. Set it only if you want read tools to work before signing in.
SPECTER_PROJECT_IDNoAuto-discovered from your sign-in. Only set it if your organisation has multiple projects and you want to pin one.
SPECTER_ADMIN_TOKENNoFor CI / non-interactive use instead of browser sign-in
SPECTER_ALLOW_MUTATIONSNoTrue enables the create / mutate toolsfalse

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
specter_verify_setupA

Smoke-test the configured Specter project: api-key validity, project info, currencies, test-player login, wallet provisioning, and tasks. Use this first to answer "is my Specter backend set up correctly?".

specter_list_currenciesA

List the currencies configured in this Specter project. Returns ids/slugs you can reference when creating other entities. Requires a one-time browser sign-in (specter_login).

specter_list_itemsA

List the items configured in this Specter project. Returns ids/slugs you can reference when creating other entities. Requires a one-time browser sign-in (specter_login).

specter_list_bundlesA

List the bundles / loot boxes configured in this Specter project. Returns ids/slugs you can reference when creating other entities. Requires a one-time browser sign-in (specter_login).

specter_list_storesA

List the stores configured in this Specter project. Returns ids/slugs you can reference when creating other entities. Requires a one-time browser sign-in (specter_login).

specter_list_tasksA

List the tasks / achievements configured in this Specter project. Returns ids/slugs you can reference when creating other entities. Requires a one-time browser sign-in (specter_login).

specter_list_eventsA

List the custom events configured in this Specter project. Returns ids/slugs you can reference when creating other entities. Requires a one-time browser sign-in (specter_login).

specter_list_leaderboardsA

List the leaderboards configured in this Specter project. Returns ids/slugs you can reference when creating other entities. Requires a one-time browser sign-in (specter_login).

specter_list_tournamentsA

List the tournaments / competitions configured in this Specter project. Returns ids/slugs you can reference when creating other entities. Requires a one-time browser sign-in (specter_login).

specter_list_battlepassesA

List the battle passes configured in this Specter project. Returns ids/slugs you can reference when creating other entities. Requires a one-time browser sign-in (specter_login).

specter_list_progression_systemsA

List the level / progression systems configured in this Specter project. Returns ids/slugs you can reference when creating other entities. Requires a one-time browser sign-in (specter_login).

specter_list_markersA

List the progression markers configured in this Specter project. Returns ids/slugs you can reference when creating other entities. Requires a one-time browser sign-in (specter_login).

specter_get_player_stateA

Sign in the sandbox test player and read their task/achievement status, wallet balances, and inventory. Use to inspect what a player currently sees, or to check an achievement's progress.

specter_send_eventA

Send a custom event (by its slug) as the sandbox test player — the same event your game would fire. Use to trigger tasks/achievements and verify they respond. params are the event parameters (statistics/states) your rule references.

specter_test_achievementA

Prove a configured task/achievement works: reads the test player's task status, fires the trigger event (with optional params), polls again, and reports whether the task progressed/completed. Use right after creating a task to verify it actually fires.

specter_get_reward_historyA

Read the test player's reward history — including PENDING rewards waiting to be claimed (on-claim tasks). Filter by status ('pending' shows claimable). Each entry has sourceType + sourceId (e.g. the task), amount, and status (pending → completed).

specter_claim_rewardA

Claim the test player's pending reward(s) from a source — this is how a game claims an ON-CLAIM task/mission reward after it completes (grant-reward-by-source). It grants the reward to the wallet/inventory and flips its status pending → completed. Identify the source by its slug/id and type.

specter_generate_client_codeA

Generate ready-to-paste game integration code (v2 client REST) wired with this project's real client api-key + a real event slug. Covers login, firing events, reading tasks, and wallet. JS works anywhere; C# is dependency-free Unity (the official Specter Unity SDK is recommended for production).

specter_client_callA

Escape hatch for the game-facing API: POST to any /v2/client/* endpoint as the sandbox test player. Use for client calls that lack a dedicated tool (e.g. player/me/get-inventory, friends/send-request, stores/default-purchase, leaderboards/get-rankings, competitions/enter). Find the exact path + body in the client-api-index / curated-client-api references. asPlayer=true (default) sends the test-player token; false = api-key-only catalog reads.

specter_loginA

Opens the Specter dashboard in the browser so the member can sign in (email/password, Google, or Apple) and authorize this tool. Required once before creating currencies/tasks. No password is ever shared with the tool.

specter_create_itemA

Create an inventory item. Properties (consumable/equippable/...), prices, unlock conditions go in fields. MUTATES live game config — confirm with the user and prefer staging.

specter_create_bundleA

Create a bundle. For a gacha/loot box set isGacha + pity fields in fields; contents/prices go in fields too. MUTATES live game config — confirm with the user and prefer staging.

specter_create_storeA

Create a store. Categories/contents/platforms go in fields (storeCategories[]). MUTATES live game config — confirm with the user and prefer staging.

specter_create_battlepassA

Create a battle pass. tiers (free/premium rewards per tier) go in fields. MUTATES live game config — confirm with the user and prefer staging.

specter_create_level_systemA

Create a level system. levelSystemTypeId: 1=XP-based, 2=event-based. levelDetails is the per-level config. MUTATES live game config — confirm with the user and prefer staging.

specter_create_progression_markerA

Create a progression marker (a named counter like XP or trophies). MUTATES live game config — confirm with the user and prefer staging.

specter_create_leaderboardA

Create a leaderboard. prizeDistributionRule/prize config goes in fields. outcomeType: 1=high_score, 2=time_trial, 4=position_weighting, 5=cumulative_score. sourceType: 1=match, 2=statistics, 3=custom. MUTATES live game config — confirm with the user and prefer staging.

specter_create_competitionA

Create a competition. competitionFormatTypeMasterId: 2=tournament, 3=instant battle, 4=paid challenge, 5=bracket. For match-based (sourceTypeId 1) pass matchId+gameId in fields; entry prices/prizes/schedule also go in fields. MUTATES live game config — confirm with the user and prefer staging.

specter_schedule_liveopsA

Schedule a leaderboard or competition live. Provide exactly one of competitionId / leaderboardId. Recurrence config goes in fields. MUTATES live game config — confirm with the user and prefer staging.

specter_grant_rewardA

Grant items/bundles/currencies/markers to a player. rewardDetails is an array; each entry has rewards: {items[],bundles[],currencies[],progressionMarkers[]}. MUTATES live game config — confirm with the user and prefer staging.

specter_create_currencyA

Create a virtual or real-money currency. type is "virtual" (in-game, e.g. coins/gems) or "real" (real-money). currencyId (slug) is auto-derived from the name if omitted. MUTATES live game config — confirm with the user and prefer staging.

specter_create_currency_conversionA

Define an exchange rate from one currency to another (e.g. 100 gems → 1 gold). Pass currencies by slug/name; the tool resolves them to the integer ids the API needs. MUTATES live game config — confirm and prefer staging.

specter_create_currency_policyA

Attach a policy to a currency: "balance_limits" (min/max a player can hold), "currency_decay" (lose a % over time), or "earning_caps" (max earnable per period). Pass the currency by slug/name. MUTATES live game config — confirm and prefer staging.

specter_create_matchA

Create a multiplayer match template (the config a real-time session is based on). format is single/multi/team; outcome is how a winner is decided (highest score, fastest time, finish position). The game is resolved by name/slug. Matchmaking rules (team size, MMR) go in fields. MUTATES live game config — confirm and prefer staging.

specter_create_eventA

Create a custom event that tasks/achievements can be triggered by (e.g. "boss_defeated"). Create the event BEFORE the task that references it. eventId (slug) is auto-derived from the name. MUTATES live game config — confirm with the user and prefer staging.

specter_create_taskA

Create a SINGLE-objective achievement (a "task"/"quest"/"objective" — one trigger, one reward). For multi-objective achievements use specter_create_mission (a pool), specter_create_step_series (sequential), or specter_create_time_series (streaks). event is the trigger event (slug/name, resolved automatically). rewards grants currencies/items/markers (by slug/name). recurring captures cadence intent (actual go-live is via scheduling). MUTATES live game config — confirm with the user and prefer staging.

specter_create_missionA

Create a MISSION: a pool of tasks where players see/complete a subset per cycle (typeId 1). Use for "daily missions", "rotating challenges", "pick N of these". For sequential use specter_create_step_series; for streaks use specter_create_time_series. Each task in tasks is created inline. MUTATES live game config — confirm and prefer staging.

specter_create_step_seriesA

Create a STEP SERIES: ordered tasks where each unlocks the next (typeId 2). Use for "quest lines", "tutorial chains", "finish step 1 before step 2". The order of tasks (or each task's sortingOrder) defines the sequence. MUTATES live game config — confirm and prefer staging.

specter_create_time_seriesA

Create a TIME SERIES: per-window recurring tasks, e.g. a daily login streak (typeId 3). Use for "streaks", "login N days in a row", "weekly recurring that resets on miss". stageLength is the window count (e.g. 7) and interval its unit (e.g. "day"). MUTATES live game config — confirm and prefer staging.

specter_schedule_achievementA

Activate a created task or task-group (mission/step-series/time-series) by setting its dates/recurrence. Pass exactly one of taskRef (single task) or groupRef (a group), by slug/name/id. Omitting startDate makes it go live immediately. MUTATES live game config — confirm and prefer staging.

specter_stop_achievementA

Halt a live task or task-group (keeps the record; reversible by scheduling again). Pass exactly one of taskRef / groupRef. MUTATES live game config — confirm and prefer staging.

specter_delete_achievementA

Soft-delete a single task (kind="task") or a group (kind="mission"|"step_series"|"time_series"). Provide refs (slugs/names/ids). DESTRUCTIVE — confirm with the user first, and prefer staging.

specter_edit_currencyA

Update an existing currency (name, description, code, type, …). Identify it by slug/name. MUTATES live game config — confirm and prefer staging.

specter_edit_taskA

Update an existing single task's name, description, rewardClaim, recurrence, or businessLogic (identify it by slug/name). To CHANGE REWARDS, delete and recreate the task — task/edit uses diff-semantics on rewards that aren't reliably expressible here. MUTATES live game config — confirm and prefer staging.

specter_update_entityA

Generic editor for the long tail: update an item/bundle/store/leaderboard/competition/battlepass/level_system/marker/mission/step_series/time_series/event. Pass the entity's id (from the matching list_* tool) and the fields to change. MUTATES live game config — confirm and prefer staging.

specter_admin_callA

Escape hatch for the dashboard/admin API: POST to any /v1 admin endpoint that lacks a dedicated tool (e.g. match/add, member/invite/send, reward-set/create, games/add, tag/create, ugc-leaderboard/create, app-event/custom/subscribe-all, bulk-upload/*). Find the exact path + request body in the specter-admin references (references/endpoints-index.md and admin-endpoints.md). projectId is auto-injected when omitted. MUTATES live config — ALWAYS confirm with the user first, treat any path containing '/delete' as destructive, and prefer staging.

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/dirtcubeinteractive/specter-skills'

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