@koda-sl/baker-cli 0.419.0-dev.ce424234b → 0.421.0-dev.3613db443
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 +1 -1
- package/dist/cli.js +23 -7
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3745,7 +3745,7 @@ baker mcp remove --name weather
|
|
|
3745
3745
|
```
|
|
3746
3746
|
|
|
3747
3747
|
- `connected` returns three lists. `managed` and `custom` are MCP tools the agent calls directly; `platforms` are the accounts the company signed in to (HubSpot, Google Ads, GA4, Search Console, Tag Manager, LinkedIn Ads), each with its login and the resources it may read. A platform has **no** `mcp__*` tools — it is read through its own command family — so it is listed here to keep the agent from concluding a working connection is missing.
|
|
3748
|
-
- `catalog --search <name> [--limit 1-20]` searches the managed apps a user can connect when a vendor has no MCP server of its own. Each app reports its slug (`app`), how the user connects it (`sign-in
|
|
3748
|
+
- `catalog --search <name> [--limit 1-20]` searches the managed apps a user can connect when a vendor has no MCP server of its own. Each app reports its slug (`app`), how the user connects it (`sign-in` or `key`; apps that need no sign-in cannot be connected and are left out) — never a managed copy of one of Baker's own connections: those come back under `platforms`, to ask for with `{ platform }` and whether this chat already reaches it (`connected`).
|
|
3749
3749
|
- `--url` must be the **full MCP endpoint** (commonly ending in `/mcp`), HTTPS and public; loopback / private / cloud-metadata hosts are rejected. A bare domain frequently accepts the OAuth sign-in and then serves no tools, so every address is handshake-checked after it changes: `connected` and `list` report `usable: false` plus a `problem` (and a `suggestedAddress` when the server advertises a better endpoint) for a server that isn't serving tools, or `lastCheck: failed` when the last check only hit an outage — that one may work anyway, and a later turn re-checks it automatically. Repointing a server at a different host clears its saved sign-in: a token belongs to the host that issued it, so the server has to be connected again.
|
|
3750
3750
|
- Scope is two independent choices — audience (just you / everyone) × level (this company / whole org):
|
|
3751
3751
|
- `--scope company` (default) — everyone in this company.
|
package/dist/cli.js
CHANGED
|
@@ -92627,7 +92627,7 @@ var mcpCatalogRequestSchema = z64.object({
|
|
|
92627
92627
|
search: z64.string().trim().min(1, "Provide --search").max(100),
|
|
92628
92628
|
limit: z64.coerce.number().int().min(1).max(20).default(MCP_CATALOG_DEFAULT_LIMIT)
|
|
92629
92629
|
});
|
|
92630
|
-
var mcpCatalogConnectSchema = z64.enum(["sign-in", "key"
|
|
92630
|
+
var mcpCatalogConnectSchema = z64.enum(["sign-in", "key"]);
|
|
92631
92631
|
var mcpCatalogEntrySchema = z64.object({
|
|
92632
92632
|
/** The toolkit slug — what request_connection `{ app }` takes. */
|
|
92633
92633
|
app: z64.string(),
|
|
@@ -92639,7 +92639,9 @@ var mcpCatalogEntrySchema = z64.object({
|
|
|
92639
92639
|
var mcpCatalogResponseSchema = z64.object({
|
|
92640
92640
|
apps: z64.array(mcpCatalogEntrySchema),
|
|
92641
92641
|
/** The company has managed apps switched off: nothing here can be connected, so `apps` is empty. */
|
|
92642
|
-
managedDisabled: z64.boolean().optional()
|
|
92642
|
+
managedDisabled: z64.boolean().optional(),
|
|
92643
|
+
/** Baker's own connections this search matched — ask for these with `{ platform }`, never a managed copy. */
|
|
92644
|
+
platforms: z64.array(z64.string()).optional()
|
|
92643
92645
|
});
|
|
92644
92646
|
|
|
92645
92647
|
// src/commands/mcp/index.ts
|
|
@@ -92650,7 +92652,14 @@ var PREFER_VENDOR_HINT = 'The vendor\'s own MCP server comes before any app here
|
|
|
92650
92652
|
var ALREADY_CONNECTED_HINT = "An app marked connected is already reachable \u2014 use its mcp__composio_* tools; do not ask again.";
|
|
92651
92653
|
var NO_MATCH_HINT = "Nothing in the catalog matches. WebSearch for the vendor's official remote MCP server (its docs, its developer site) before telling the user it can't be connected \u2014 if one exists, ask for it with request_connection `{ server }`. Only when the web shows no official remote server either, say plainly this tool can't be connected yet and offer a Task.";
|
|
92652
92654
|
var MANAGED_DISABLED_HINT = "Managed apps are switched off for this company, so none can be connected here. Use the vendor's own MCP server \u2014 WebSearch \"<vendor> MCP server\" and WebFetch its official docs, then request_connection `{ server }`; when it has none, say plainly this tool can't be connected yet and offer a Task.";
|
|
92653
|
-
function
|
|
92655
|
+
function firstPartyHint(platforms) {
|
|
92656
|
+
const asks = platforms.map((p) => `request_connection \`{ platform: "${p}" }\``).join(" or ");
|
|
92657
|
+
return `This is one of Baker's own connections \u2014 ask for it with ${asks}. It is the one Baker's commands, staging and publish work with, so never connect it as a catalog app or as an MCP server, even one the vendor publishes or the user names. If it is already connected, read it with its own baker command family instead.`;
|
|
92658
|
+
}
|
|
92659
|
+
function catalogHints(apps, { managedDisabled = false, platforms = [] } = {}) {
|
|
92660
|
+
if (platforms.length > 0) {
|
|
92661
|
+
return [firstPartyHint(platforms)];
|
|
92662
|
+
}
|
|
92654
92663
|
if (managedDisabled) {
|
|
92655
92664
|
return [MANAGED_DISABLED_HINT];
|
|
92656
92665
|
}
|
|
@@ -92791,7 +92800,7 @@ var catalogArgs = {
|
|
|
92791
92800
|
};
|
|
92792
92801
|
registerSchema({
|
|
92793
92802
|
command: "mcp.catalog",
|
|
92794
|
-
description: "Search the managed apps you can ask the user to connect when a vendor has no MCP server of its own. Each app says how the user connects it (sign-in | key
|
|
92803
|
+
description: "Search the managed apps you can ask the user to connect when a vendor has no MCP server of its own. Each app says how the user connects it (sign-in | key) and whether this chat already reaches it. Example: baker mcp catalog --search notion",
|
|
92795
92804
|
args: catalogArgs
|
|
92796
92805
|
});
|
|
92797
92806
|
var catalogCommand2 = defineCommand210({
|
|
@@ -92803,7 +92812,7 @@ For a tool \`baker mcp connected\` does not list whose vendor has no official re
|
|
|
92803
92812
|
baker mcp catalog --search notion
|
|
92804
92813
|
baker mcp catalog --search "microsoft clarity" --limit 3
|
|
92805
92814
|
|
|
92806
|
-
Each app: app (slug for request_connection), name, description, connect (sign-in | key
|
|
92815
|
+
Each app: app (slug for request_connection), name, description, connect (sign-in | key), connected.
|
|
92807
92816
|
Prefer the vendor's own MCP server when it publishes one; a catalog app is the fallback.`
|
|
92808
92817
|
},
|
|
92809
92818
|
args: catalogArgs,
|
|
@@ -92825,8 +92834,15 @@ Prefer the vendor's own MCP server when it publishes one; a catalog app is the f
|
|
|
92825
92834
|
});
|
|
92826
92835
|
writeJson({
|
|
92827
92836
|
ok: true,
|
|
92828
|
-
data: {
|
|
92829
|
-
|
|
92837
|
+
data: {
|
|
92838
|
+
apps: data.apps,
|
|
92839
|
+
...data.platforms?.length ? { platforms: data.platforms } : {},
|
|
92840
|
+
...data.managedDisabled ? { managedDisabled: true } : {}
|
|
92841
|
+
},
|
|
92842
|
+
hints: catalogHints(data.apps, {
|
|
92843
|
+
managedDisabled: data.managedDisabled === true,
|
|
92844
|
+
platforms: data.platforms ?? []
|
|
92845
|
+
})
|
|
92830
92846
|
});
|
|
92831
92847
|
} catch (err) {
|
|
92832
92848
|
fail10(err);
|