@spicyapi/mcp 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,16 +1,55 @@
1
1
  # @spicyapi/mcp
2
2
 
3
3
  Official standalone local MCP server for SpicyAPI. It exposes `spicyapi-mcp` for stdio and
4
- `spicyapi-mcp-http` for loopback-only Streamable HTTP. It does not include the CLI or Codex Skill.
4
+ `spicyapi-mcp-http` for loopback-only Streamable HTTP. It does not include the CLI or Agent Skill.
5
5
 
6
6
  ```bash
7
7
  npx --yes --package=@spicyapi/mcp spicyapi-mcp
8
8
  ```
9
9
 
10
10
  Set `SPICY_API_KEY` in the MCP process environment. Billable tools use protocol elicitation and
11
- signed request state before creating or retrying a task.
11
+ signed request state before creating or retrying a task. `spicyapi_task_quote` returns a read-only
12
+ five-minute quote. Task creation fetches and binds the exact quote before asking the user to confirm
13
+ its USD estimate and maximum charge; an agent cannot bypass that confirmation. Call creation
14
+ directly once the model input is ready; the separate quote tool is for independent price
15
+ comparisons, not a prerequisite. Reuse a full model schema already returned by the catalog. Health
16
+ and balance checks are optional diagnostics.
17
+
18
+ For usage reports, call the read-only `spicyapi_usage_get` tool with optional `from` and `to` dates
19
+ in `YYYY-MM-DD` format. It queries only the API key configured for this MCP process; there is no
20
+ user, key, or workspace override. The UTC range is `[from,to)`, up to 92 days. By default, `to` is
21
+ tomorrow UTC and `from` is seven days before `to`. Task counts are grouped by creation day and
22
+ model. `totalSpend` and each `spend` are exact decimal USD strings containing only settled actual
23
+ charges; pending holds are excluded. Late settlement can update earlier days. This is a usage
24
+ report, not account balance or remaining key budget, and is not required before generation. Observe
25
+ `Retry-After` when reporting is rate limited.
26
+
27
+ Use `spicyapi_tasks_list` to find current-key tasks after a restart or a missed callback. It returns
28
+ one page of metadata, with no inputs, result URLs, or automatic detail requests. Optional filters
29
+ are `from`, `to`, `state`, `model`, `limit`, and `cursor`. Keep the same UTC `[from,to)` dates while
30
+ paging and pass `nextCursor` unchanged; the default window is seven days ending tomorrow UTC,
31
+ maximum 92 days. Page size defaults to 20 and is capped at 100. `cost` is an exact USD string and is
32
+ final only when `settled` is true. Hidden tasks are excluded; use `spicyapi_usage_get` for settled
33
+ spend. Fetch only selected results with `spicyapi_task_get`. Do not use history for status polling
34
+ or as a prerequisite to generation.
35
+
36
+ Task retrieval, waiting, and verified v2 webhooks include ready `output.assets[].url` links. Use
37
+ those links directly without sending the API key to storage. A complete verified callback needs no
38
+ extra task lookup or download ticket; query again for pending assets or expired links. The download
39
+ URL tool remains available for legacy integrations and explicit link renewal.
40
+
41
+ `spicyapi_task_wait` uses adaptive polling by default, starting at about two seconds and backing off
42
+ to at most ten seconds. Set `intervalSeconds` only when you want a fixed interval. Waiting is
43
+ bounded to 60 seconds by default and at most 300 seconds per tool call; a local timeout does not
44
+ cancel the accepted task.
12
45
 
13
46
  The HTTP entrypoint requires a separate `SPICY_MCP_HTTP_TOKEN` of at least 32 bytes and refuses
14
47
  non-loopback binding.
15
48
 
16
49
  Client configuration: <https://spicyapi.ai/en/docs/agents>
50
+
51
+ CLI and MCP currently submit and track native tasks; they do not expose live chat token streaming.
52
+ Use the OpenAI-compatible SDK path for a token-by-token interface, or native `jobs/stream` when you
53
+ need quote confirmation and the platform event envelope.
54
+
55
+ [Chat streaming guide](https://spicyapi.ai/en/docs/quotes-and-compatibility)
@@ -0,0 +1,2 @@
1
+ export declare const MCP_VERSION = "0.2.1";
2
+ //# sourceMappingURL=package-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-version.d.ts","sourceRoot":"","sources":["../../../src/generated/package-version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,WAAW,UAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ // 构建时由 package.json 生成,不手动维护或提交。
2
+ export const MCP_VERSION = "0.2.1";
3
+ //# sourceMappingURL=package-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-version.js","sourceRoot":"","sources":["../../../src/generated/package-version.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { McpServer, type McpServerFactory } from "@modelcontextprotocol/server";
2
2
  import { SpicyClient, type SpicyClientOptions } from "@spicyapi/sdk";
3
- export declare const SPICYAPI_MCP_TOOLS: readonly ["spicyapi_service_status", "spicyapi_docs_search", "spicyapi_models_list", "spicyapi_model_get", "spicyapi_balance_get", "spicyapi_task_get", "spicyapi_task_wait", "spicyapi_upload_prepare", "spicyapi_upload_commit", "spicyapi_download_url_create", "spicyapi_task_create", "spicyapi_task_retry"];
3
+ export declare const SPICYAPI_MCP_TOOLS: readonly ["spicyapi_service_status", "spicyapi_docs_search", "spicyapi_models_list", "spicyapi_model_get", "spicyapi_balance_get", "spicyapi_usage_get", "spicyapi_tasks_list", "spicyapi_task_get", "spicyapi_task_wait", "spicyapi_upload_prepare", "spicyapi_upload_commit", "spicyapi_download_url_create", "spicyapi_task_quote", "spicyapi_task_create", "spicyapi_task_retry"];
4
4
  export interface SpicyMcpFactoryOptions {
5
5
  client?: SpicyClient;
6
6
  clientOptions?: SpicyClientOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,SAAS,EAGT,KAAK,gBAAgB,EAEtB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAKL,WAAW,EACX,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAmJvB,eAAO,MAAM,kBAAkB,mTAarB,CAAC;AAEX,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAiED,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,sBAA2B,GAAG,gBAAgB,CA+Z5F;AAED,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,sBAA2B,GAAG,SAAS,CAEpF"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,SAAS,EAGT,KAAK,gBAAgB,EAEtB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAKL,WAAW,EACX,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AA4MvB,eAAO,MAAM,kBAAkB,uXAgBrB,CAAC;AAEX,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AA+FD,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,sBAA2B,GAAG,gBAAgB,CAokB5F;AAED,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,sBAA2B,GAAG,SAAS,CAEpF"}
@@ -1,16 +1,26 @@
1
+ import { MCP_VERSION } from "../generated/package-version.js";
1
2
  import { createHash, randomBytes, randomUUID } from "node:crypto";
2
3
  import { acceptedContent, createRequestStateCodec, inputRequired, inputResponse, McpServer, } from "@modelcontextprotocol/server";
3
4
  import { z } from "zod";
4
5
  import { DOCUMENTATION, readOpenApiContract, searchDocumentation, SpicyApiError, SpicyClient, } from "@spicyapi/sdk";
5
6
  const SERVER_NAME = "spicyapi";
6
- const SERVER_VERSION = "0.1.0";
7
+ const SERVER_VERSION = MCP_VERSION;
7
8
  const CONFIRMATION_KEY = "confirm_billable_operation";
8
9
  const emptySchema = z.object({});
9
10
  const confirmationSchema = z.object({ confirm: z.boolean() });
10
11
  const unknownObjectSchema = z.record(z.string(), z.unknown());
11
12
  const usdStringSchema = z.string().regex(/^-?[0-9]+(?:\.[0-9]+)?$/);
12
13
  const taskStateSchema = z.enum(["queued", "running", "succeeded", "failed", "canceled", "expired"]);
13
- const uploadContentTypeSchema = z.enum(["image/jpeg", "image/png", "image/webp", "image/gif"]);
14
+ const uploadContentTypeSchema = z.enum([
15
+ "image/jpeg",
16
+ "image/png",
17
+ "image/webp",
18
+ "image/gif",
19
+ "video/mp4",
20
+ "video/webm",
21
+ "audio/mpeg",
22
+ "audio/wav",
23
+ ]);
14
24
  const documentationEntrySchema = z
15
25
  .object({
16
26
  slug: z.string(),
@@ -85,6 +95,37 @@ const modelListSchema = z
85
95
  const balanceSchema = z
86
96
  .object({ available: usdStringSchema, held: usdStringSchema, total: usdStringSchema })
87
97
  .passthrough();
98
+ const taskListSchema = z.object({
99
+ items: z.array(z.object({
100
+ taskId: z.string(),
101
+ model: z.string(),
102
+ state: taskStateSchema,
103
+ cost: usdStringSchema,
104
+ settled: z.boolean(),
105
+ createdAt: z.string(),
106
+ deadlineAt: z.string(),
107
+ completedAt: z.string().optional(),
108
+ })),
109
+ hasMore: z.boolean(),
110
+ nextCursor: z.string().optional(),
111
+ });
112
+ const usageCountsSchema = z.object({
113
+ calls: z.number().int().nonnegative(),
114
+ succeeded: z.number().int().nonnegative(),
115
+ failed: z.number().int().nonnegative(),
116
+ spend: usdStringSchema.describe("Settled actual charges in USD; excludes pending holds."),
117
+ });
118
+ const usageReportSchema = z
119
+ .object({
120
+ from: z.iso.date(),
121
+ to: z.iso.date(),
122
+ currency: z.literal("USD"),
123
+ totalCalls: z.number().int().nonnegative(),
124
+ totalSpend: usdStringSchema,
125
+ days: z.array(usageCountsSchema.extend({ day: z.iso.date() }).passthrough()),
126
+ models: z.array(usageCountsSchema.extend({ model: z.string() }).passthrough()),
127
+ })
128
+ .passthrough();
88
129
  const taskRecordSchema = z
89
130
  .object({
90
131
  taskId: z.string(),
@@ -118,6 +159,9 @@ const uploadedFileSchema = z
118
159
  status: z.literal("ready"),
119
160
  bytes: z.number().int().positive(),
120
161
  contentType: uploadContentTypeSchema,
162
+ durationSeconds: z.string().optional(),
163
+ width: z.number().int().positive().optional(),
164
+ height: z.number().int().positive().optional(),
121
165
  sha256: z.string().regex(/^[a-f0-9]{64}$/),
122
166
  uri: z.string(),
123
167
  expiresAt: z.string(),
@@ -137,9 +181,20 @@ const confirmedRetryTaskResultSchema = retryTaskResultSchema.extend({ idempotenc
137
181
  function resultOf(result) {
138
182
  return z.object({ result });
139
183
  }
184
+ const taskQuoteSchema = z.object({
185
+ quoteId: z.string(),
186
+ model: z.string(),
187
+ estimatedCost: usdStringSchema,
188
+ maxCharge: usdStringSchema,
189
+ currency: z.literal("USD"),
190
+ quantity: z.string(),
191
+ unit: z.string(),
192
+ expiresAt: z.string(),
193
+ });
140
194
  const billableStateSchema = z.object({
141
195
  action: z.enum(["create_task", "retry_task"]),
142
196
  fingerprint: z.string(),
197
+ quote: taskQuoteSchema.optional(),
143
198
  idempotencyKey: z.string(),
144
199
  });
145
200
  export const SPICYAPI_MCP_TOOLS = [
@@ -148,11 +203,14 @@ export const SPICYAPI_MCP_TOOLS = [
148
203
  "spicyapi_models_list",
149
204
  "spicyapi_model_get",
150
205
  "spicyapi_balance_get",
206
+ "spicyapi_usage_get",
207
+ "spicyapi_tasks_list",
151
208
  "spicyapi_task_get",
152
209
  "spicyapi_task_wait",
153
210
  "spicyapi_upload_prepare",
154
211
  "spicyapi_upload_commit",
155
212
  "spicyapi_download_url_create",
213
+ "spicyapi_task_quote",
156
214
  "spicyapi_task_create",
157
215
  "spicyapi_task_retry",
158
216
  ];
@@ -162,6 +220,37 @@ function jsonResult(value) {
162
220
  structuredContent: { result: value },
163
221
  };
164
222
  }
223
+ // 公开 input schema 上挂着两类不是 JSON Schema 的扩展键:
224
+ //
225
+ // - x-ui 给网页表单看的展示提示(控件、排序、单位、可见条件)
226
+ // - x-pricing 计价维度(档位字段与计价形态)
227
+ // - x-order-properties 已废除的根级字段顺序,只可能出现在旧数据里
228
+ //
229
+ // 三者对「照着 schema 拼出一个合法 input」这件事一点用都没有,却占掉整份
230
+ // 目录响应约三分之一的字节——在 MCP 这一侧那是直接烧掉调用方的上下文窗口。
231
+ // x-pricing 还额外把内部的计价形态透给每一个集成方。返回前一律递归剥掉,
232
+ // 只留纯 JSON Schema;「哪些字段会改变价格」这件事由工具描述用一句话讲清楚。
233
+ const SCHEMA_INTERNAL_KEYS = new Set(["x-ui", "x-pricing", "x-order-properties"]);
234
+ function stripSchemaInternals(value) {
235
+ if (Array.isArray(value))
236
+ return value.map(stripSchemaInternals);
237
+ if (value === null || typeof value !== "object")
238
+ return value;
239
+ const plain = {};
240
+ for (const [key, nested] of Object.entries(value)) {
241
+ if (SCHEMA_INTERNAL_KEYS.has(key))
242
+ continue;
243
+ plain[key] = stripSchemaInternals(nested);
244
+ }
245
+ return plain;
246
+ }
247
+ // 只处理 inputSchema:examples[].input 是调用方原样复制的请求体,
248
+ // 不能替他们改写。
249
+ function withPlainInputSchema(model) {
250
+ if (model.inputSchema === undefined || model.inputSchema === null)
251
+ return model;
252
+ return { ...model, inputSchema: stripSchemaInternals(model.inputSchema) };
253
+ }
165
254
  function toolError(error) {
166
255
  if (error instanceof SpicyApiError) {
167
256
  const details = {
@@ -226,7 +315,7 @@ export function createSpicyMcpFactory(options = {}) {
226
315
  });
227
316
  return () => {
228
317
  const server = new McpServer({ name: SERVER_NAME, version: SERVER_VERSION }, {
229
- instructions: "Use the live model catalog as the only source of model IDs and input schemas. Task creation and retry can reserve funds and always require user confirmation. Never invent cancellation or task-list APIs; they are not part of the public contract.",
318
+ instructions: "Use the live model catalog as the only source of model IDs and input schemas; reuse a complete model record already obtained in this workflow. Task creation quotes internally and requires user confirmation; do not call the separate quote tool first unless comparing prices. Retry also requires confirmation. Read ready output.assets[].url directly without a download-ticket call. Health and balance tools are optional diagnostics. Never invent cancellation or task-list APIs; they are not part of the public contract.",
230
319
  cacheHints: {
231
320
  "tools/list": { ttlMs: 60_000, cacheScope: "private" },
232
321
  "resources/list": { ttlMs: 300_000, cacheScope: "public" },
@@ -249,15 +338,44 @@ export function createSpicyMcpFactory(options = {}) {
249
338
  }
250
339
  const confirmation = acceptedContent(ctx.mcpReq.inputResponses, CONFIRMATION_KEY, confirmationSchema);
251
340
  if (state && confirmation?.confirm === true) {
252
- return safely(() => execute(state.idempotencyKey));
341
+ try {
342
+ return jsonResult(await execute(state.idempotencyKey, state.quote));
343
+ }
344
+ catch (error) {
345
+ const result = toolError(error);
346
+ result.content.push({
347
+ type: "text",
348
+ text: JSON.stringify({
349
+ idempotencyKey: state.idempotencyKey,
350
+ recovery: "Reuse this idempotencyKey with the unchanged request after an uncertain response.",
351
+ }),
352
+ });
353
+ return result;
354
+ }
253
355
  }
254
356
  const suppliedKey = typeof args.idempotencyKey === "string" ? args.idempotencyKey : undefined;
255
357
  const idempotencyKey = state?.idempotencyKey ?? suppliedKey ?? randomUUID();
256
- const requestState = await codec.mint({ action, fingerprint: expectedFingerprint, idempotencyKey }, ctx);
358
+ let quote = state?.quote;
359
+ if (action === "create_task" && !quote) {
360
+ try {
361
+ quote = taskQuoteSchema.parse(await client.quoteTask({
362
+ model: String(args.model),
363
+ input: args.input,
364
+ ...(typeof args.callBackUrl === "string" ? { callBackUrl: args.callBackUrl } : {}),
365
+ }, { signal: ctx.mcpReq.signal }));
366
+ }
367
+ catch (error) {
368
+ return toolError(error);
369
+ }
370
+ }
371
+ const quoteMessage = quote
372
+ ? ` Estimated charge: USD ${quote.estimatedCost}; maximum charge: USD ${quote.maxCharge}. Quote expires: ${quote.expiresAt}.`
373
+ : "";
374
+ const requestState = await codec.mint({ action, fingerprint: expectedFingerprint, idempotencyKey, ...(quote ? { quote } : {}) }, ctx);
257
375
  return inputRequired({
258
376
  inputRequests: {
259
377
  [CONFIRMATION_KEY]: inputRequired.elicit({
260
- message: `${message} The current model schema, price, operational API-key scope, balance, and routing are evaluated when accepted. The caller-declared mature value is forwarded without a platform content gate. Idempotency-Key: ${idempotencyKey}`,
378
+ message: `${message}${quoteMessage} The current model schema, price, operational API-key scope, balance, and routing are evaluated when accepted. Idempotency-Key: ${idempotencyKey}`,
261
379
  requestedSchema: confirmationSchema,
262
380
  }),
263
381
  },
@@ -266,7 +384,7 @@ export function createSpicyMcpFactory(options = {}) {
266
384
  }
267
385
  server.registerTool("spicyapi_service_status", {
268
386
  title: "Check SpicyAPI service status",
269
- description: "Read public health and readiness endpoints. No API key is required.",
387
+ description: "Read public health and readiness endpoints for diagnostics or an explicit status request. Not a prerequisite for task creation. No API key is required.",
270
388
  inputSchema: emptySchema,
271
389
  outputSchema: resultOf(serviceStatusSchema),
272
390
  annotations: {
@@ -293,7 +411,10 @@ export function createSpicyMcpFactory(options = {}) {
293
411
  }, ({ query, limit }) => jsonResult(searchDocumentation(query, limit)));
294
412
  server.registerTool("spicyapi_models_list", {
295
413
  title: "List callable SpicyAPI models",
296
- description: "Return enabled models and account-specific prices. Use includeSchema before creating a task.",
414
+ description: "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. " +
415
+ "Returned input schemas are plain JSON Schema; display-only and rate-card annotations are removed. " +
416
+ "Some input values change the price; task_create obtains the exact request quote for confirmation. " +
417
+ "Use pricing entries for comparisons rather than calculating the accepted charge yourself.",
297
418
  inputSchema: z.object({
298
419
  modality: z.enum(["image", "video", "audio", "text"]).optional(),
299
420
  provider: z.string().optional(),
@@ -309,10 +430,16 @@ export function createSpicyMcpFactory(options = {}) {
309
430
  idempotentHint: true,
310
431
  openWorldHint: true,
311
432
  },
312
- }, async (args, ctx) => safely(() => client.listModels({ ...args, signal: ctx.mcpReq.signal })));
433
+ }, async (args, ctx) => safely(async () => {
434
+ const list = await client.listModels({ ...args, signal: ctx.mcpReq.signal });
435
+ return { ...list, items: list.items.map(withPlainInputSchema) };
436
+ }));
313
437
  server.registerTool("spicyapi_model_get", {
314
438
  title: "Get one SpicyAPI model",
315
- description: "Return one exact model, its live input schema, pricing, policy and availability.",
439
+ description: "Return one exact model, its live input schema, pricing, policy and availability. Reuse a complete record already obtained from models_list with includeSchema. " +
440
+ "The input schema is plain JSON Schema; display-only and rate-card annotations are removed. " +
441
+ "Some input values change the price; task_create obtains the exact request quote for confirmation. " +
442
+ "Use pricing entries for comparisons rather than calculating the accepted charge yourself.",
316
443
  inputSchema: z.object({ model: z.string().min(1) }),
317
444
  outputSchema: resultOf(apiModelSchema),
318
445
  annotations: {
@@ -321,10 +448,10 @@ export function createSpicyMcpFactory(options = {}) {
321
448
  idempotentHint: true,
322
449
  openWorldHint: true,
323
450
  },
324
- }, async ({ model }, ctx) => safely(() => client.getModel(model, { signal: ctx.mcpReq.signal })));
451
+ }, async ({ model }, ctx) => safely(async () => withPlainInputSchema(await client.getModel(model, { signal: ctx.mcpReq.signal }))));
325
452
  server.registerTool("spicyapi_balance_get", {
326
- title: "Get SpicyAPI credit balance",
327
- description: "Return available, held, and total credit as exact decimal USD strings.",
453
+ title: "Get SpicyAPI USD balance",
454
+ description: "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.",
328
455
  inputSchema: emptySchema,
329
456
  outputSchema: resultOf(balanceSchema),
330
457
  annotations: {
@@ -334,9 +461,73 @@ export function createSpicyMcpFactory(options = {}) {
334
461
  openWorldHint: true,
335
462
  },
336
463
  }, async (_args, ctx) => safely(() => client.getBalance({ signal: ctx.mcpReq.signal })));
464
+ server.registerTool("spicyapi_usage_get", {
465
+ title: "Get current SpicyAPI key usage",
466
+ description: "Read task counts and settled actual USD spend for the current API key, grouped by creation day and model. " +
467
+ "Only from/to dates are accepted: UTC [from,to), at most 92 days; defaults to seven days ending tomorrow UTC. " +
468
+ "Money is returned as exact decimal strings; pending holds are excluded and late settlement can change prior-day spend. " +
469
+ "This is not account balance or remaining key budget, and is not a generation prerequisite. " +
470
+ "Use for requested usage reports; respect Retry-After on rate limits.",
471
+ inputSchema: z
472
+ .object({
473
+ from: z.iso
474
+ .date()
475
+ .optional()
476
+ .describe("Inclusive UTC date, YYYY-MM-DD. Defaults to seven days before to."),
477
+ to: z.iso
478
+ .date()
479
+ .optional()
480
+ .describe("Exclusive UTC date, YYYY-MM-DD. Defaults to tomorrow UTC."),
481
+ })
482
+ .strict(),
483
+ outputSchema: resultOf(usageReportSchema),
484
+ annotations: {
485
+ readOnlyHint: true,
486
+ destructiveHint: false,
487
+ idempotentHint: true,
488
+ openWorldHint: true,
489
+ },
490
+ }, async ({ from, to }, ctx) => safely(() => client.getUsage({
491
+ ...(from === undefined ? {} : { from }),
492
+ ...(to === undefined ? {} : { to }),
493
+ signal: ctx.mcpReq.signal,
494
+ })));
495
+ server.registerTool("spicyapi_tasks_list", {
496
+ title: "List current SpicyAPI key tasks",
497
+ description: "Discover current-key task history with metadata only, without fetching each result. " +
498
+ "Dates are UTC [from,to), default seven days, at most 92 days. Keep from/to fixed across pages and pass nextCursor unchanged. " +
499
+ "Limit defaults to 20, maximum 100. Cost is an exact USD string and is final only when settled. " +
500
+ "Use task_get only for selected results; use usage_get for settled spending including hidden tasks. " +
501
+ "This is not a polling endpoint or a prerequisite to generation.",
502
+ inputSchema: z
503
+ .object({
504
+ from: z.iso.date().optional(),
505
+ to: z.iso.date().optional(),
506
+ state: taskStateSchema.optional(),
507
+ model: z.string().min(1).optional(),
508
+ limit: z.number().int().min(1).max(100).optional(),
509
+ cursor: z.string().min(1).optional(),
510
+ })
511
+ .strict(),
512
+ outputSchema: resultOf(taskListSchema),
513
+ annotations: {
514
+ readOnlyHint: true,
515
+ destructiveHint: false,
516
+ idempotentHint: true,
517
+ openWorldHint: true,
518
+ },
519
+ }, async ({ from, to, state, model, limit, cursor }, ctx) => safely(() => client.listTasks({
520
+ ...(from === undefined ? {} : { from }),
521
+ ...(to === undefined ? {} : { to }),
522
+ ...(state === undefined ? {} : { state }),
523
+ ...(model === undefined ? {} : { model }),
524
+ ...(limit === undefined ? {} : { limit }),
525
+ ...(cursor === undefined ? {} : { cursor }),
526
+ signal: ctx.mcpReq.signal,
527
+ })));
337
528
  server.registerTool("spicyapi_task_get", {
338
529
  title: "Get a SpicyAPI task",
339
- description: "Read a task created by the current API key. Unknown and inaccessible IDs are both 404.",
530
+ description: "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.",
340
531
  inputSchema: z.object({ taskId: z.string().min(1) }),
341
532
  outputSchema: resultOf(taskRecordSchema),
342
533
  annotations: {
@@ -348,10 +539,16 @@ export function createSpicyMcpFactory(options = {}) {
348
539
  }, async ({ taskId }, ctx) => safely(() => client.getTask(taskId, { signal: ctx.mcpReq.signal })));
349
540
  server.registerTool("spicyapi_task_wait", {
350
541
  title: "Wait briefly for a SpicyAPI task",
351
- description: "Poll a task to a terminal state for up to 300 seconds. Prefer signed webhooks for production.",
542
+ description: "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.",
352
543
  inputSchema: z.object({
353
544
  taskId: z.string().min(1),
354
- intervalSeconds: z.number().int().min(1).max(60).default(2),
545
+ intervalSeconds: z
546
+ .number()
547
+ .int()
548
+ .min(1)
549
+ .max(60)
550
+ .optional()
551
+ .describe("Fixed polling interval in seconds. Omit to use adaptive SDK backoff from about 2 to at most 10 seconds."),
355
552
  timeoutSeconds: z.number().int().min(1).max(300).default(60),
356
553
  }),
357
554
  outputSchema: resultOf(taskRecordSchema),
@@ -362,15 +559,24 @@ export function createSpicyMcpFactory(options = {}) {
362
559
  openWorldHint: true,
363
560
  },
364
561
  }, async ({ taskId, intervalSeconds, timeoutSeconds }, ctx) => safely(() => client.waitForTask(taskId, {
365
- intervalMs: intervalSeconds * 1_000,
562
+ ...(intervalSeconds === undefined ? {} : { intervalMs: intervalSeconds * 1_000 }),
366
563
  timeoutMs: timeoutSeconds * 1_000,
367
564
  signal: ctx.mcpReq.signal,
368
565
  })));
369
566
  server.registerTool("spicyapi_upload_prepare", {
370
567
  title: "Prepare a direct SpicyAPI upload",
371
- description: "Create a short-lived presigned PUT ticket. Never attach the SpicyAPI key to the returned URL.",
568
+ description: "Create a short-lived presigned PUT ticket for local media. Existing public HTTPS media URLs can be used directly when the model schema supports them. Prefer SDK uploadFile or CLI files upload for a complete local-file upload. Never attach the SpicyAPI key to the returned URL.",
372
569
  inputSchema: z.object({
373
- contentType: z.enum(["image/jpeg", "image/png", "image/webp", "image/gif"]),
570
+ contentType: z.enum([
571
+ "image/jpeg",
572
+ "image/png",
573
+ "image/webp",
574
+ "image/gif",
575
+ "video/mp4",
576
+ "video/webm",
577
+ "audio/mpeg",
578
+ "audio/wav",
579
+ ]),
374
580
  bytes: z.number().int().positive(),
375
581
  }),
376
582
  outputSchema: resultOf(uploadTicketSchema),
@@ -395,7 +601,7 @@ export function createSpicyMcpFactory(options = {}) {
395
601
  }, async ({ fileId }, ctx) => safely(() => client.commitUploadedFile(fileId, { signal: ctx.mcpReq.signal })));
396
602
  server.registerTool("spicyapi_download_url_create", {
397
603
  title: "Create a SpicyAPI output download URL",
398
- description: "Create a short-lived signed URL for an output owned by the current task and API key.",
604
+ description: "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.",
399
605
  inputSchema: z.object({ taskId: z.string().min(1), key: z.string().optional() }),
400
606
  outputSchema: resultOf(downloadTicketSchema),
401
607
  annotations: {
@@ -409,15 +615,23 @@ export function createSpicyMcpFactory(options = {}) {
409
615
  model: z.string().min(1),
410
616
  input: z.record(z.string(), z.unknown()),
411
617
  callBackUrl: z.string().optional(),
412
- mature: z
413
- .boolean()
414
- .default(false)
415
- .describe("Caller-declared execution metadata forwarded without account, API-key, model, channel, or platform content gating."),
416
618
  idempotencyKey: z.string().min(1).optional(),
417
619
  });
620
+ server.registerTool("spicyapi_task_quote", {
621
+ title: "Quote an exact SpicyAPI request",
622
+ description: "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.",
623
+ inputSchema: createTaskSchema.omit({ idempotencyKey: true }),
624
+ outputSchema: resultOf(taskQuoteSchema),
625
+ annotations: {
626
+ readOnlyHint: true,
627
+ destructiveHint: false,
628
+ idempotentHint: true,
629
+ openWorldHint: true,
630
+ },
631
+ }, async (args, ctx) => safely(() => client.quoteTask(args, { signal: ctx.mcpReq.signal })));
418
632
  server.registerTool("spicyapi_task_create", {
419
633
  title: "Create a billable SpicyAPI task",
420
- description: "Reserve the estimate and create an asynchronous task. The mature field is transparent execution metadata, not a platform entitlement check. Requires a user confirmation round.",
634
+ description: "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.",
421
635
  inputSchema: createTaskSchema,
422
636
  outputSchema: resultOf(confirmedCreateTaskResultSchema),
423
637
  annotations: {
@@ -426,15 +640,20 @@ export function createSpicyMcpFactory(options = {}) {
426
640
  idempotentHint: true,
427
641
  openWorldHint: true,
428
642
  },
429
- }, async (args, ctx) => requireBillableConfirmation("create_task", args, ctx, `Create a billable task using ${args.model}?`, async (idempotencyKey) => ({
430
- idempotencyKey,
431
- ...(await client.createTask({
432
- model: args.model,
433
- input: args.input,
434
- ...(args.callBackUrl === undefined ? {} : { callBackUrl: args.callBackUrl }),
435
- mature: args.mature,
436
- }, { idempotencyKey, signal: ctx.mcpReq.signal })),
437
- })));
643
+ }, async (args, ctx) => requireBillableConfirmation("create_task", args, ctx, `Create a billable task using ${args.model}?`, async (idempotencyKey, quote) => {
644
+ if (!quote)
645
+ throw new Error("confirmed quote is missing; request a new confirmation");
646
+ return {
647
+ idempotencyKey,
648
+ ...(await client.createTask({
649
+ model: args.model,
650
+ input: args.input,
651
+ ...(args.callBackUrl === undefined ? {} : { callBackUrl: args.callBackUrl }),
652
+ quoteId: quote.quoteId,
653
+ expectedCost: quote.estimatedCost,
654
+ }, { idempotencyKey, signal: ctx.mcpReq.signal })),
655
+ };
656
+ }));
438
657
  const retryTaskSchema = z.object({
439
658
  taskId: z.string().min(1),
440
659
  idempotencyKey: z.string().min(1).optional(),
@@ -480,7 +699,7 @@ export function createSpicyMcpFactory(options = {}) {
480
699
  }));
481
700
  server.registerPrompt("spicyapi_generation_workflow", {
482
701
  title: "Plan a safe SpicyAPI generation",
483
- description: "Build a workflow that discovers the live schema before requesting a billable task.",
702
+ description: "Build a workflow using the live model schema, confirmed task creation, and directly usable results.",
484
703
  argsSchema: z.object({ goal: z.string().min(1), model: z.string().optional() }),
485
704
  }, ({ goal, model }) => ({
486
705
  messages: [
@@ -488,7 +707,7 @@ export function createSpicyMcpFactory(options = {}) {
488
707
  role: "user",
489
708
  content: {
490
709
  type: "text",
491
- text: `Goal: ${goal}\n${model ? `Candidate model: ${model}\n` : ""}Use spicyapi_models_list or spicyapi_model_get to read the live input schema and account-specific price. Do not invent fields. Explain the expected hold and ask for confirmation before spicyapi_task_create. Prefer a verified webhook for long tasks; use polling only as a bounded fallback. Exchange output keys for short-lived download URLs and copy durable results to storage the user controls.`,
710
+ text: `Goal: ${goal}\n${model ? `Candidate model: ${model}\n` : ""}Use spicyapi_models_list to discover a model, then spicyapi_model_get only if its full live input schema is not already available. Do not invent fields. Call spicyapi_task_create directly: it obtains the exact quote and requests confirmation of the USD estimate and maximum charge. Use the separate quote tool only for price comparisons, and health/balance tools only when requested or diagnosing a problem. Preserve the logical idempotency key and accepted task ID. Prefer a verified webhook for long tasks; otherwise use bounded task_wait. A complete verified v2 webhook needs no extra task_get. Use ready output.assets[].url directly without sending the API key to storage; poll only for pending assets or expired URLs. Copy durable results to storage the user controls.`,
492
711
  },
493
712
  },
494
713
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spicyapi/mcp",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "Official local MCP server for the SpicyAPI public API",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -46,13 +46,13 @@
46
46
  "LICENSE"
47
47
  ],
48
48
  "scripts": {
49
- "build": "tsc -p tsconfig.json",
50
- "typecheck": "tsc -p tsconfig.json --noEmit"
49
+ "build": "node ../../scripts/generate-package-version.mjs mcp && tsc -p tsconfig.json",
50
+ "typecheck": "node ../../scripts/generate-package-version.mjs mcp && tsc -p tsconfig.json --noEmit"
51
51
  },
52
52
  "dependencies": {
53
53
  "@modelcontextprotocol/node": "2.0.0",
54
54
  "@modelcontextprotocol/server": "2.0.0",
55
- "@spicyapi/sdk": "^0.1.0",
55
+ "@spicyapi/sdk": "^0.3.0",
56
56
  "zod": "4.5.4"
57
57
  }
58
58
  }