@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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/tools.js +16 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ateam-ai/mcp",
3
- "version": "0.4.49",
3
+ "version": "0.4.50",
4
4
  "mcpName": "io.github.ariekogan/ateam-mcp",
5
5
  "description": "A-Team MCP Server — build, validate, and deploy multi-agent solutions from any AI environment",
6
6
  "type": "module",
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
- connectors = Object.keys(effectiveMcpStore).map((id) => ({
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",