@thinkingai/ae-cli 6.0.22 → 6.0.27

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 (172) hide show
  1. package/dist/{auth-RDN6D5HU.js → auth-7TQRGLBC.js} +13 -15
  2. package/dist/auth-MEJ642P4.js +13 -0
  3. package/dist/chunk-2NDGFQHW.js +190 -0
  4. package/dist/{chunk-5FBLRSMU.js → chunk-7QQ4233A.js} +3 -3
  5. package/dist/{chunk-U6QPKCN3.js → chunk-AJTH7LT3.js} +10 -116
  6. package/dist/chunk-BXMXMUD7.js +254 -0
  7. package/dist/chunk-C4DH76LX.js +59 -0
  8. package/dist/chunk-GWZ5MYWE.js +209 -0
  9. package/dist/{chunk-E34XH4GW.js → chunk-KCA6BA5D.js} +8 -8
  10. package/dist/{chunk-XE2PI5DS.js → chunk-KGJQCYVC.js} +1 -1
  11. package/dist/chunk-LG5YT7P7.js +59 -0
  12. package/dist/{chunk-2W7HULUD.js → chunk-MDJGDI6K.js} +2 -2
  13. package/dist/{chunk-H52CSLJW.js → chunk-R77JT7XD.js} +53 -6
  14. package/dist/{chunk-WPXHCP4A.js → chunk-YCLVYFK7.js} +52 -9
  15. package/dist/{chunk-4EUZRJPO.js → chunk-YNQFYBDB.js} +102 -14
  16. package/dist/{chunk-YACCPUNQ.js → chunk-ZAOL36CG.js} +1 -1
  17. package/dist/cli-token-TVQRSE46.js +18 -0
  18. package/dist/{client-VTJMUZ4O.js → client-2643Z5AG.js} +3 -3
  19. package/dist/{config-2SDTLGOC.js → config-ZVPARN4R.js} +4 -9
  20. package/dist/index.js +27 -24
  21. package/dist/{metadata-JZ2OTWBK.js → metadata-IPSPQBX3.js} +56 -65
  22. package/dist/metadata-N5REJ7R7.js +411 -0
  23. package/dist/{model-ZYMRN4VS.js → model-T3KZJWLW.js} +2 -2
  24. package/dist/{raw-NGYHAL3F.js → raw-OHSUK42D.js} +4 -4
  25. package/dist/{sync-JVLX6TGW.js → sync-ULT5SECP.js} +3 -3
  26. package/dist/{te-agent-QPZTLHPH.js → te-agent-QLIVKRUN.js} +1146 -61
  27. package/dist/{te-analysis-WWX3Z6RP.js → te-analysis-2U5EPXQC.js} +1213 -341
  28. package/dist/te-analysis-QMZ2UH7F.js +2419 -0
  29. package/dist/{te-audience-UXGHUVBB.js → te-audience-PVMKQAFH.js} +5 -5
  30. package/dist/te-audience-XMRMVD2V.js +599 -0
  31. package/dist/{te-common-7XXH73MF.js → te-common-CFGQXTFV.js} +5 -5
  32. package/dist/te-common-SDB3O2QG.js +130 -0
  33. package/dist/{te-community-QKE67HR2.js → te-community-6A7LKYUH.js} +5 -5
  34. package/dist/te-community-GMWFGILT.js +687 -0
  35. package/dist/te-dataops-6LIPYNGH.js +1864 -0
  36. package/dist/{te-dataops-6W7NNYST.js → te-dataops-Z53CTG2U.js} +90 -68
  37. package/dist/{te-engage-NCFAQFX3.js → te-engage-AGREUOW7.js} +30 -15
  38. package/dist/te-engage-MIIUKY6M.js +1525 -0
  39. package/dist/{te-kb-K5BQYUCM.js → te-kb-KQJ53M3A.js} +4 -4
  40. package/dist/{te-meta-LJZBOSMO.js → te-meta-QLANJ4B4.js} +5 -5
  41. package/dist/te-meta-TOA6FWDE.js +595 -0
  42. package/dist/{te-team-DHK5R7MV.js → te-team-TQGMNHQQ.js} +5 -5
  43. package/package.json +3 -1
  44. package/skills/ae-agent/SKILL.md +158 -189
  45. package/skills/ae-agent/references/accept-skill-share.md +39 -0
  46. package/skills/ae-agent/references/add-attachment.md +57 -0
  47. package/skills/ae-agent/references/add-mcp.md +75 -0
  48. package/skills/ae-agent/references/add-model.md +70 -0
  49. package/skills/ae-agent/references/add-skill.md +71 -0
  50. package/skills/ae-agent/references/approve-skill.md +41 -0
  51. package/skills/ae-agent/references/attachment-stats.md +50 -0
  52. package/skills/ae-agent/references/auto-provision-mcp-credentials.md +57 -0
  53. package/skills/ae-agent/references/cancel-skill-submission.md +39 -0
  54. package/skills/ae-agent/references/copy-skill.md +53 -0
  55. package/skills/ae-agent/references/create-agent.md +71 -0
  56. package/skills/ae-agent/references/create-automation.md +99 -0
  57. package/skills/ae-agent/references/del-agent.md +38 -0
  58. package/skills/ae-agent/references/del-attachment.md +35 -0
  59. package/skills/ae-agent/references/del-mcp.md +35 -0
  60. package/skills/ae-agent/references/del-model.md +37 -0
  61. package/skills/ae-agent/references/del-skill-asset.md +41 -0
  62. package/skills/ae-agent/references/del-skill-reference.md +41 -0
  63. package/skills/ae-agent/references/del-skill-script.md +41 -0
  64. package/skills/ae-agent/references/del-skill.md +36 -0
  65. package/skills/ae-agent/references/edit-skill.md +64 -0
  66. package/skills/ae-agent/references/get-agent.md +37 -0
  67. package/skills/ae-agent/references/get-skill-content.md +36 -0
  68. package/skills/ae-agent/references/list-agents.md +40 -0
  69. package/skills/ae-agent/references/list-attachments.md +42 -0
  70. package/skills/ae-agent/references/list-automations.md +41 -0
  71. package/skills/ae-agent/references/list-mcp-credentials.md +65 -0
  72. package/skills/ae-agent/references/list-mcp-market.md +58 -0
  73. package/skills/ae-agent/references/list-mcps.md +37 -0
  74. package/skills/ae-agent/references/list-models.md +38 -0
  75. package/skills/ae-agent/references/list-skill-assets.md +35 -0
  76. package/skills/ae-agent/references/list-skill-market.md +59 -0
  77. package/skills/ae-agent/references/list-skill-references.md +36 -0
  78. package/skills/ae-agent/references/list-skill-scripts.md +35 -0
  79. package/skills/ae-agent/references/list-skill-shares.md +49 -0
  80. package/skills/ae-agent/references/list-skill-submissions.md +45 -0
  81. package/skills/ae-agent/references/list-skills.md +37 -0
  82. package/skills/ae-agent/references/mcp-auth-disconnect.md +50 -0
  83. package/skills/ae-agent/references/mcp-auth-start.md +61 -0
  84. package/skills/ae-agent/references/mcp-auth-status.md +56 -0
  85. package/skills/ae-agent/references/mcp-stats.md +68 -0
  86. package/skills/ae-agent/references/mcp-token.md +63 -0
  87. package/skills/ae-agent/references/mcp-tools.md +55 -0
  88. package/skills/ae-agent/references/read-skill-asset.md +51 -0
  89. package/skills/ae-agent/references/read-skill-reference.md +50 -0
  90. package/skills/ae-agent/references/read-skill-script.md +51 -0
  91. package/skills/ae-agent/references/reject-skill-share.md +37 -0
  92. package/skills/ae-agent/references/reject-skill.md +42 -0
  93. package/skills/ae-agent/references/rescan-skills.md +44 -0
  94. package/skills/ae-agent/references/set-mcp-credential.md +67 -0
  95. package/skills/ae-agent/references/set-mcp-meta.md +52 -0
  96. package/skills/ae-agent/references/set-skill-meta.md +51 -0
  97. package/skills/ae-agent/references/share-skill.md +50 -0
  98. package/skills/ae-agent/references/submit-skill.md +51 -0
  99. package/skills/ae-agent/references/test-model.md +61 -0
  100. package/skills/ae-agent/references/toggle-mcp.md +39 -0
  101. package/skills/ae-agent/references/toggle-model.md +37 -0
  102. package/skills/ae-agent/references/toggle-skill.md +37 -0
  103. package/skills/ae-agent/references/update-agent.md +71 -0
  104. package/skills/ae-agent/references/update-automation.md +83 -0
  105. package/skills/ae-agent/references/update-mcp.md +79 -0
  106. package/skills/ae-agent/references/update-model.md +77 -0
  107. package/skills/ae-agent/references/upload-skill-asset.md +49 -0
  108. package/skills/ae-agent/references/upload-skill-reference.md +51 -0
  109. package/skills/ae-agent/references/upload-skill-script.md +49 -0
  110. package/skills/ae-agent/references/upload-skill.md +89 -0
  111. package/skills/ae-analysis/SKILL.md +53 -25
  112. package/skills/ae-analysis/references/analysis_gateway_assets.md +129 -0
  113. package/skills/ae-analysis/references/artifact_download.md +17 -0
  114. package/skills/ae-analysis/references/bi_panel_copy.md +15 -0
  115. package/skills/ae-analysis/references/bi_panel_create.md +15 -0
  116. package/skills/ae-analysis/references/bi_panel_delete.md +15 -0
  117. package/skills/ae-analysis/references/bi_panel_get.md +18 -0
  118. package/skills/ae-analysis/references/bi_panel_list.md +15 -0
  119. package/skills/ae-analysis/references/bi_panel_page_data_export.md +25 -0
  120. package/skills/ae-analysis/references/bi_panel_page_data_run.md +15 -0
  121. package/skills/ae-analysis/references/bi_panel_share.md +15 -0
  122. package/skills/ae-analysis/references/bi_panel_update.md +15 -0
  123. package/skills/ae-analysis/references/dashboard_abnormal_get.md +15 -0
  124. package/skills/ae-analysis/references/dashboard_copy.md +17 -0
  125. package/skills/ae-analysis/references/dashboard_create.md +15 -0
  126. package/skills/ae-analysis/references/dashboard_daily_report_send.md +17 -0
  127. package/skills/ae-analysis/references/dashboard_daily_report_update.md +17 -0
  128. package/skills/ae-analysis/references/dashboard_definition_export.md +33 -0
  129. package/skills/ae-analysis/references/dashboard_definition_import.md +15 -0
  130. package/skills/ae-analysis/references/dashboard_delete.md +15 -0
  131. package/skills/ae-analysis/references/dashboard_freeze.md +15 -0
  132. package/skills/ae-analysis/references/dashboard_get.md +15 -0
  133. package/skills/ae-analysis/references/dashboard_handover.md +15 -0
  134. package/skills/ae-analysis/references/dashboard_list.md +15 -0
  135. package/skills/ae-analysis/references/dashboard_report_data_export.md +25 -0
  136. package/skills/ae-analysis/references/dashboard_report_data_run.md +15 -0
  137. package/skills/ae-analysis/references/dashboard_share.md +15 -0
  138. package/skills/ae-analysis/references/dashboard_share_info.md +15 -0
  139. package/skills/ae-analysis/references/dashboard_task_status.md +15 -0
  140. package/skills/ae-analysis/references/dashboard_update.md +16 -0
  141. package/skills/ae-analysis/references/favorite_add.md +15 -0
  142. package/skills/ae-analysis/references/favorite_remove.md +15 -0
  143. package/skills/ae-analysis/references/folder_create.md +15 -0
  144. package/skills/ae-analysis/references/folder_delete.md +15 -0
  145. package/skills/ae-analysis/references/folder_members.md +15 -0
  146. package/skills/ae-analysis/references/folder_share.md +15 -0
  147. package/skills/ae-analysis/references/project_space_create.md +15 -0
  148. package/skills/ae-analysis/references/project_space_delete.md +15 -0
  149. package/skills/ae-analysis/references/project_space_get.md +18 -0
  150. package/skills/ae-analysis/references/project_space_list.md +15 -0
  151. package/skills/ae-analysis/references/project_space_members.md +15 -0
  152. package/skills/ae-analysis/references/project_space_share.md +15 -0
  153. package/skills/ae-analysis/references/public_link_create.md +15 -0
  154. package/skills/ae-analysis/references/public_link_delete.md +15 -0
  155. package/skills/ae-analysis/references/public_link_list.md +15 -0
  156. package/skills/ae-analysis/references/public_link_offline.md +15 -0
  157. package/skills/ae-analysis/references/public_link_update.md +15 -0
  158. package/skills/ae-analysis/references/query_cancel.md +15 -0
  159. package/skills/ae-analysis/references/run_inspect.md +22 -0
  160. package/skills/ae-dataops/references/dataops-flow-create.md +2 -2
  161. package/skills/ae-dataops/references/dataops-flow-monitor.md +3 -3
  162. package/skills/ae-dataops/references/dataops-integration.md +1 -0
  163. package/skills/ae-engage/references/flow-node-config-schema.md +32 -8
  164. package/skills/ae-engage/references/save-flow.md +65 -29
  165. package/skills/ae-engage/references/validate-flow-node-config.md +28 -10
  166. package/skills/ae-generate-tracking-plan/SKILL.md +9 -7
  167. package/skills/ae-metadata/references/metadata_data_table_csv_write.md +5 -3
  168. package/skills/ae-metadata/references/metadata_data_table_sql_write.md +5 -4
  169. package/skills/ae-metadata/references/metadata_property_dimension_table_create_and_bind_csv.md +5 -3
  170. package/dist/auth-I2G7OAU2.js +0 -19
  171. package/dist/chunk-FPE5LGVU.js +0 -105
  172. package/dist/cli-token-6AGEDJF4.js +0 -14
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkingai/ae-cli",
3
- "version": "6.0.22",
3
+ "version": "6.0.27",
4
4
  "description": "CLI tool for ThinkingAI (AE) analytics platform",
5
5
  "type": "module",
6
6
  "bin": {
@@ -33,6 +33,7 @@
33
33
  "verify:self-check-overlay": "node test/self-check-overlay.test.mjs",
34
34
  "verify:update-check": "npx tsx test/update-check.test.mjs",
35
35
  "self-check": "node self-check/scan.mjs",
36
+ "sync:skills-to-db": "node scripts/sync-skills-to-db.mjs",
36
37
  "check:agents-docs": "node scripts/check-agents-docs-sync.mjs",
37
38
  "prepublishOnly": "npm run build",
38
39
  "start": "node dist/index.js",
@@ -67,6 +68,7 @@
67
68
  "@types/node": "^22.0.0",
68
69
  "@types/turndown": "^5.0.6",
69
70
  "@types/ws": "^8.5.0",
71
+ "mysql2": "^3.22.6",
70
72
  "tsup": "^8.0.0",
71
73
  "tsx": "^4.0.0",
72
74
  "typescript": "^5.5.0"
@@ -1,174 +1,205 @@
1
1
  ---
2
2
  name: ae-agent
3
- version: 1.1.0
3
+ version: 1.2.0
4
4
  description: "AE Agent platform resource management CLI for listing Agents, creating and updating automations, adding/removing/listing/toggling custom models, MCP servers, Skills, uploading sandbox files to the attachment library, browsing the MCP/Skill market, setting market category/icon, copying system/company Skills to personal, and submitting/approving/sharing Skills. Use when the user asks to manage Agent platform resources, browse the market, or create scheduled Agent automations. Must use ae-cli agent commands."
5
5
  ---
6
6
 
7
7
  # ae-agent
8
8
 
9
+ > **CRITICAL — Before running any `+<command>` command, you MUST first read the corresponding `references/<command>.md`.** The reference filename equals the command name without the leading `+`, for example `+add-mcp` → `references/add-mcp.md`.
10
+ > **CRITICAL — Never guess record IDs (Agent / automation / model / MCP / Skill / submission / share / attachment).** Always use the appropriate `+list-*` command to discover real IDs first.
11
+ > **CRITICAL — All Agent platform resources are served under the `/api/sandbox/agent/*` path.** Do not reference legacy paths.
12
+
9
13
  AE CLI (`ae-cli`) agent platform resource commands are invoked through:
10
14
 
11
15
  ```bash
12
16
  ae-cli agent +<command> [options]
13
17
  ```
14
18
 
15
- ## Global Rules
19
+ All commands live under the `agent` service. Quick help:
20
+
21
+ ```bash
22
+ ae-cli agent --help
23
+ ae-cli agent +list-agents --help
24
+ ae-cli agent +create-automation --help
25
+ ```
26
+
27
+ ## Global AE CLI Rules
16
28
 
17
29
  - Use this skill for Agent platform resource management: Agents, automations, models, MCP servers, Skills, attachments, the MCP/Skill market, and Skill copy/approval/share flows.
18
- - Read operations can run directly. Write operations require explicit user intent and normally keep the confirmation prompt unless `--yes` is passed.
19
- - Prefer `--dry-run` before destructive writes.
20
- - Only personal scope resources can be created or deleted; company/system resources are read-only in the CLI (exception: root users can approve/reject submissions and set company-scope meta).
30
+ - **Read operations** (`+list-*`) can run directly once required IDs are known.
31
+ - **Write operations** require explicit user intent and keep the confirmation prompt by default. Pass `--yes` only in fully automated pipelines.
32
+ - Prefer `--dry-run` before destructive writes to inspect the request shape without executing.
33
+ - Personal and company scope resources can be created/updated/deleted; company scope requires root/agent_admin role; system resources are read-only (exception: root users can approve/reject submissions and set company-scope meta).
21
34
  - Toggle operations on company/system resources only affect the current user's preference, not the global state.
35
+ - Never invent record IDs. Discover them with `+list-*` commands or accept them from the user.
22
36
  - JSON flags must be valid JSON strings, usually wrapped in single quotes in shell.
23
- - Successful commands return JSON by default. Use `--format table` when a table is easier to scan.
24
- - `--host <url>` overrides the active AE host. It is available on every command and may be placed after the subcommand, e.g. `ae-cli agent +<command> --host <url>`.
25
37
 
26
- ## Commands
38
+ ### Global Parameters
27
39
 
28
- ### Agents
40
+ | Parameter | Description |
41
+ |---|---|
42
+ | `--format <json\|table>` | Output format. Default is JSON. |
43
+ | `--host <url>` | Override the active AE host. Available on every command and may be placed after the subcommand, e.g. `ae-cli agent +<command> --host <url>`. |
44
+ | `--yes` | Skip confirmation for write operations. |
45
+ | `--dry-run` | Show request details (method + URL + body) without executing. |
29
46
 
30
- | Command | Risk | Purpose |
31
- | -------------- | ---: | -------------------------------------------------------------- |
32
- | `+list-agents` | read | List Agents visible to current user (personal/company/system). |
47
+ ### Output and Errors
33
48
 
34
- ### Automations
49
+ - Successful commands return machine-readable JSON by default. Use `--format table` when a table is easier to scan.
50
+ - Failed commands return `{ "ok": false, "error": { "type": "...", "message": "...", "hint": "..." } }` and exit non-zero.
35
51
 
36
- | Command | Risk | Purpose |
37
- | -------------------- | ----: | -------------------------------------- |
38
- | `+create-automation` | write | Create an Agent automation task. |
52
+ ## When to Use
39
53
 
40
- ### Models
54
+ Use `ae-agent` for all Agent platform resource work:
41
55
 
42
- | Command | Risk | Purpose |
43
- | --------------- | ----: | -------------------------------------------------------------- |
44
- | `+list-models` | read | List models visible to current user (personal/company/system). |
45
- | `+add-model` | write | Add a custom model (personal scope). |
46
- | `+del-model` | write | Delete a personal model. |
47
- | `+toggle-model` | write | Enable or disable a model. |
56
+ - **Agents & automations**: list Agents, create / list / update scheduled Agent automations.
57
+ - **Models**: list, add, delete, toggle custom models.
58
+ - **MCP servers**: list, add, delete, toggle MCP servers; browse the MCP market; set market meta.
59
+ - **Skills**: list, add, delete, toggle Skills; browse the Skill market; set market meta; copy system/company Skills to personal; submit/approve/reject company-scope Skills; share/accept/reject peer-to-peer Skills.
60
+ - **Attachments**: list, upload, soft-delete sandbox files in the attachment library.
48
61
 
49
- ### MCP Servers
62
+ If the user's intent is data analysis, audience management, metadata governance, TeamRuns, or knowledge bases, switch to `ae-analysis` / `ae-engage` / `ae-dataops` / `ae-team` / `ae-kb`.
50
63
 
51
- | Command | Risk | Purpose |
52
- | ------------- | ----: | ----------------------------------------- |
53
- | `+list-mcps` | read | List MCP servers visible to current user. |
54
- | `+add-mcp` | write | Add an MCP server (personal scope). |
55
- | `+del-mcp` | write | Delete a personal MCP server. |
56
- | `+toggle-mcp` | write | Enable or disable an MCP server. |
64
+ ## Tool Groups (66 commands)
57
65
 
58
- ### Skills
66
+ ### Agents (5)
59
67
 
60
- | Command | Risk | Purpose |
61
- | --------------- | ----: | ------------------------------------------ |
62
- | `+list-skills` | read | List Skills visible to current user. |
63
- | `+add-skill` | write | Create a custom Skill (personal scope). |
64
- | `+del-skill` | write | Delete a personal Skill (physical delete). |
65
- | `+toggle-skill` | write | Enable or disable a Skill. |
68
+ - `+list-agents` ([doc](references/list-agents.md)) — list Agents visible to current user (personal/company/system)
69
+ - `+create-agent` ([doc](references/create-agent.md)) create a new Agent (personal/company scope; company requires root/agent_admin; name/description/instructions/model/mcp-ids/skill-ids)
70
+ - `+update-agent` ([doc](references/update-agent.md)) update an Agent's name/description/instructions/model/mcp-ids/skill-ids/enabled
71
+ - `+del-agent` ([doc](references/del-agent.md)) soft-delete a personal/company Agent (company requires root/agent_admin; system Agents cannot be deleted)
72
+ - `+get-agent` ([doc](references/get-agent.md)) get a single Agent's detail
66
73
 
67
- ### Market (browse)
74
+ ### Automations (3)
68
75
 
69
- | Command | Risk | Purpose |
70
- | -------------------- | ----: | ------------------------------------------------------------------------ |
71
- | `+list-mcp-market` | read | List MCP servers from the market (filter by scope/category/search/sort). |
72
- | `+list-skill-market` | read | List Skills from the market (only approved; same filters). |
76
+ - `+list-automations` ([doc](references/list-automations.md)) list current user's Agent automation tasks
77
+ - `+create-automation` ([doc](references/create-automation.md)) create an Agent automation task (hourly/daily/weekly/monthly or cron)
78
+ - `+update-automation` ([doc](references/update-automation.md)) update an automation's name, instruction, schedule, or enabled state
73
79
 
74
- ### Category & Icon (meta)
80
+ ### Models (6)
75
81
 
76
- | Command | Risk | Purpose |
77
- | ----------------- | ----: | ----------------------------------------------------------------------------- |
78
- | `+set-mcp-meta` | write | Update an MCP server market category/icon. Company requires root; system RO. |
79
- | `+set-skill-meta` | write | Update a Skill market category/icon. Company requires root; system RO. |
82
+ - `+list-models` ([doc](references/list-models.md)) — list models visible to current user (personal/company/system)
83
+ - `+add-model` ([doc](references/add-model.md)) add a custom model (personal/company scope; company requires root/agent_admin)
84
+ - `+update-model` ([doc](references/update-model.md)) update a custom model (personal/company scope; company requires root/agent_admin; apiKey left blank to keep existing)
85
+ - `+del-model` ([doc](references/del-model.md)) delete a personal/company model (company requires root/agent_admin)
86
+ - `+toggle-model` ([doc](references/toggle-model.md)) — enable or disable a model
87
+ - `+test-model` ([doc](references/test-model.md)) — test custom model connectivity (LLM only)
80
88
 
81
- ### Copy to personal
89
+ ### MCP Servers (14)
82
90
 
83
- | Command | Risk | Purpose |
84
- | ------------- | ----: | ---------------------------------------------------------------------- |
85
- | `+copy-skill` | write | Copy a system/company Skill to a personal copy (independent duplicate). |
91
+ - `+list-mcps` ([doc](references/list-mcps.md)) — list MCP servers visible to current user
92
+ - `+add-mcp` ([doc](references/add-mcp.md)) add an MCP server (personal/company scope; company requires root/agent_admin)
93
+ - `+update-mcp` ([doc](references/update-mcp.md)) update an MCP server's config (url/transport/headers/auth-mode; connectivity validated)
94
+ - `+del-mcp` ([doc](references/del-mcp.md)) — delete a personal MCP server
95
+ - `+toggle-mcp` ([doc](references/toggle-mcp.md)) — enable or disable an MCP server
96
+ - `+mcp-tools` ([doc](references/mcp-tools.md)) — list tools provided by an MCP server (OAuth auto-refresh)
97
+ - `+mcp-auth-start` ([doc](references/mcp-auth-start.md)) — start OAuth authorization (cliMode; print authorizeUrl, then poll with +mcp-auth-status)
98
+ - `+mcp-auth-status` ([doc](references/mcp-auth-status.md)) — query OAuth status (not_required/needs_auth/authenticated/reauth_required/disabled)
99
+ - `+mcp-auth-disconnect` ([doc](references/mcp-auth-disconnect.md)) — disconnect OAuth, clear token and disable
100
+ - `+list-mcp-credentials` ([doc](references/list-mcp-credentials.md)) — list per-user credentials for system MCPs
101
+ - `+set-mcp-credential` ([doc](references/set-mcp-credential.md)) — upsert a per-user MCP credential (oauth/apikey)
102
+ - `+auto-provision-mcp-credentials` ([doc](references/auto-provision-mcp-credentials.md)) — auto-inject credentials for all system MCPs (uses session token by default)
103
+ - `+mcp-token` ([doc](references/mcp-token.md)) — get the shared MCP token (useMcpToken=true; plaintext, mind shell history)
104
+ - `+mcp-stats` ([doc](references/mcp-stats.md)) — MCP call stats for recent N days (`--days` 1-365 default 30; by server / by day)
86
105
 
87
- ### Skill Approval (company-scope publish)
106
+ ### Skills (4)
88
107
 
89
- | Command | Risk | Purpose |
90
- | -------------------------- | ----: | ------------------------------------------------------------------ |
91
- | `+submit-skill` | write | Submit a personal Skill for company-scope review. |
92
- | `+list-skill-submissions` | read | List submissions (root sees all; others see only their own). |
93
- | `+cancel-skill-submission` | write | Cancel a pending submission (submitter or root). |
94
- | `+approve-skill` | write | Approve a submission (root only). Creates a company-scope copy. |
95
- | `+reject-skill` | write | Reject a submission with a reason (root only). |
108
+ - `+list-skills` ([doc](references/list-skills.md)) — list Skills visible to current user
109
+ - `+add-skill` ([doc](references/add-skill.md)) create a custom Skill (personal/company scope; company requires root/agent_admin)
110
+ - `+del-skill` ([doc](references/del-skill.md)) delete a personal Skill (physical delete)
111
+ - `+toggle-skill` ([doc](references/toggle-skill.md)) enable or disable a Skill
96
112
 
97
- ### Skill Share (peer-to-peer)
113
+ ### Skill content & assets (16)
98
114
 
99
- | Command | Risk | Purpose |
100
- | --------------------- | ----: | ----------------------------------------------------------------- |
101
- | `+share-skill` | write | Share a personal Skill to a same-company user. |
102
- | `+list-skill-shares` | read | List Skill shares (received by default; `--direction sent`). |
103
- | `+accept-skill-share` | write | Accept a received share (creates a personal copy for recipient). |
104
- | `+reject-skill-share` | write | Reject a received share. |
115
+ - `+edit-skill` ([doc](references/edit-skill.md)) — edit a Skill's content (name/description/instructions/category/icon)
116
+ - `+get-skill-content` ([doc](references/get-skill-content.md)) read a Skill's SKILL.md source
117
+ - `+list-skill-assets` ([doc](references/list-skill-assets.md)) list asset files of a Skill
118
+ - `+upload-skill-asset` ([doc](references/upload-skill-asset.md)) upload an asset file (`isDangerousFile` checked; 1MB)
119
+ - `+read-skill-asset` ([doc](references/read-skill-asset.md)) read an asset file (binary-safe with `--output`)
120
+ - `+del-skill-asset` ([doc](references/del-skill-asset.md)) delete an asset file
121
+ - `+list-skill-references` ([doc](references/list-skill-references.md)) — list reference files (`.md` only)
122
+ - `+upload-skill-reference` ([doc](references/upload-skill-reference.md)) — upload a reference file (`.md` only; 1MB)
123
+ - `+read-skill-reference` ([doc](references/read-skill-reference.md)) — read a reference file
124
+ - `+del-skill-reference` ([doc](references/del-skill-reference.md)) — delete a reference file
125
+ - `+list-skill-scripts` ([doc](references/list-skill-scripts.md)) — list script files of a Skill
126
+ - `+upload-skill-script` ([doc](references/upload-skill-script.md)) — upload a script file (`isDangerousFile` checked; 1MB)
127
+ - `+read-skill-script` ([doc](references/read-skill-script.md)) — read a script file (binary-safe with `--output`)
128
+ - `+del-skill-script` ([doc](references/del-skill-script.md)) — delete a script file
129
+ - `+upload-skill` ([doc](references/upload-skill.md)) — create/replace a Skill from a ZIP package (parses SKILL.md; 5MB)
130
+ - `+rescan-skills` ([doc](references/rescan-skills.md)) — rescan local filesystem and sync Skills to DB (root only)
105
131
 
106
- ### Attachments
132
+ ### Market (browse) (2)
107
133
 
108
- | Command | Risk | Purpose |
109
- | ------------------- | ----: | --------------------------------------------- |
110
- | `+list-attachments` | read | List user attachments (paginated). |
111
- | `+add-attachment` | write | Upload sandbox file(s) to attachment library. |
112
- | `+del-attachment` | write | Soft-delete an attachment. |
134
+ - `+list-mcp-market` ([doc](references/list-mcp-market.md)) — list MCP servers from the market (filter by scope/category/search/sort)
135
+ - `+list-skill-market` ([doc](references/list-skill-market.md)) list Skills from the market (only approved; same filters)
113
136
 
114
- ## Usage Examples
137
+ ### Category & Icon (meta) (2)
115
138
 
116
- ### List all visible models
139
+ - `+set-mcp-meta` ([doc](references/set-mcp-meta.md)) update an MCP server market category/icon (company requires root; system RO)
140
+ - `+set-skill-meta` ([doc](references/set-skill-meta.md)) — update a Skill market category/icon (company requires root; system RO)
117
141
 
118
- ```bash
119
- ae-cli agent +list-models
120
- ae-cli agent +list-models --scope personal --format table
121
- ```
142
+ ### Copy to personal (1)
122
143
 
123
- ### List all visible Agents
144
+ - `+copy-skill` ([doc](references/copy-skill.md)) copy a system/company Skill to a personal copy (independent duplicate)
124
145
 
125
- ```bash
126
- ae-cli agent +list-agents
127
- ae-cli agent +list-agents --scope personal --q "daily"
128
- ```
146
+ ### Skill Approval (company-scope publish) (5)
129
147
 
130
- ### Create an enabled daily automation
148
+ - `+submit-skill` ([doc](references/submit-skill.md)) submit a personal Skill for company-scope review
149
+ - `+list-skill-submissions` ([doc](references/list-skill-submissions.md)) — list submissions (root sees all; others see only their own)
150
+ - `+cancel-skill-submission` ([doc](references/cancel-skill-submission.md)) — cancel a pending submission (submitter or root)
151
+ - `+approve-skill` ([doc](references/approve-skill.md)) — approve a submission (root only). Creates a company-scope copy
152
+ - `+reject-skill` ([doc](references/reject-skill.md)) — reject a submission with a reason (root only)
131
153
 
132
- ```bash
133
- ae-cli agent +create-automation \
134
- --name "Daily AI Brief" \
135
- --schedule-kind daily \
136
- --time 09:00 \
137
- --message "Summarize yesterday's AI news" \
138
- --yes
154
+ ### Skill Share (peer-to-peer) (4)
139
155
 
140
- # Create but keep paused when the user explicitly asks not to enable it.
156
+ - `+share-skill` ([doc](references/share-skill.md)) share a personal Skill to a same-company user
157
+ - `+list-skill-shares` ([doc](references/list-skill-shares.md)) — list Skill shares (received by default; `--direction sent`)
158
+ - `+accept-skill-share` ([doc](references/accept-skill-share.md)) — accept a received share (creates a personal copy for recipient)
159
+ - `+reject-skill-share` ([doc](references/reject-skill-share.md)) — reject a received share
160
+
161
+ ### Attachments (4)
162
+
163
+ - `+list-attachments` ([doc](references/list-attachments.md)) — list user attachments (paginated)
164
+ - `+add-attachment` ([doc](references/add-attachment.md)) — upload sandbox file(s) to attachment library
165
+ - `+del-attachment` ([doc](references/del-attachment.md)) — soft-delete an attachment
166
+ - `+attachment-stats` ([doc](references/attachment-stats.md)) — attachment library stats (total count/size, image/document breakdown)
167
+
168
+ ## Cross-Command Notes
169
+
170
+ - **Automation IDs**: use `+list-automations` to find the target ID internally, but do not surface raw automation IDs, raw JSON, or concrete detail paths in user-facing replies.
171
+ - **MCP connectivity**: `+add-mcp` does NOT validate server connectivity — an unreachable URL is accepted at create time and only fails when the agent calls the MCP at runtime. Double-check the URL.
172
+ - **Attachments**: upload supports files up to 50MB each, with a 1GB user quota. Batch uploads support partial success — individual file failures don't affect others.
173
+ - **Skill `--instructions @-`**: reads from stdin, useful for piping long instruction text.
174
+ - **Market category keys**: `ae_preset | dev_tool | search_tool | data_query | content_gen | enterprise | life | automation | other`. Sort options: `newest | calls | likes` (`calls` sorts MCP by call count, Skill by download count). Market scope: `all | system | company | custom` (`custom` = personal).
175
+ - **Meta on create/copy**: `+add-mcp` / `+add-skill` / `+copy-skill` accept optional `--category / --icon-emoji / --icon-color`; these are applied via a follow-up meta PATCH after creation. MCP creation still does NOT validate server connectivity.
176
+ - **Copy vs toggle**: `+copy-skill` copies a system/company Skill to an independent personal copy. MCP has no copy (use `+toggle-mcp` to enable a system/company MCP per-user).
177
+ - **Approval & share are Skill-only**: MCP has no approval or share flow. `+approve-skill` / `+reject-skill` require root.
178
+ - **`--id` semantics differ by command**: `+submit-skill` / `+share-skill` / `+copy-skill` take a Skill ID; `+cancel-skill-submission` / `+approve-skill` / `+reject-skill` take a submission ID; `+accept-skill-share` / `+reject-skill-share` take a share ID.
179
+
180
+ ## Typical Workflows
181
+
182
+ ### Create a scheduled automation
183
+
184
+ ```bash
185
+ # 1. Discover available Agents
186
+ ae-cli agent +list-agents
187
+
188
+ # 2. Create an enabled daily automation
141
189
  ae-cli agent +create-automation \
142
190
  --name "Daily AI Brief" \
143
191
  --schedule-kind daily \
144
192
  --time 09:00 \
145
193
  --message "Summarize yesterday's AI news" \
146
- --enabled false \
194
+ --agent-id <agent-id> \
147
195
  --yes
148
- ```
149
-
150
- ### Add a custom model
151
196
 
152
- ```bash
153
- ae-cli agent +add-model \
154
- --model-id gpt-4o \
155
- --name "GPT-4o" \
156
- --base-url "https://api.openai.com/v1" \
157
- --api-key "sk-xxx" \
158
- --provider openai
159
- ```
160
-
161
- ### Add an MCP server
162
-
163
- ```bash
164
- ae-cli agent +add-mcp \
165
- --name my-mcp \
166
- --url "https://mcp.example.com/mcp" \
167
- --transport http \
168
- --headers '{"Authorization":"Bearer token"}'
197
+ # 3. (Optional) Pause or edit later
198
+ ae-cli agent +list-automations --status active
199
+ ae-cli agent +update-automation --id <automation-id> --enabled false --yes
169
200
  ```
170
201
 
171
- ### Add an MCP with a market category and icon
202
+ ### Add an MCP server with market meta
172
203
 
173
204
  ```bash
174
205
  ae-cli agent +add-mcp \
@@ -177,97 +208,35 @@ ae-cli agent +add-mcp \
177
208
  --transport http \
178
209
  --headers '{"Authorization":"Bearer token"}' \
179
210
  --category dev_tool \
180
- --icon-emoji robot
181
- ```
182
-
183
- ### Create a Skill with inline instructions
184
-
185
- ```bash
186
- ae-cli agent +add-skill \
187
- --name code-reviewer \
188
- --description "Reviews code for best practices" \
189
- --instructions "You are a code reviewer. Analyze the code for..."
190
- ```
191
-
192
- ### Create a Skill with instructions from stdin
193
-
194
- ```bash
195
- echo "You are a helpful assistant that..." | \
196
- ae-cli agent +add-skill --name helper --description "Helper skill" --instructions @-
197
- ```
198
-
199
- ### Browse the market
200
-
201
- ```bash
202
- ae-cli agent +list-mcp-market --scope company --category dev_tool --sort calls
203
- ae-cli agent +list-skill-market --search "code review" --sort newest --format table
204
- ```
205
-
206
- ### Set market category / icon
207
-
208
- ```bash
209
- ae-cli agent +set-mcp-meta --id <mcp-cuid> --category dev_tool --icon-emoji robot
210
- ae-cli agent +set-skill-meta --id <skill-cuid> --category data_query
211
+ --icon-emoji robot \
212
+ --yes
211
213
  ```
212
214
 
213
- ### Copy a system/company Skill to personal
215
+ ### Publish a personal Skill to the company (root review)
214
216
 
215
217
  ```bash
216
- ae-cli agent +copy-skill --id <skill-cuid>
217
- ae-cli agent +copy-skill --id <skill-cuid> --category dev_tool --icon-emoji robot
218
- ```
218
+ # 1. Create a Skill
219
+ ae-cli agent +add-skill --name code-reviewer --description "Reviews code" --instructions "You are a code reviewer..."
219
220
 
220
- ### Submit a Skill for company approval
221
-
222
- ```bash
221
+ # 2. Submit for company review
223
222
  ae-cli agent +submit-skill --id <skill-cuid> --description "Code reviewer for the team"
224
- ```
225
-
226
- ### Review approvals (root)
227
223
 
228
- ```bash
224
+ # 3. Root reviews and approves
229
225
  ae-cli agent +list-skill-submissions --status pending
230
- ae-cli agent +approve-skill --id <submission-cuid>
231
- ae-cli agent +reject-skill --id <submission-cuid> --reason "Needs more detail"
226
+ ae-cli agent +approve-skill --id <submission-cuid> --yes
232
227
  ```
233
228
 
234
229
  ### Share a Skill peer-to-peer
235
230
 
236
231
  ```bash
237
- ae-cli agent +share-skill --id <skill-cuid> --to-user-id <user-id>
232
+ ae-cli agent +share-skill --id <skill-cuid> --to-user-id <user-id> --yes
233
+ # Recipient accepts:
238
234
  ae-cli agent +list-skill-shares --direction received --status pending
239
- ae-cli agent +accept-skill-share --id <share-cuid>
240
- ```
241
-
242
- ### Upload a single file to attachment library
243
-
244
- ```bash
245
- ae-cli agent +add-attachment --file ./output/report.png
246
- ```
247
-
248
- ### Upload multiple files
249
-
250
- ```bash
251
- ae-cli agent +add-attachment --files '["./report.png", "./data.csv", "./chart.pdf"]'
235
+ ae-cli agent +accept-skill-share --id <share-cuid> --yes
252
236
  ```
253
237
 
254
- ### Toggle a model on/off
238
+ ## Quick Verification
255
239
 
256
240
  ```bash
257
- ae-cli agent +toggle-model --id <model-cuid> --enabled true
258
- ae-cli agent +toggle-model --id <model-cuid> --enabled false
241
+ ae-cli agent --help
259
242
  ```
260
-
261
- ## Notes
262
-
263
- - Only `personal` scope resources can be created or deleted via CLI.
264
- - Automations are enabled by default; pass `--enabled false` only when the user explicitly asks to create or update the task without enabling it. Use `+list-automations` to find the target ID internally, but do not show automation IDs, raw JSON, or concrete detail paths in user-facing replies.
265
- - MCP creation does NOT validate server connectivity — an unreachable URL is accepted at create time and only fails when the agent actually calls the MCP at runtime. Double-check the URL.
266
- - Attachment upload supports files up to 50MB each, with a 1GB user quota.
267
- - Batch attachment uploads support partial success — individual file failures don't affect others.
268
- - Skill `--instructions @-` reads from stdin, useful for piping long instruction text.
269
- - Market category keys: `ae_preset | dev_tool | search_tool | data_query | content_gen | enterprise | life | automation | other`. Sort options: `newest | calls | likes` (`calls` sorts MCP by call count, Skill by download count). Market scope: `all | system | company | custom` (`custom` = personal).
270
- - `+add-mcp` / `+add-skill` accept optional `--category / --icon-emoji / --icon-color`; these are applied via a follow-up meta PATCH after creation. MCP creation still does NOT validate server connectivity.
271
- - `+copy-skill` copies a system/company Skill to an independent personal copy. Optional `--category / --icon-emoji / --icon-color` override the copy's market meta; omit them to inherit the source's. MCP has no copy (use `+toggle-mcp` to enable a system/company MCP per-user).
272
- - Approval and share flows are Skill-only; MCP has no approval or share. `+approve-skill` / `+reject-skill` require root.
273
- - `--id` semantics differ by command: `+submit-skill` / `+share-skill` / `+copy-skill` take a Skill ID; `+cancel-skill-submission` / `+approve-skill` / `+reject-skill` take a submission ID; `+accept-skill-share` / `+reject-skill-share` take a share ID.
@@ -0,0 +1,39 @@
1
+ # agent +accept-skill-share (Accept Skill Share)
2
+
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
+
5
+ Domain: **Skill Share (peer-to-peer) / write**
6
+
7
+ ## Use Cases
8
+ - Accept a received Skill share.
9
+ - Endpoint: `POST /api/sandbox/agent/skills/shares/[id]/accept`.
10
+ - Accepting creates an independent personal copy of the Skill for the recipient.
11
+ - Sharing is Skill-only — MCP has no share flow.
12
+
13
+ ## Mandatory Rules (MUST)
14
+ - `--id` is required and must reference a **share** record (CUID), not a Skill ID. Obtain it via `+list-skill-shares --direction received` — do not guess.
15
+ - Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
16
+ - Only `pending` shares can be accepted.
17
+
18
+ ## Command
19
+ ```bash
20
+ ae-cli agent +accept-skill-share --id <share-cuid> --yes
21
+ ae-cli agent +accept-skill-share --dry-run --id <share-cuid>
22
+ ```
23
+
24
+ ## Parameters
25
+ | Parameter | Required | Description |
26
+ |---|---|---|
27
+ | `--id` | Yes | Share record ID (CUID) |
28
+
29
+ ## Decision Rules
30
+ - `--id` here is a share ID (not a Skill ID) — `+share-skill` takes a Skill ID instead.
31
+ - Use this after receiving a share (`+list-skill-shares --direction received --status pending`).
32
+ - Accepting creates an independent personal copy; the source Skill is unaffected.
33
+ - Cannot accept a share that is already `accepted` / `rejected`.
34
+
35
+ ## Next Steps on Failure
36
+ - `404` / not found: re-run `+list-skill-shares --direction received --status pending` to verify the share ID.
37
+
38
+ ## Recommended Chaining
39
+ - `+list-skill-shares --direction received --status pending` → confirm share `id` → `+accept-skill-share` → `+list-skills` (verify the new copy)
@@ -0,0 +1,57 @@
1
+ # agent +add-attachment (Upload Attachments)
2
+
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
+
5
+ Domain: **Attachments / write**
6
+
7
+ ## Use Cases
8
+ - Upload sandbox file(s) to the attachment library.
9
+ - Endpoint: `POST /api/sandbox/agent/attachments/upload`.
10
+ - Supports single-file (`--file`) or batch (`--files`) uploads.
11
+ - MIME type is inferred from the file extension.
12
+
13
+ ## Mandatory Rules (MUST)
14
+ - Exactly one of `--file` or `--files` must be provided (they are mutually exclusive).
15
+ - `--files` must be a valid JSON array of string paths, e.g. `'["./a.png","./b.pdf"]'`.
16
+ - Each file must exist on disk; non-existent paths raise an error.
17
+ - Attachment upload supports files up to 50MB each, with a 1GB user quota.
18
+ - Batch uploads support partial success — individual file failures don't affect others.
19
+ - Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
20
+
21
+ ## Command
22
+ ```bash
23
+ # Single file
24
+ ae-cli agent +add-attachment --file ./output/report.png --yes
25
+
26
+ # Multiple files
27
+ ae-cli agent +add-attachment --files '["./report.png", "./data.csv", "./chart.pdf"]' --yes
28
+
29
+ # Dry-run to inspect the request before executing
30
+ ae-cli agent +add-attachment --dry-run --file ./output/report.png
31
+ ```
32
+
33
+ ## Parameters
34
+ | Parameter | Required | Description |
35
+ |---|---|---|
36
+ | `--file` | No* | Single file path |
37
+ | `--files` | No* | JSON array of file paths, e.g. `'["./a.png","./b.pdf"]'` |
38
+
39
+ \* Exactly one of `--file` or `--files` is required.
40
+
41
+ ## Decision Rules
42
+ - For a single file, use `--file`; for multiple files, use `--files` with a JSON array.
43
+ - Do not pass both `--file` and `--files` — they are mutually exclusive.
44
+ - Verify file paths exist before uploading; the CLI reads them from disk.
45
+ - Use `--dry-run` first to verify the request shape before executing.
46
+
47
+ ## Supported MIME Types (inferred from extension)
48
+ `.png` `.jpg` `.jpeg` `.gif` `.webp` `.svg` `.pdf` `.md` `.txt` `.csv` `.json` `.html` `.xml` `.doc` `.docx` `.xls` `.xlsx` `.pptx` `.zip` (others fall back to `application/octet-stream`).
49
+
50
+ ## Next Steps on Failure
51
+ - `--file and --files cannot be used together`: pick one.
52
+ - `File not found: <path>`: verify the path and that the file exists.
53
+ - `--files must be a valid JSON array`: check the JSON syntax.
54
+ - Partial failure in batch: check the response for per-file errors; successful files are still uploaded.
55
+
56
+ ## Recommended Chaining
57
+ - `+add-attachment` → `+list-attachments` (verify)
@@ -0,0 +1,75 @@
1
+ # agent +add-mcp (Add MCP Server)
2
+
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
+
5
+ Domain: **MCP Servers / write**
6
+
7
+ ## Use Cases
8
+ - Add an MCP server to the personal or company scope.
9
+ - Returns the newly created MCP server object including its `id`.
10
+ - `--scope personal` (default) creates a personal MCP server; `--scope company` creates a company MCP server (requires root/agent_admin).
11
+ - Optional market meta (`--category` / `--icon-emoji` / `--icon-color`) is applied via a follow-up PATCH to `/api/sandbox/agent/mcp-servers/[id]/meta`.
12
+
13
+ ## Mandatory Rules (MUST)
14
+ - `--name` and `--url` are required.
15
+ - `--name` must start with a letter and contain only letters, digits, `_`, or `-` (2–64 chars).
16
+ - `--url` must be a valid `http://` or `https://` URL (file://, ftp://, and other protocols are blocked).
17
+ - `--transport` must be `sse` or `http` (default `http`).
18
+ - `--headers` must be a valid JSON object when provided.
19
+ - `--category` must be one of the market category keys (see below) when provided.
20
+ - **MCP creation does NOT validate server connectivity** — an unreachable URL is accepted at create time and only fails when the agent calls the MCP at runtime. Double-check the URL.
21
+ - `--scope` controls target scope: `personal` (default) or `company`. Company scope requires root/agent_admin.
22
+ - Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
23
+
24
+ ## Market Category Keys
25
+ `ae_preset | dev_tool | search_tool | data_query | content_gen | enterprise | life | automation | other`
26
+
27
+ ## Command
28
+ ```bash
29
+ ae-cli agent +add-mcp \
30
+ --name my-mcp \
31
+ --url "https://mcp.example.com/mcp" \
32
+ --transport http \
33
+ --headers '{"Authorization":"Bearer token"}'
34
+
35
+ # With market category and icon
36
+ ae-cli agent +add-mcp \
37
+ --name my-mcp \
38
+ --url "https://mcp.example.com/mcp" \
39
+ --transport http \
40
+ --headers '{"Authorization":"Bearer token"}' \
41
+ --category dev_tool \
42
+ --icon-emoji robot \
43
+ --yes
44
+
45
+ # Dry-run to inspect the request before executing
46
+ ae-cli agent +add-mcp --dry-run --name my-mcp --url "https://mcp.example.com/mcp"
47
+ ```
48
+
49
+ ## Parameters
50
+ | Parameter | Required | Description |
51
+ |---|---|---|
52
+ | `--name` | Yes | Server name (2–64 chars, letter start, `[a-zA-Z0-9_-]`) |
53
+ | `--url` | Yes | MCP server URL (`http://` or `https://` only) |
54
+ | `--display-name` | No | Display name (max 100) |
55
+ | `--description` | No | Description (max 255) |
56
+ | `--transport` | No | `sse` \| `http` (default `http`) |
57
+ | `--headers` | No | HTTP headers as JSON object |
58
+ | `--category` | No | Market category key (see above) |
59
+ | `--icon-emoji` | No | Market icon emoji (e.g. `robot`) |
60
+ | `--icon-color` | No | Market icon color (e.g. `#1E76F0`) |
61
+ | `--scope` | No | Target scope: `personal` (default) or `company` (requires root/agent_admin) |
62
+
63
+ ## Decision Rules
64
+ - If the user provides an MCP spec, map the server identifier to `--name` and the endpoint to `--url`.
65
+ - Always verify the URL is reachable before creating — the CLI will not check connectivity.
66
+ - `--category` / `--icon-emoji` / `--icon-color` are optional market meta; they are applied via a follow-up PATCH after creation. If the meta update fails, the MCP is still created and a warning is printed to stderr.
67
+ - Use `--dry-run` first to verify the request shape before executing.
68
+
69
+ ## Next Steps on Failure
70
+ - `--name must start with a letter...`: rename the server to match the pattern.
71
+ - `--url only supports http:// or https:// protocols`: switch to an http(s) URL.
72
+ - Warning `MCP created but meta update failed`: the MCP exists; retry the meta with `+set-mcp-meta`.
73
+
74
+ ## Recommended Chaining
75
+ - `+list-mcp-market` (browse) → `+add-mcp` → `+list-mcps` (verify) → `+set-mcp-meta` (adjust meta)