@runapi.ai/flux-kontext-mcp 0.1.0 → 0.1.2
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/data/contract.json +1 -5
- package/data/pricing.json +4 -8
- package/dist/bin/flux-kontext-mcp.js +0 -1
- package/dist/bin/flux-kontext-mcp.js.map +1 -1
- package/dist/src/data.js +0 -1
- package/dist/src/data.js.map +1 -1
- package/dist/src/index.js +0 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/meta.d.ts +1 -1
- package/dist/src/meta.js +1 -2
- package/dist/src/meta.js.map +1 -1
- package/dist/src/server.js +36 -12
- package/dist/src/server.js.map +1 -1
- package/examples/claude.mcp.json +0 -1
- package/examples/cursor.mcp.json +0 -1
- package/examples/roo.mcp.json +0 -1
- package/examples/vscode.mcp.json +0 -1
- package/examples/windsurf.mcp.json +0 -1
- package/package.json +2 -3
- package/server.json +3 -6
package/data/contract.json
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_generated": "DO NOT EDIT — generated by `bin/rails mcp:generate`. Re-run to update.",
|
|
3
|
-
"generated_by": "ContractExporter (ADR-0006)",
|
|
4
2
|
"catalog_models": [
|
|
5
3
|
"flux-kontext-max",
|
|
6
4
|
"flux-kontext-pro"
|
|
7
5
|
],
|
|
8
6
|
"actions": {
|
|
9
7
|
"flux-kontext/text-to-image": {
|
|
10
|
-
"provider": "Black Forest Labs",
|
|
11
8
|
"model": "Flux Kontext",
|
|
12
9
|
"endpoint": "text_to_image",
|
|
13
10
|
"models": [
|
|
@@ -129,6 +126,5 @@
|
|
|
129
126
|
}
|
|
130
127
|
}
|
|
131
128
|
}
|
|
132
|
-
}
|
|
133
|
-
"unresolved_actions": []
|
|
129
|
+
}
|
|
134
130
|
}
|
package/data/pricing.json
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_generated": "DO NOT EDIT — generated by `bin/rails mcp:generate`. Re-run to update.",
|
|
3
|
-
"markup_rate": 2.0,
|
|
4
|
-
"provider_markup": {},
|
|
5
|
-
"endpoint_markup": {},
|
|
6
2
|
"endpoints": {
|
|
7
|
-
"
|
|
8
|
-
"
|
|
3
|
+
"flux-kontext-max/text_to_image": {
|
|
4
|
+
"unit_price_cents": 10
|
|
9
5
|
},
|
|
10
|
-
"
|
|
11
|
-
"
|
|
6
|
+
"flux-kontext-pro/text_to_image": {
|
|
7
|
+
"unit_price_cents": 5
|
|
12
8
|
}
|
|
13
9
|
}
|
|
14
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flux-kontext-mcp.js","sourceRoot":"","sources":["../../bin/flux-kontext-mcp.ts"],"names":[],"mappings":";AACA,
|
|
1
|
+
{"version":3,"file":"flux-kontext-mcp.js","sourceRoot":"","sources":["../../bin/flux-kontext-mcp.ts"],"names":[],"mappings":";AACA,OAAO,iBAAiB,CAAC"}
|
package/dist/src/data.js
CHANGED
package/dist/src/data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/data.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,SAAS,QAAQ;IACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC;KACpC,CAAC;IAEF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/F,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAa,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAkB,CAAC;AAClG,CAAC"}
|
package/dist/src/index.js
CHANGED
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AACA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;AAC9B,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC"}
|
package/dist/src/meta.d.ts
CHANGED
package/dist/src/meta.js
CHANGED
package/dist/src/meta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.js","sourceRoot":"","sources":["../../src/meta.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"meta.js","sourceRoot":"","sources":["../../src/meta.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,IAAI,EAAE,6BAA6B;IACnC,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,cAAc;CAChB,CAAC"}
|
package/dist/src/server.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
// DO NOT EDIT — generated by `bin/rails mcp:generate`. Re-run to update.
|
|
2
1
|
import { z } from "zod";
|
|
3
|
-
import { createModelServer, findModelForAction, friendlyError, jsonText, priceForModel, RunApiClient, taskStatus } from "@runapi.ai/mcp-core";
|
|
2
|
+
import { createModelServer, findModelForAction, findModels, friendlyError, jsonText, priceForModel, RunApiClient, taskStatus } from "@runapi.ai/mcp-core";
|
|
4
3
|
import { readContract, readPricing } from "./data.js";
|
|
5
4
|
import { META } from "./meta.js";
|
|
6
5
|
const RESERVED_FIELDS = new Set(["model", "rules"]);
|
|
@@ -23,9 +22,13 @@ function lineModels(contract) {
|
|
|
23
22
|
}
|
|
24
23
|
return [...seen];
|
|
25
24
|
}
|
|
25
|
+
// No-model endpoints (models: []) carry their fields under the "_" roster.
|
|
26
|
+
function rostersForAction(action) {
|
|
27
|
+
return action.models.length > 0 ? action.models : ["_"];
|
|
28
|
+
}
|
|
26
29
|
function fieldsForAction(action) {
|
|
27
30
|
const fields = {};
|
|
28
|
-
for (const model of action
|
|
31
|
+
for (const model of rostersForAction(action)) {
|
|
29
32
|
const roster = action.fields_by_model[model] ?? {};
|
|
30
33
|
for (const [name, field] of Object.entries(roster)) {
|
|
31
34
|
if (RESERVED_FIELDS.has(name)) {
|
|
@@ -39,7 +42,7 @@ function fieldsForAction(action) {
|
|
|
39
42
|
return fields;
|
|
40
43
|
}
|
|
41
44
|
function rulesForAction(action) {
|
|
42
|
-
for (const model of action
|
|
45
|
+
for (const model of rostersForAction(action)) {
|
|
43
46
|
const roster = action.fields_by_model[model] ?? {};
|
|
44
47
|
const rules = roster.rules;
|
|
45
48
|
if (Array.isArray(rules) && rules.length > 0) {
|
|
@@ -91,18 +94,39 @@ function registerLineTools(server, contract, pricing, client) {
|
|
|
91
94
|
});
|
|
92
95
|
server.tool("check_pricing", `Look up RunAPI pricing for the ${META.lineSlug} model line.`, {
|
|
93
96
|
model: modelEnum.optional().describe("Model slug. Defaults to the line's primary model."),
|
|
94
|
-
action: endpointEnum.optional().describe("Endpoint name. Defaults to the
|
|
97
|
+
action: endpointEnum.optional().describe("Endpoint name. Defaults to the endpoint that offers the model.")
|
|
95
98
|
}, async ({ model, action }) => {
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
99
|
+
const noMatch = { supported: false, message: "No matching model/endpoint in this model line." };
|
|
100
|
+
// Explicit endpoint: price exactly that model on that endpoint.
|
|
101
|
+
if (action) {
|
|
102
|
+
const info = findModelForAction(service, action, model, contract);
|
|
103
|
+
return info
|
|
104
|
+
? jsonText({ supported: true, model: info.model, service: info.service, action: info.action, price: priceForModel(info, pricing) })
|
|
105
|
+
: jsonText(noMatch);
|
|
106
|
+
}
|
|
107
|
+
// No endpoint and no model: price the line's primary model/endpoint.
|
|
108
|
+
if (!model) {
|
|
109
|
+
const info = findModelForAction(service, endpoints[0], undefined, contract);
|
|
110
|
+
return info
|
|
111
|
+
? jsonText({ supported: true, model: info.model, service: info.service, action: info.action, price: priceForModel(info, pricing) })
|
|
112
|
+
: jsonText(noMatch);
|
|
113
|
+
}
|
|
114
|
+
// No endpoint named: a model may be offered on several endpoints at
|
|
115
|
+
// different prices, so report every endpoint that offers it rather than
|
|
116
|
+
// silently pricing only the first one found.
|
|
117
|
+
const matches = findModels(model, contract);
|
|
118
|
+
if (matches.length === 0) {
|
|
119
|
+
return jsonText(noMatch);
|
|
120
|
+
}
|
|
121
|
+
if (matches.length === 1) {
|
|
122
|
+
const info = matches[0];
|
|
123
|
+
return jsonText({ supported: true, model: info.model, service: info.service, action: info.action, price: priceForModel(info, pricing) });
|
|
99
124
|
}
|
|
100
125
|
return jsonText({
|
|
101
126
|
supported: true,
|
|
102
|
-
model:
|
|
103
|
-
service:
|
|
104
|
-
action: info.action,
|
|
105
|
-
price: priceForModel(info, pricing)
|
|
127
|
+
model: matches[0].model,
|
|
128
|
+
service: matches[0].service,
|
|
129
|
+
endpoints: matches.map((info) => ({ action: info.action, price: priceForModel(info, pricing) }))
|
|
106
130
|
});
|
|
107
131
|
});
|
|
108
132
|
}
|
package/dist/src/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
package/examples/claude.mcp.json
CHANGED
package/examples/cursor.mcp.json
CHANGED
package/examples/roo.mcp.json
CHANGED
package/examples/vscode.mcp.json
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_generated": "DO NOT EDIT — generated by `bin/rails mcp:generate`. Re-run to update.",
|
|
3
2
|
"name": "@runapi.ai/flux-kontext-mcp",
|
|
4
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
5
4
|
"description": "RunAPI MCP server for one model line: create tasks, poll status, and check pricing with one API key.",
|
|
6
5
|
"type": "module",
|
|
7
6
|
"main": "dist/src/index.js",
|
|
@@ -45,7 +44,7 @@
|
|
|
45
44
|
},
|
|
46
45
|
"dependencies": {
|
|
47
46
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
48
|
-
"@runapi.ai/mcp-core": "0.1.
|
|
47
|
+
"@runapi.ai/mcp-core": "0.1.1",
|
|
49
48
|
"zod": "^3.25.76"
|
|
50
49
|
},
|
|
51
50
|
"devDependencies": {
|
package/server.json
CHANGED
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
|
-
"_meta": {
|
|
4
|
-
"ai.runapi/generated": "DO NOT EDIT — generated by `bin/rails mcp:generate`. Re-run to update."
|
|
5
|
-
},
|
|
6
3
|
"name": "io.github.runapi-builder/flux-kontext-mcp",
|
|
7
|
-
"description": "RunAPI MCP server for
|
|
4
|
+
"description": "RunAPI MCP server for Flux Kontext: create tasks, poll status, and check pricing.",
|
|
8
5
|
"repository": {
|
|
9
6
|
"url": "https://github.com/runapi-ai/flux-kontext-mcp",
|
|
10
7
|
"source": "github"
|
|
11
8
|
},
|
|
12
|
-
"version": "0.1.
|
|
9
|
+
"version": "0.1.2",
|
|
13
10
|
"packages": [
|
|
14
11
|
{
|
|
15
12
|
"registryType": "npm",
|
|
16
13
|
"identifier": "@runapi.ai/flux-kontext-mcp",
|
|
17
|
-
"version": "0.1.
|
|
14
|
+
"version": "0.1.2",
|
|
18
15
|
"transport": {
|
|
19
16
|
"type": "stdio"
|
|
20
17
|
},
|