@noelclaw/mcp 2.2.2 → 2.2.3

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.
@@ -67,10 +67,9 @@ exports.SWARM_TOOLS = [
67
67
  },
68
68
  {
69
69
  name: "swarm_research",
70
- description: "Task the swarm to research a topic right now triggers market-monitor and sentiment-tracker immediately, " +
71
- "and saves all findings to your vault as persistent research entries. " +
72
- "Unlike regular swarm runs (which only write to ephemeral memory), swarm_research always persists to vault. " +
73
- "Use this when you want the swarm to build up your knowledge base on a specific topic.",
70
+ description: "Research any topic using the multi-agent swarm automatically starts the swarm if needed, " +
71
+ "triggers market-monitor and sentiment-tracker immediately, and saves all findings to vault. " +
72
+ "Use this when the user asks the swarm to research, analyze, or dig into any token, protocol, or market topic.",
74
73
  inputSchema: {
75
74
  type: "object",
76
75
  properties: {
@@ -82,8 +81,8 @@ exports.SWARM_TOOLS = [
82
81
  },
83
82
  {
84
83
  name: "trigger_agent",
85
- description: "Manually trigger a single swarm agent to run right now without starting the full swarm. " +
86
- "Costs 100 credits per call (same as automatic runs). " +
84
+ description: "Run a single swarm agent immediatelyautomatically starts the swarm if needed. " +
85
+ "Costs 100 credits per call. " +
87
86
  "market-monitor fetches live price data, sentiment-tracker analyzes sentiment, " +
88
87
  "memory-manager compresses ephemeral memory, risk-verifier evaluates an action for risk. " +
89
88
  "Results are saved to vault automatically.",
@@ -243,6 +242,8 @@ async function handleSwarmTool(name, args) {
243
242
  if (!parsed.success)
244
243
  return { content: [{ type: "text", text: `Invalid input: ${parsed.error.issues[0].message}` }], isError: true };
245
244
  const { topic, depth = "standard" } = parsed.data;
245
+ // Auto-start swarm if not already running
246
+ await (0, convex_js_1.callConvex)("/swarm/start", "POST", {}, "start_swarm").catch(() => { });
246
247
  const data = await (0, convex_js_1.callConvex)("/swarm/research", "POST", { topic, depth }, "swarm_research");
247
248
  if (data.error)
248
249
  return { content: [{ type: "text", text: `Error: ${data.error}` }], isError: true };
@@ -266,6 +267,8 @@ async function handleSwarmTool(name, args) {
266
267
  if (!parsed.success)
267
268
  return { content: [{ type: "text", text: `Invalid input: ${parsed.error.issues[0].message}` }], isError: true };
268
269
  const { agentId, params = {} } = parsed.data;
270
+ // Auto-start swarm if not already running
271
+ await (0, convex_js_1.callConvex)("/swarm/start", "POST", {}, "start_swarm").catch(() => { });
269
272
  const data = await (0, convex_js_1.callConvex)("/swarm/trigger", "POST", { agentId, params }, "trigger_agent");
270
273
  if (data.error)
271
274
  return { content: [{ type: "text", text: `Error: ${data.error}` }], isError: true };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noelclaw/mcp",
3
- "version": "2.2.2",
3
+ "version": "2.2.3",
4
4
  "description": "Noelclaw as an MCP skill — persistent memory, multi-agent coordination, scenario simulation, DeFi execution, and Sentinel-gated playbooks.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {