@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 +41 -2
- package/dist/src/generated/package-version.d.ts +2 -0
- package/dist/src/generated/package-version.d.ts.map +1 -0
- package/dist/src/generated/package-version.js +3 -0
- package/dist/src/generated/package-version.js.map +1 -0
- package/dist/src/mcp/server.d.ts +1 -1
- package/dist/src/mcp/server.d.ts.map +1 -1
- package/dist/src/mcp/server.js +255 -36
- package/dist/src/mcp/server.js.map +1 -1
- package/package.json +4 -4
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
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|
package/dist/src/mcp/server.d.ts
CHANGED
|
@@ -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":"
|
|
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"}
|
package/dist/src/mcp/server.js
CHANGED
|
@@ -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 =
|
|
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([
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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: "
|
|
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(() =>
|
|
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
|
|
327
|
-
description: "Return available, held, and total
|
|
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: "
|
|
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
|
|
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([
|
|
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: "
|
|
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
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
...(
|
|
435
|
-
|
|
436
|
-
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
55
|
+
"@spicyapi/sdk": "^0.3.0",
|
|
56
56
|
"zod": "4.5.4"
|
|
57
57
|
}
|
|
58
58
|
}
|