@ateam-ai/mcp 0.4.21 → 0.4.22

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 +33 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ateam-ai/mcp",
3
- "version": "0.4.21",
3
+ "version": "0.4.22",
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
@@ -2653,16 +2653,43 @@ const handlers = {
2653
2653
  // Design-time capability advisor. Proxies to the Builder's /spec/advisor
2654
2654
  // (LLM over the curated capability catalog). Public endpoint (auth-exempt),
2655
2655
  // but we forward the session so a base override is honored.
2656
- ateam_design_advisor: async ({ goal, design_state }, sid) => {
2656
+ ateam_design_advisor: async ({ goal, design_state, solution_id }, sid) => {
2657
2657
  if (!goal || typeof goal !== "string") throw new Error("goal required (a string describing what you're building)");
2658
- return post("/spec/advisor", { goal, design_state: design_state || {} }, sid, { timeoutMs: 90_000, retries: 1 });
2658
+ // Reach the advisor through the sysSpecSearch-mcp platform connector via the
2659
+ // proven connector-call path (same as ateam_spec_search) — works on prod with
2660
+ // no bespoke /spec route. The connector's advise tool proxies the Builder's
2661
+ // LLM+catalog internally.
2662
+ const sol = solution_id || "_";
2663
+ const r = await post(
2664
+ `/deploy/solutions/${encodeURIComponent(sol)}/connectors/sysSpecSearch-mcp/call`,
2665
+ { tool: "sysSpecSearch.advise", args: { goal, design_state: design_state || {} } },
2666
+ sid,
2667
+ { timeoutMs: 90_000, retries: 1 },
2668
+ );
2669
+ const text = r?.result?.content?.[0]?.text;
2670
+ if (text) { try { return JSON.parse(text); } catch { return { ok: true, raw: text }; } }
2671
+ return r?.result ?? r;
2659
2672
  },
2660
2673
 
2661
- // Semantic search over the full /spec corpus (Builder /spec/search → the
2662
- // sysSpecSearch-mcp platform connector). Public read-only endpoint.
2663
- ateam_spec_search: async ({ query, top_k }, sid) => {
2674
+ // Semantic search over the full /spec corpus. Reaches the sysSpecSearch-mcp
2675
+ // PLATFORM connector through the proven connector-call path (the same route
2676
+ // ateam_test_connector uses) so it works wherever the existing tools do, with
2677
+ // no bespoke /spec route to route on prod. Auth: the agent's api-key gates the
2678
+ // Builder route; the Builder calls Core with the internal secret; tenant is
2679
+ // forwarded from the session. solution_id is only for the route path (any).
2680
+ ateam_spec_search: async ({ query, top_k, solution_id }, sid) => {
2664
2681
  if (!query || typeof query !== "string") throw new Error("query required (a string question)");
2665
- return post("/spec/search", { query, ...(top_k ? { top_k } : {}) }, sid, { timeoutMs: 30_000, retries: 1 });
2682
+ const sol = solution_id || "_";
2683
+ const r = await post(
2684
+ `/deploy/solutions/${encodeURIComponent(sol)}/connectors/sysSpecSearch-mcp/call`,
2685
+ { tool: "sysSpecSearch.search", args: { query, ...(top_k ? { top_k } : {}) } },
2686
+ sid,
2687
+ { timeoutMs: 30_000, retries: 1 },
2688
+ );
2689
+ // Unwrap the MCP tool result: { result: { content: [{ type:"text", text }] } }.
2690
+ const text = r?.result?.content?.[0]?.text;
2691
+ if (text) { try { return JSON.parse(text); } catch { return { ok: true, raw: text }; } }
2692
+ return r?.result ?? r;
2666
2693
  },
2667
2694
 
2668
2695
  // ─── Composite: Build & Run ────────────────────────────────────────