MCP & agents
Let your AI assistant make images and video
The official MCP server gives Claude, Cursor, Codex, VS Code and other assistants the live model catalog, exact quotes and task creation. You ask in plain words, it stops for your confirmation before anything is charged.
What is an MCP server?
MCP (Model Context Protocol) is a standard way to give an AI assistant new tools. Add the SpicyAPI server and your assistant can browse models, check prices and create images or video for you.
- You and your assistantClaude, Cursor, Codex, VS Code…
- SpicyAPI MCP serverRuns on your computer through npx
- Image and video modelsLive catalog, exact prices
Good for
- Assets while you codeAsk for a hero image or product clip without leaving the editor.
- Exploring modelsAsk which model fits a job and what it will cost.
- Hands-free batchesLet the agent create, wait for and collect several tasks.
What happens when you ask
- Step 1Finds a suitable model in the live catalog and reads what it accepts
- Step 2Uploads your local file, if there is one
- Step 3Gets an exact quote in US dollars and asks you before anything is charged
- Step 4Starts the task, waits for it and hands you the result link
You: Turn beach.jpg into a six-second clip of waves at sunset.
- spicyapi_models_listspicyapi_model_getAssistant: Found a video model that accepts a start image
- spicyapi_upload_fileUploaded beach.jpg
- spicyapi_task_quote
Here is the exact price in US dollars. Create the task?
- spicyapi_task_createspicyapi_task_waitDone. Here is your download link.
Add it to your assistant
Every client runs the same local server through npx. Pick yours for the exact command or config block.
{
"mcpServers": {
"spicyapi": {
"command": "npx",
"args": ["--yes", "--package=@spicyapi/mcp", "spicyapi-mcp"],
"env": { "SPICY_API_KEY": "YOUR_SERVER_SIDE_KEY" }
}
}
}One stdio server for every MCP client. Put the block in that client’s own config file.
claude mcp add spicyapi \
-e SPICY_API_KEY=$SPICY_API_KEY \
-- npx --yes --package=@spicyapi/mcp spicyapi-mcp
npx skills add spicyapi-ai/spicy-skillAdd the MCP server and install the Skill. Claude Code keeps using Claude for its own reasoning; SpicyAPI is a tool it calls.
codex mcp add spicyapi \
--env SPICY_API_KEY=$SPICY_API_KEY \
-- npx --yes --package=@spicyapi/mcp spicyapi-mcp
npx skills add spicyapi-ai/spicy-skillOne codex mcp add covers all of it — the desktop app, the CLI and the IDE extension read the same ~/.codex/config.toml.
// ~/.cursor/mcp.json
{
"mcpServers": {
"spicyapi": {
"command": "npx",
"args": ["--yes", "--package=@spicyapi/mcp", "spicyapi-mcp"],
"env": { "SPICY_API_KEY": "YOUR_SERVER_SIDE_KEY" }
}
}
}Add the server to ~/.cursor/mcp.json. That file is outside your repository.
// ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"spicyapi": {
"command": "npx",
"args": ["--yes", "--package=@spicyapi/mcp", "spicyapi-mcp"],
"env": { "SPICY_API_KEY": "YOUR_SERVER_SIDE_KEY" }
}
}
}Same block, in Windsurf’s MCP config file.
// ~/.gemini/settings.json
{
"mcpServers": {
"spicyapi": {
"command": "npx",
"args": ["--yes", "--package=@spicyapi/mcp", "spicyapi-mcp"],
"env": { "SPICY_API_KEY": "YOUR_SERVER_SIDE_KEY" }
}
}
}Same block, in ~/.gemini/settings.json.
// .vscode/mcp.json (committed to the repo, so prompt for the key instead of hard-coding it)
{
"inputs": [
{ "id": "spicyapi-key", "type": "promptString", "description": "SpicyAPI key", "password": true }
],
"servers": {
"spicyapi": {
"type": "stdio",
"command": "npx",
"args": ["--yes", "--package=@spicyapi/mcp", "spicyapi-mcp"],
"env": { "SPICY_API_KEY": "${input:spicyapi-key}" }
}
}
}.vscode/mcp.json is committed, so it prompts for the key instead of storing it.
// ~/.cline/mcp.json
{
"mcpServers": {
"spicyapi": {
"command": "npx",
"args": ["--yes", "--package=@spicyapi/mcp", "spicyapi-mcp"],
"env": { "SPICY_API_KEY": "YOUR_SERVER_SIDE_KEY" },
"disabled": false,
"autoApprove": []
}
}
}Add one MCP server block to ~/.cline/mcp.json and it can generate images and video directly.
# librechat.yaml — restart LibreChat after editing
mcpServers:
spicyapi:
type: stdio
command: npx
args: ["--yes", "--package=@spicyapi/mcp", "spicyapi-mcp"]
env:
SPICY_API_KEY: "${SPICY_API_KEY}"Add one entry under mcpServers in librechat.yaml, then restart LibreChat for it to connect.
grok mcp add spicyapi -- npx --yes --package=@spicyapi/mcp spicyapi-mcp
# or write ~/.grok/config.toml directly
[mcp_servers.spicyapi]
command = "npx"
args = ["--yes", "--package=@spicyapi/mcp", "spicyapi-mcp"]
env = { SPICY_API_KEY = "${SPICY_API_KEY}" }One grok mcp add is all it takes — and any MCP server you already set up for Claude Code works here too.
Third-party clients change their config formats between versions. If a snippet here stops matching, the client's own documentation wins.
Using Claude? Generate images and video from Claude →
Tools it exposes
Read-only tools are free. The two tools that spend money, and the one that deletes content, always ask you first.
FreeFree and read-only12
spicyapi_service_statusPublic health check, no key neededspicyapi_docs_searchSearch the bundled documentationspicyapi_models_listEnabled models and your pricesspicyapi_model_getOne model and its input schemaspicyapi_balance_getAvailable, held and total balancespicyapi_usage_getWhat the current key has spentspicyapi_tasks_listRecent tasks for the current keyspicyapi_task_getOne task, with ready result linksspicyapi_task_waitWait up to 5 minutes for a task to finishspicyapi_task_quotePrice an exact request without creating itspicyapi_upload_fileUpload a local file to use as inputspicyapi_download_url_createA fresh download link for a result
Asks before chargingAsks before it runs3
spicyapi_task_createStart a generation taskspicyapi_task_retryRun a failed or expired task againspicyapi_task_purgePermanently delete a finished task's content
Add the Agent Skill for the call order
The MCP server gives the agent abilities; the Agent Skill tells it how to use them: read the schema, confirm the quote, reuse one idempotency key per attempt. Claude Code and Codex support both.
npx skills add spicyapi-ai/spicy-skill \
--agent claude-codenpx skills add spicyapi-ai/spicy-skill \
--agent codex -gnpx skills add spicyapi-ai/spicy-skillFiles your agent can read
These files help assistants and integration tools find the product description, model catalogue, and canonical documentation.
agent.md
Compact agent integration contract and safety boundaries.
/agent.md →
llms.txt
Curated site and model index for AI retrieval.
/llms.txt →
llms-full.txt
Extended product, workflow, endpoint, and discovery context.
/llms-full.txt →
Agent manifest
Structured JSON discovery for tools and autonomous clients.
/api/agent →
Fix common errors
Most first-time problems are one of these three. Each card shows what you see and the one thing to change.
- tools
Tools don't show up
Restart the assistant after editing its config, and check that the JSON is valid.
- key
Missing API key
Put SPICY_API_KEY in the env block of the server's config. Desktop apps don't see a key you exported in your shell.
- ask
Can't create tasks
Your client can't show confirmation prompts. Free tools still work; use a client that supports MCP elicitation to create tasks.
