@ateam-ai/mcp 0.2.6 → 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 +16 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ateam-ai/mcp",
3
- "version": "0.2.6",
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
@@ -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}` : "";