@ateam-ai/mcp 0.4.49 → 0.4.50
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/tools.js +16 -1
package/package.json
CHANGED
package/src/tools.js
CHANGED
|
@@ -3091,8 +3091,23 @@ const handlers = {
|
|
|
3091
3091
|
// The pull-bundle endpoint returns mcp_store (files) and solution.platform_connectors
|
|
3092
3092
|
// (declarations) but not a top-level connectors[] array. The validator/deploy
|
|
3093
3093
|
// pipeline expects one, so build it from the mcp_store we just pulled.
|
|
3094
|
+
//
|
|
3095
|
+
// ROBUSTNESS: mcp_store is normally keyed by CONNECTOR ID, but a bad/older
|
|
3096
|
+
// pull-bundle can key it by the full `connectors/<id>/<file>` path — in
|
|
3097
|
+
// which case the old `map(id => ...)` registered ONE connector PER FILE with
|
|
3098
|
+
// the path as its id (observed 2026-08-15: db.connectors got
|
|
3099
|
+
// connectors/expense-tracker-mcp/server.js etc. as rows). Collapse either
|
|
3100
|
+
// shape to the connector id and dedupe, so a mis-keyed mcp_store can never
|
|
3101
|
+
// manufacture file-path connectors. (Core also rejects "/"-bearing ids at
|
|
3102
|
+
// its boundary as defense-in-depth.)
|
|
3094
3103
|
if (!connectors?.length && Object.keys(effectiveMcpStore).length > 0) {
|
|
3095
|
-
|
|
3104
|
+
const connIds = [...new Set(
|
|
3105
|
+
Object.keys(effectiveMcpStore).map((k) => {
|
|
3106
|
+
const m = String(k).match(/^connectors\/([^/]+)\//);
|
|
3107
|
+
return m ? m[1] : k;
|
|
3108
|
+
})
|
|
3109
|
+
)];
|
|
3110
|
+
connectors = connIds.map((id) => ({
|
|
3096
3111
|
id,
|
|
3097
3112
|
name: id,
|
|
3098
3113
|
transport: "stdio",
|