@kolbo/mcp 1.52.0 → 1.52.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/package.json +1 -1
- package/src/index.js +1 -0
- package/src/tools/_shared.js +10 -4
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -109,6 +109,7 @@ function createServer(opts = {}) {
|
|
|
109
109
|
// The single most common failure mode is project confusion — spell out
|
|
110
110
|
// the project contract here so every client gets it without a skill file.
|
|
111
111
|
instructions: [
|
|
112
|
+
'LOCAL FILES: never upload a user file yourself with cloud credentials, a shell command, or an S3/Spaces script — Kolbo owns this. Over a remote connector (claude.ai / Claude Desktop) the server cannot see local paths at all: call `media_upload_widget` so the user picks the file, then pass the returned https:// URL to the generation/transcription tool. Use `upload_media` only when the path IS reachable from where the MCP server runs (local stdio installs). `list_media` returns URLs for assets already in the library.',
|
|
112
113
|
'PROMPT CONVENTIONS (Kolbo-specific — these change the OUTPUT, not just the metadata):',
|
|
113
114
|
'A. Visual DNA: passing `visual_dna_ids` is not enough — every DNA in play must ALSO be tagged inside the prompt text as `@Name`, using the DNA name (e.g. "@Kobi walks into frame"). Moodboards are referenced the same way with `#Name`. Resolve names via `list_visual_dnas` / `list_moodboards`.',
|
|
114
115
|
'B. The full Kolbo skill is available to you as MCP RESOURCES under `kolbo://skill/`. Read `kolbo://skill/SKILL.md` first — it is the core rules plus a routing index — then read the matching `kolbo://skill/references/...` file before writing prompts for a specific model or workflow (per-model prompt rules, Visual DNA workflow, Creative Director, marketing, cost validation). Do this instead of guessing; the references exist precisely because the rules differ per model.',
|
package/src/tools/_shared.js
CHANGED
|
@@ -186,8 +186,11 @@ async function resolveToBuffer(source, kind, opts = {}) {
|
|
|
186
186
|
if (!path.isAbsolute(source)) {
|
|
187
187
|
throw new Error(
|
|
188
188
|
`Local file paths must be absolute: ${source}. ` +
|
|
189
|
-
`If you are using Kolbo over a remote connector (e.g. claude.ai), local files are not reachable
|
|
190
|
-
`
|
|
189
|
+
`If you are using Kolbo over a remote connector (e.g. claude.ai), local files are not reachable. ` +
|
|
190
|
+
`DO NOT upload the file yourself with cloud credentials or a shell command — Kolbo has a tool for this. ` +
|
|
191
|
+
`Call \`media_upload_widget\` to have the user pick the file (remote connectors), or \`upload_media\` ` +
|
|
192
|
+
`when the file IS reachable from where the MCP server runs, then pass the returned https:// URL here. ` +
|
|
193
|
+
`A URL from \`list_media\` also works if the asset is already in the library.`
|
|
191
194
|
);
|
|
192
195
|
}
|
|
193
196
|
let stat;
|
|
@@ -196,8 +199,11 @@ async function resolveToBuffer(source, kind, opts = {}) {
|
|
|
196
199
|
} catch (err) {
|
|
197
200
|
throw new Error(
|
|
198
201
|
`Local file not found or unreadable: ${source}. ` +
|
|
199
|
-
`If you are using Kolbo over a remote connector (e.g. claude.ai), local file paths are not reachable
|
|
200
|
-
`
|
|
202
|
+
`If you are using Kolbo over a remote connector (e.g. claude.ai), local file paths are not reachable. ` +
|
|
203
|
+
`DO NOT upload the file yourself with cloud credentials or a shell command — Kolbo has a tool for this. ` +
|
|
204
|
+
`Call \`media_upload_widget\` to have the user pick the file (remote connectors), or \`upload_media\` ` +
|
|
205
|
+
`when the file IS reachable from where the MCP server runs, then pass the returned https:// URL here. ` +
|
|
206
|
+
`A URL from \`list_media\` also works if the asset is already in the library.` +
|
|
201
207
|
(err && err.code ? ` [${err.code}]` : '')
|
|
202
208
|
);
|
|
203
209
|
}
|