specter-skills
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPECTER_ENV | No | Staging or production | staging |
| SPECTER_API_KEY | No | Client 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_ID | No | Auto-discovered from your sign-in. Only set it if your organisation has multiple projects and you want to pin one. | |
| SPECTER_ADMIN_TOKEN | No | For CI / non-interactive use instead of browser sign-in | |
| SPECTER_ALLOW_MUTATIONS | No | True enables the create / mutate tools | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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. |
| 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 |
| specter_create_bundleA | Create a bundle. For a gacha/loot box set isGacha + pity fields in |
| specter_create_storeA | Create a store. Categories/contents/platforms go in |
| specter_create_battlepassA | Create a battle pass. tiers (free/premium rewards per tier) go in |
| 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 |
| 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 |
| specter_schedule_liveopsA | Schedule a leaderboard or competition live. Provide exactly one of competitionId / leaderboardId. Recurrence config goes in |
| 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. |
| 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). |
| 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). |
| 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 |
| 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 |
| 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". |
| 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 |
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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