@ateam-ai/mcp 0.3.48 → 0.3.49

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 +40 -9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ateam-ai/mcp",
3
- "version": "0.3.48",
3
+ "version": "0.3.49",
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
@@ -188,22 +188,29 @@ export const tools = [
188
188
  name: "ateam_build_and_run",
189
189
  core: true,
190
190
  description:
191
- "Build and deploy a governed AI Team solution in one step. ⚠️ HEAVIEST OPERATION (60-180s): validates solution+skills → deploys all connectors+skills to A-Team Core (regenerates MCP servers) → health-checks → optionally runs a warm test → auto-pushes to GitHub. AUTO-DETECTS GitHub repo: if you omit mcp_store and a repo exists, connector code is pulled from GitHub automatically. First deploy requires mcp_store. After that, write files via ateam_github_write, then just call build_and_run without mcp_store. For small changes to an already-deployed solution, prefer ateam_patch (faster, incremental). Requires authentication.",
191
+ "DEPLOY THE CURRENT MAIN BRANCH TO A-TEAM CORE. ⚠️ HEAVIEST OPERATION (60-180s): validates solution+skills → deploys all connectors+skills to Core (regenerates MCP servers) → health-checks → optionally runs a warm test → auto-pushes to GitHub.\n\n" +
192
+ "🌳 DEV/PROD WORKFLOW:\n" +
193
+ " 1. Edit files → ateam_github_patch (writes to `dev` branch by default)\n" +
194
+ " 2. (Optional) Preview what's about to ship → ateam_github_diff\n" +
195
+ " 3. Ship dev → main → ateam_github_promote (merges + auto-tags `prod-YYYY-MM-DD-NNN`)\n" +
196
+ " 4. Deploy main to Core → ateam_build_and_run\n\n" +
197
+ "This tool ALWAYS deploys the `main` branch — there is no `ref` parameter. To deploy in-progress dev work, first promote it.\n\n" +
198
+ "AUTO-DETECTS GitHub repo: if you omit mcp_store and a repo exists, connector code is pulled from main automatically. First deploy requires mcp_store. After that, edit via ateam_github_patch + promote, then build_and_run. For small changes prefer ateam_patch (faster, incremental). Requires authentication.",
192
199
  inputSchema: {
193
200
  type: "object",
194
201
  properties: {
195
202
  solution_id: {
196
203
  type: "string",
197
- description: "The solution ID. Use this INSTEAD of passing the full solution object — the solution definition is auto-pulled from GitHub. Required if solution object is omitted.",
204
+ description: "The solution ID. Use this INSTEAD of passing the full solution object — the solution definition is auto-pulled from main. Required if solution object is omitted.",
198
205
  },
199
206
  solution: {
200
207
  type: "object",
201
- description: "Full solution definition. Required on first deploy. After first deploy, just pass solution_id instead — everything is auto-pulled from GitHub.",
208
+ description: "Full solution definition. Required on first deploy. After first deploy, just pass solution_id instead — everything is auto-pulled from GitHub main.",
202
209
  },
203
210
  skills: {
204
211
  type: "array",
205
212
  items: { type: "object" },
206
- description: "Optional after first deploy: skill definitions. If omitted, auto-pulled from GitHub repo (skills/{id}/skill.json).",
213
+ description: "Optional after first deploy: skill definitions. If omitted, auto-pulled from main (skills/{id}/skill.json).",
207
214
  },
208
215
  connectors: {
209
216
  type: "array",
@@ -216,7 +223,7 @@ export const tools = [
216
223
  },
217
224
  github: {
218
225
  type: "boolean",
219
- description: "Optional: if true, pull connector source code from the solution's GitHub repo. AUTO-DETECTED: if you omit both mcp_store and github, the system checks if a repo exists and pulls from it automatically. You rarely need to set this explicitly.",
226
+ description: "Optional: if true, pull connector source code from main. AUTO-DETECTED: if you omit both mcp_store and github, the system checks if a repo exists and pulls from main automatically.",
220
227
  },
221
228
  test_message: {
222
229
  type: "string",
@@ -1219,14 +1226,35 @@ export const tools = [
1219
1226
  name: "ateam_github_diff",
1220
1227
  core: true,
1221
1228
  description:
1222
- "Compare two branches. Default base=main, head=dev — shows what's about to ship if you call ateam_github_promote(). " +
1223
- "Returns the list of commits and files that would land on main.",
1229
+ "PRE-FLIGHT BEFORE PROMOTE. Compares `dev` (head) vs `main` (base) by default — shows exactly which commits and files are about to ship if you call ateam_github_promote() next.\n\n" +
1230
+ "Use this when you want to:\n" +
1231
+ " • Review changes before promoting to prod\n" +
1232
+ " • See if dev is ahead of main at all (returns ahead_by: 0 if nothing to promote)\n" +
1233
+ " • Inspect arbitrary branch/tag/commit comparisons (override base/head)",
1224
1234
  inputSchema: {
1225
1235
  type: "object",
1226
1236
  properties: {
1227
1237
  solution_id: { type: "string", description: "The solution ID" },
1228
- base: { type: "string", description: "Base branch (the target). Default: 'main'.", default: "main" },
1229
- head: { type: "string", description: "Head branch (the source). Default: 'dev'.", default: "dev" },
1238
+ base: { type: "string", description: "Base branch/tag/sha (the target — what you're comparing TO). Default: 'main'.", default: "main" },
1239
+ head: { type: "string", description: "Head branch/tag/sha (the source — what you're comparing FROM). Default: 'dev'.", default: "dev" },
1240
+ },
1241
+ required: ["solution_id"],
1242
+ },
1243
+ },
1244
+ {
1245
+ name: "ateam_verify_consistency",
1246
+ core: true,
1247
+ description:
1248
+ "Check that the Builder filesystem state and GitHub state are in sync for a solution. Read-only probe — does NOT trigger a deploy.\n\n" +
1249
+ "Returns:\n" +
1250
+ " • ok: true + drifts: [] if everything matches\n" +
1251
+ " • ok: false + drifts: [{path, kind}] listing files that differ (kinds: fs_missing, gh_missing, content_differs)\n\n" +
1252
+ "Drift can creep in when GitHub writes happen but Builder FS doesn't get the mirror update (network blip, container restart mid-write). Boot sync heals most of it on next backend restart; this tool surfaces drift earlier.\n\n" +
1253
+ "Run after a series of ateam_github_patch calls to confirm the Builder backend is consistent with GitHub before you ateam_build_and_run.",
1254
+ inputSchema: {
1255
+ type: "object",
1256
+ properties: {
1257
+ solution_id: { type: "string", description: "The solution ID to verify" },
1230
1258
  },
1231
1259
  required: ["solution_id"],
1232
1260
  },
@@ -2875,6 +2903,9 @@ const handlers = {
2875
2903
  return get(`/deploy/solutions/${solution_id}/github/diff${q ? '?' + q : ''}`, sid);
2876
2904
  },
2877
2905
 
2906
+ ateam_verify_consistency: async ({ solution_id }, sid) =>
2907
+ get(`/deploy/solutions/${solution_id}/verify`, sid),
2908
+
2878
2909
  ateam_github_promote: async ({ solution_id, label, dry_run, skip_tag }, sid) =>
2879
2910
  post(`/deploy/solutions/${solution_id}/promote`, { label, dry_run, skip_tag }, sid),
2880
2911