Skip to main content
Glama
Spicy-API
by Spicy-API

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SPICY_API_KEYYesYour SpicyAPI API key. Required for all authenticated operations (everything except service status and docs search).
SPICY_MCP_HOSTNoHost interface for the HTTP entrypoint. Default is 127.0.0.1, only localhost addresses allowed.
SPICY_MCP_PORTNoPort for the HTTP entrypoint. Default is 8765.
SPICY_MCP_HTTP_TOKENNoBearer token required for the HTTP entrypoint (spicyapi-mcp-http). Must be at least 32 bytes and different from SPICY_API_KEY. Only required if using the HTTP server.
SPICY_MCP_UPLOAD_ROOTSNoDirectories spicyapi_upload_file may read, separated by ':' on macOS/Linux or ';' on Windows. Default is the user's home directory.

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": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
spicyapi_service_statusA

Read public health and readiness endpoints for diagnostics or an explicit status request. Not a prerequisite for task creation. No API key is required. Report the operational field. On the public surface /readyz answers 404 by design — readiness exposes database and Redis state, so it is registered only on the admin process — and operational already accounts for that. Do not report a 404 there as an outage.

spicyapi_docs_searchA

Search the bundled index of verified first-party documentation URLs.

spicyapi_models_listA

Discover enabled models and account-specific prices. Fetch only the selected model for its schema, or set includeSchema to reuse complete records without another model_get call. Returned input schemas are plain JSON Schema; display-only and rate-card annotations are removed. Some input values change the price; task_create obtains the exact request quote for confirmation. Use pricing entries for comparisons rather than calculating the accepted charge yourself.

spicyapi_model_getA

Return one exact model, its live input schema, pricing, policy and availability. Reuse a complete record already obtained from models_list with includeSchema. The input schema is plain JSON Schema; display-only and rate-card annotations are removed. Some input values change the price; task_create obtains the exact request quote for confirmation. Use pricing entries for comparisons rather than calculating the accepted charge yourself.

spicyapi_balance_getA

Return available, held, and total balance as exact decimal USD strings when requested or diagnosing funds. Task creation already checks funds; this is not a prerequisite.

spicyapi_usage_getA

Read task counts and settled actual USD spend for the current API key, grouped by creation day and model. Only from/to dates are accepted: UTC [from,to), at most 92 days; defaults to seven days ending tomorrow UTC. Money is returned as exact decimal strings; pending holds are excluded and late settlement can change prior-day spend. This is not account balance or remaining key budget, and is not a generation prerequisite. Use for requested usage reports; respect Retry-After on rate limits.

spicyapi_tasks_listA

Discover current-key task history with metadata only, without fetching each result. Dates are UTC [from,to), default seven days, at most 92 days. Keep from/to fixed across pages and pass nextCursor unchanged. Limit defaults to 20, maximum 100. Cost is an exact USD string and is final only when settled. Use task_get only for selected results; use usage_get for settled spending including hidden tasks. This is not a polling endpoint or a prerequisite to generation.

spicyapi_task_getA

Read a task created by the current API key, including ready output.assets[].url links. Use those URLs directly without your API key; query again if assets are pending or URLs have expired. A verified complete v2 webhook already contains the result. Unknown and inaccessible IDs are both 404.

spicyapi_task_waitA

Wait for a task for up to 300 seconds and read ready output.assets[].url directly without a download-ticket call. By default, polling backs off from about 2 to at most 10 seconds; an explicit intervalSeconds stays fixed. Prefer signed webhooks for production; a complete verified v2 callback needs no extra task_get. A local wait timeout does not cancel the task.

spicyapi_upload_fileA

Read a file from this computer, upload it, and return the spicy:// URI to put in a model input field. Use this whenever the user refers to a file on their machine. Images up to 10 MiB; MP4/WebM video and MP3/WAV audio up to 90 MiB. Public HTTPS media URLs need no upload at all — pass them straight to the model input when its schema accepts a URL.

spicyapi_download_url_createA

Create a short-lived signed URL for an output owned by the current task and API key, for legacy integrations or explicit link renewal. Prefer existing ready output.assets[].url from task_get, task_wait, or a verified v2 webhook; no ticket call is needed for those links.

spicyapi_task_quoteA

Compare an exact request price without creating a task or reserving funds. Returns a five-minute USD estimate and maximum charge. task_create already obtains its own quote and confirmation; do not call this tool as a routine prerequisite.

spicyapi_task_createA

Obtain the exact request quote, show its USD estimate and maximum charge for user confirmation, then reserve funds and create an asynchronous task. Do not call task_quote first unless independently comparing prices. The confirmation needs an MCP client that supports form elicitation; if the client does not, the call fails after the free quote and no task is created or charged.

spicyapi_task_retryA

Create a new task from a failed or expired source. Requires a user confirmation round.

spicyapi_task_purgeA

Permanently destroy one terminal task's stored content: generated media, result payload, prompt, and input text. This destroys content, not the record of what it cost — the ledger entry, charged amount, model, state, timestamps and request ID all stay queryable afterwards, so this never hides or reverses a charge and never refunds anything. It cannot be undone and there is no per-output granularity: the unit is one whole task. Download any result the user still wants before calling this. Only tasks in a terminal state are accepted. An accepted task cannot be canceled and there is no cancellation API, so for a queued or running task wait until it finishes (task_wait), then purge it. Repeating the call on an already destroyed task succeeds and changes nothing. Requires a user confirmation round.

Prompts

Interactive templates invoked by user choice

NameDescription
spicyapi_generation_workflowBuild a workflow using the live model schema, confirmed task creation, and directly usable results.

Resources

Contextual data attached and managed by the client

NameDescription
spicyapi-documentation-indexVerified first-party documentation topics and URLs.
spicyapi-openapi-contractThe package-pinned public API contract used to generate SDK types.

TDQS

A4.2/5.0

Scored across 15 tools

Disambiguation4/5

Most tools are clearly separated by resource (service, docs, models, balance, usage, tasks, files, URLs) and action. The only mild overlap is task_get vs task_wait vs download_url_create, but their descriptions distinguish reading a task, waiting for completion, and creating a signed URL.

Naming Consistency4/5

The naming follows a consistent spicyapi_<resource>_<action> pattern, e.g. models_list, model_get, task_create, task_get. Minor deviation: download_url_create uses a noun phrase (download_url) rather than a resource noun like url, but it is still readable and predictable.

Tool Count5/5

15 tools is at the upper end of the ideal range but each tool maps to a distinct operation in the API lifecycle: service status, docs, models, balance, usage, task CRUD/wait/retry/purge, upload, download, and quote. No tool feels redundant.

Completeness4/5

The surface covers the full task lifecycle: quote, create, get, wait, retry, purge, plus upload/download and account management. Minor gaps: no explicit task cancellation (documented as unavailable) and no webhook management tool, but the descriptions explain workarounds.

Maintenance

ActivityMaintained
ResponsivenessNo issues