@ateam-ai/mcp 0.2.5 → 0.2.7

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 +17 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ateam-ai/mcp",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
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
@@ -109,7 +109,7 @@ export const tools = [
109
109
  name: "ateam_build_and_run",
110
110
  core: true,
111
111
  description:
112
- "Build and deploy a governed AI Team solution in one step. Validates, deploys, health-checks, and optionally runs a warm test all in one call. Use this instead of calling validate, deploy, and health separately. Requires authentication.",
112
+ "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. Use this instead of calling validate, deploy, and health separately. For small changes to an already-deployed solution, prefer ateam_patch (faster, incremental). Requires authentication.",
113
113
  inputSchema: {
114
114
  type: "object",
115
115
  properties: {
@@ -747,7 +747,10 @@ export const tools = [
747
747
  name: "ateam_github_patch",
748
748
  core: true,
749
749
  description:
750
- "Edit a specific file in the solution's GitHub repo and commit. Creates the file if it doesn't exist. Use this to make surgical fixes to connector source code, update skill definitions, or add new files directly in the repo.",
750
+ "Edit a file in the solution's GitHub repo and commit. Two modes:\n" +
751
+ "1. FULL FILE: provide `content` — replaces entire file (good for new files or small files)\n" +
752
+ "2. SEARCH/REPLACE: provide `search` + `replace` — surgical edit without sending full file (preferred for large files like server.js)\n" +
753
+ "Always use search/replace for large files (>5KB). Always read the file first with ateam_github_read to get the exact text to search for.",
751
754
  inputSchema: {
752
755
  type: "object",
753
756
  properties: {
@@ -761,14 +764,22 @@ export const tools = [
761
764
  },
762
765
  content: {
763
766
  type: "string",
764
- description: "The full file content to write",
767
+ description: "The full file content to write (mode 1 — full file replacement)",
768
+ },
769
+ search: {
770
+ type: "string",
771
+ description: "Exact text to find in the file (mode 2 — search/replace). Must match exactly including whitespace.",
772
+ },
773
+ replace: {
774
+ type: "string",
775
+ description: "Text to replace the search string with (mode 2 — required with search)",
765
776
  },
766
777
  message: {
767
778
  type: "string",
768
779
  description: "Optional commit message (default: 'Update <path>')",
769
780
  },
770
781
  },
771
- required: ["solution_id", "path", "content"],
782
+ required: ["solution_id", "path"],
772
783
  },
773
784
  },
774
785
  {
@@ -1458,8 +1469,8 @@ const handlers = {
1458
1469
  ateam_github_read: async ({ solution_id, path: filePath }, sid) =>
1459
1470
  get(`/deploy/solutions/${solution_id}/github/read?path=${encodeURIComponent(filePath)}`, sid),
1460
1471
 
1461
- ateam_github_patch: async ({ solution_id, path: filePath, content, message }, sid) =>
1462
- post(`/deploy/solutions/${solution_id}/github/patch`, { path: filePath, content, message }, sid),
1472
+ ateam_github_patch: async ({ solution_id, path: filePath, content, search, replace, message }, sid) =>
1473
+ post(`/deploy/solutions/${solution_id}/github/patch`, { path: filePath, content, search, replace, message }, sid),
1463
1474
 
1464
1475
  ateam_github_log: async ({ solution_id, limit }, sid) => {
1465
1476
  const qs = limit ? `?limit=${limit}` : "";