@ateam-ai/mcp 0.3.41 → 0.3.42

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 +92 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ateam-ai/mcp",
3
- "version": "0.3.41",
3
+ "version": "0.3.42",
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
@@ -499,6 +499,42 @@ export const tools = [
499
499
  },
500
500
  },
501
501
 
502
+ {
503
+ name: "ateam_show_skill_minimal",
504
+ core: true,
505
+ description:
506
+ "Show the minimal authoring view of a skill — persona + connectors + " +
507
+ "handoff_when + style + policy guardrails only. ~10× smaller than " +
508
+ "ateam_get_solution(view:'skills') for the same skill. Use this when " +
509
+ "you only need the irreducible author content (Phase 9 of the strip).",
510
+ inputSchema: {
511
+ type: "object",
512
+ properties: {
513
+ solution_id: { type: "string", description: "The solution ID" },
514
+ skill_id: { type: "string", description: "The skill ID" },
515
+ },
516
+ required: ["solution_id", "skill_id"],
517
+ },
518
+ },
519
+
520
+ {
521
+ name: "ateam_show_solution_minimal",
522
+ core: true,
523
+ description:
524
+ "Show the minimal authoring view of a solution — name + description + " +
525
+ "style + routing_mode + identity_mode + skill ids + connector ids only. " +
526
+ "Skips deployed metadata, handoffs (auto-generated), grants, ui_plugins, " +
527
+ "validation results. Use this for fast inspection without the verbose " +
528
+ "fields (Phase 9 of the strip).",
529
+ inputSchema: {
530
+ type: "object",
531
+ properties: {
532
+ solution_id: { type: "string", description: "The solution ID" },
533
+ },
534
+ required: ["solution_id"],
535
+ },
536
+ },
537
+
502
538
  {
503
539
  name: "ateam_create_connector",
504
540
  core: true,
@@ -2730,6 +2766,62 @@ const handlers = {
2730
2766
  { timeoutMs: 300_000, retries: 1 },
2731
2767
  ),
2732
2768
 
2769
+ // ── Phase 9 strip: focused minimal responses ────────────────────────
2770
+ ateam_show_skill_minimal: async ({ solution_id, skill_id }, sid) => {
2771
+ if (!solution_id) throw new Error("solution_id required");
2772
+ if (!skill_id) throw new Error("skill_id required");
2773
+ const full = await get(`/deploy/solutions/${solution_id}/skills/${skill_id}`, sid);
2774
+ const skill = full?.skill || full;
2775
+ if (!skill) return { ok: false, error: "skill not found" };
2776
+ return {
2777
+ ok: true,
2778
+ id: skill.id,
2779
+ name: skill.name || skill.id,
2780
+ description: skill.description || "",
2781
+ role: { persona: skill.role?.persona || "" },
2782
+ connectors: skill.connectors || [],
2783
+ handoff_when: skill.handoff_when || null,
2784
+ style: skill.style || null,
2785
+ excluded_tools: skill.excluded_tools || [],
2786
+ policy_guardrails: {
2787
+ never: skill.policy?.guardrails?.never || [],
2788
+ always: skill.policy?.guardrails?.always || [],
2789
+ },
2790
+ engine: typeof skill.engine === "string" ? skill.engine : (skill.engine ? "<explicit-object>" : null),
2791
+ _hint: "This is the MINIMAL view (Phase 9 strip). Use ateam_get_solution(view:'skills', skill_id) for the full schema.",
2792
+ };
2793
+ },
2794
+
2795
+ ateam_show_solution_minimal: async ({ solution_id }, sid) => {
2796
+ if (!solution_id) throw new Error("solution_id required");
2797
+ const full = await get(`/deploy/solutions/${solution_id}/definition`, sid);
2798
+ const sol = full?.solution || full;
2799
+ if (!sol) return { ok: false, error: "solution not found" };
2800
+ return {
2801
+ ok: true,
2802
+ id: sol.id,
2803
+ name: sol.name || sol.id,
2804
+ description: sol.description || "",
2805
+ version: sol.version || "1.0.0",
2806
+ style: sol.style || null,
2807
+ routing_mode: sol.routing_mode || "manual",
2808
+ identity_mode: sol.identity_mode || null,
2809
+ identity: sol.identity ? {
2810
+ default_actor_type: sol.identity.default_actor_type,
2811
+ actor_types_count: (sol.identity.actor_types || []).length,
2812
+ } : null,
2813
+ skills: (sol.skills || []).map(s => ({
2814
+ id: s.id,
2815
+ name: s.name || s.id,
2816
+ role: s.role || "worker",
2817
+ })),
2818
+ connectors_count: (sol.platform_connectors || []).length,
2819
+ ui_plugins_count: (sol.ui_plugins || []).length,
2820
+ handoffs_count: (sol.handoffs || []).length,
2821
+ _hint: "This is the MINIMAL view (Phase 9 strip). Use ateam_get_solution(view:'definition') for the full schema.",
2822
+ };
2823
+ },
2824
+
2733
2825
  // ── Phase 7 strip: scaffold helpers ─────────────────────────────────
2734
2826
  ateam_create_connector: async ({ solution_id, connector_id, name, ui_capable }, sid) => {
2735
2827
  if (!solution_id) throw new Error("solution_id required");