distribea-mcp 1.1.2 → 1.2.0
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/index.mjs +16 -11
- package/package.json +1 -1
package/index.mjs
CHANGED
|
@@ -969,18 +969,21 @@ async function runCreateReference(args) {
|
|
|
969
969
|
? await fileToDataUri(resolveIn(projectDir, args.photo_path))
|
|
970
970
|
: undefined;
|
|
971
971
|
|
|
972
|
-
if (args.kind === "product") {
|
|
972
|
+
if (args.kind === "product" || args.kind === "place") {
|
|
973
973
|
const out = await engine("create_product", projectDir, {
|
|
974
974
|
name: args.name,
|
|
975
975
|
description: args.description,
|
|
976
976
|
photo,
|
|
977
977
|
pages_excerpt: excerpt,
|
|
978
|
+
kind: args.kind,
|
|
978
979
|
});
|
|
979
980
|
return [
|
|
980
|
-
"Product locked
|
|
981
|
+
`${args.kind === "place" ? "Place" : "Product"} locked ✔`,
|
|
981
982
|
`name: ${out.name}`,
|
|
982
983
|
`look: ${out.description}`,
|
|
983
|
-
|
|
984
|
+
args.kind === "place"
|
|
985
|
+
? `Ce LIEU sera reconstruit À L'IDENTIQUE dans toutes les images qui le citent (param product: "${out.name}", ou automatiquement quand son nom apparaît près d'un placeholder).`
|
|
986
|
+
: `Cet objet restera IDENTIQUE dans toutes les images qui le citent (param product: "${out.name}", ou automatiquement quand son nom apparaît près d'un placeholder).`,
|
|
984
987
|
].join("\n");
|
|
985
988
|
}
|
|
986
989
|
const out = await engine("create_character", projectDir, {
|
|
@@ -1856,35 +1859,37 @@ const TOOLS = [
|
|
|
1856
1859
|
},
|
|
1857
1860
|
{
|
|
1858
1861
|
name: "create_reference",
|
|
1859
|
-
title:
|
|
1862
|
+
title:
|
|
1863
|
+
"Lock a recurring character, product or place (identical everywhere)",
|
|
1860
1864
|
annotations: {
|
|
1861
1865
|
readOnlyHint: false,
|
|
1862
1866
|
destructiveHint: false,
|
|
1863
1867
|
openWorldHint: true,
|
|
1864
1868
|
},
|
|
1865
1869
|
description:
|
|
1866
|
-
"Lock a RECURRING reference reused identically across every image — kind 'character' (default): the same FACE everywhere, auto-cast or locked from a real photo via photo_path (« c'est lui le professeur » → call this FIRST so every scene reuses that exact face); kind 'product' (e-commerce): the exact same object in every shot. make_images and generate_image use them automatically when their name appears near a slot.",
|
|
1870
|
+
"Lock a RECURRING reference reused identically across every image — kind 'character' (default): the same FACE everywhere, auto-cast or locked from a real photo via photo_path (« c'est lui le professeur » → call this FIRST so every scene reuses that exact face); kind 'product' (e-commerce): the exact same object in every shot; kind 'place': the brand's real location (shop, workshop…) rebuilt identically in every scene (« voilà ma boutique » → photo_path). make_images and generate_image use them automatically when their name appears near a slot.",
|
|
1867
1871
|
inputSchema: {
|
|
1868
1872
|
type: "object",
|
|
1869
1873
|
properties: {
|
|
1870
1874
|
kind: {
|
|
1871
1875
|
type: "string",
|
|
1872
|
-
enum: ["character", "product"],
|
|
1873
|
-
description:
|
|
1876
|
+
enum: ["character", "product", "place"],
|
|
1877
|
+
description:
|
|
1878
|
+
"Default 'character'. 'place' = the brand's real location rebuilt identically",
|
|
1874
1879
|
},
|
|
1875
1880
|
name: {
|
|
1876
1881
|
type: "string",
|
|
1877
1882
|
description:
|
|
1878
|
-
"Character role (e.g. 'la pâtissière')
|
|
1883
|
+
"Character role (e.g. 'la pâtissière'), product name as written on the site, or place name (e.g. 'la boulangerie')",
|
|
1879
1884
|
},
|
|
1880
1885
|
description: {
|
|
1881
1886
|
type: "string",
|
|
1882
|
-
description: "product: optional physical description",
|
|
1887
|
+
description: "product/place: optional physical description",
|
|
1883
1888
|
},
|
|
1884
1889
|
photo_path: {
|
|
1885
1890
|
type: "string",
|
|
1886
1891
|
description:
|
|
1887
|
-
"Optional absolute path to a real photo to lock (face or
|
|
1892
|
+
"Optional absolute path to a real photo to lock (face, product or place)",
|
|
1888
1893
|
},
|
|
1889
1894
|
project_dir: {
|
|
1890
1895
|
type: "string",
|
|
@@ -2077,7 +2082,7 @@ async function handle(msg) {
|
|
|
2077
2082
|
serverInfo: {
|
|
2078
2083
|
name: "distribea-mcp",
|
|
2079
2084
|
title: "Distribea MCP",
|
|
2080
|
-
version: "1.
|
|
2085
|
+
version: "1.2.0",
|
|
2081
2086
|
},
|
|
2082
2087
|
instructions: INSTRUCTIONS,
|
|
2083
2088
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "distribea-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Distribea MCP, on-brand website imagery (style-locked, recurring characters, UGC review avatars) generated by the hosted Distribea engine. Requires a Distribea subscription key.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|