@oneshot-agent/mcp-server 0.20.0 → 0.21.0

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.
package/README.md CHANGED
@@ -96,7 +96,7 @@ Read tools (inbox, SMS inbox, notifications, balance, browser profiles) return p
96
96
  ## Remote (hosted)
97
97
 
98
98
  Clients that run in someone else's cloud — Grok Bot, hosted runners — cannot spawn this
99
- server and must not hold a wallet key. For them OneShot hosts the same 50 tools over
99
+ server and must not hold a wallet key. For them OneShot hosts the same 53 tools over
100
100
  Streamable HTTP at **`https://win.oneshotagent.com/mcp`**, authenticated with an
101
101
  **agent access token** and billed to the agent's credit balance:
102
102
 
@@ -193,6 +193,9 @@ instead of the wallet variables for a credits-only session on your own machine.
193
193
  | `oneshot_compute_tasks` | List tasks planned/executed under a goal |
194
194
  | `oneshot_compute_cancel` | Cancel a goal and refund remaining budget |
195
195
  | `oneshot_compute_respond` | Respond to a human-in-the-loop task |
196
+ | `oneshot_compute_pause` | Pause a recurring goal — plan and progress are kept |
197
+ | `oneshot_compute_resume` | Resume a paused recurring goal |
198
+ | `oneshot_compute_fund` | Top up a recurring goal's USDC budget |
196
199
 
197
200
  ### Domains
198
201
 
package/dist/index.js CHANGED
@@ -52,7 +52,7 @@ async function main() {
52
52
  // Create MCP server
53
53
  const server = new Server({
54
54
  name: "oneshot-mcp",
55
- version: "0.20.0", // keep in sync with package.json; guarded by version.test.ts
55
+ version: "0.21.0", // keep in sync with package.json; guarded by version.test.ts
56
56
  }, {
57
57
  capabilities: {
58
58
  tools: {},
@@ -5,6 +5,9 @@ export declare const computeStatusTool: Tool;
5
5
  export declare const computeTasksTool: Tool;
6
6
  export declare const computeCancelTool: Tool;
7
7
  export declare const computeRespondTool: Tool;
8
+ export declare const computePauseTool: Tool;
9
+ export declare const computeResumeTool: Tool;
10
+ export declare const computeFundTool: Tool;
8
11
  export declare function handleCompute(agent: OneShot, args: Record<string, unknown>): Promise<import("@oneshot-agent/sdk").ComputeGoalResult>;
9
12
  export declare function handleComputeStatus(agent: OneShot, args: Record<string, unknown>): Promise<import("@oneshot-agent/sdk").ComputeGoalStatus>;
10
13
  export declare function handleComputeTasks(agent: OneShot, args: Record<string, unknown>): Promise<import("@oneshot-agent/sdk").ComputeTask[]>;
@@ -19,3 +22,20 @@ export declare function handleComputeRespond(agent: OneShot, args: Record<string
19
22
  task_status: string;
20
23
  orchestrator_action: string;
21
24
  }>;
25
+ export declare function handleComputePause(agent: OneShot, args: Record<string, unknown>): Promise<{
26
+ goal_id: string;
27
+ status: string;
28
+ run_count: number;
29
+ }>;
30
+ export declare function handleComputeResume(agent: OneShot, args: Record<string, unknown>): Promise<{
31
+ goal_id: string;
32
+ status: string;
33
+ next_run_at: string;
34
+ run_count: number;
35
+ }>;
36
+ export declare function handleComputeFund(agent: OneShot, args: Record<string, unknown>): Promise<{
37
+ goal_id: string;
38
+ topped_up: number;
39
+ total_budget: string;
40
+ remaining: string;
41
+ }>;
@@ -86,6 +86,41 @@ export const computeRespondTool = {
86
86
  required: ["goal_id", "task_id"],
87
87
  },
88
88
  };
89
+ export const computePauseTool = {
90
+ name: "oneshot_compute_pause",
91
+ description: "Pause a recurring compute goal. Its plan and progress are kept — the goal stops taking scheduled runs until resumed. Only recurring (scheduled) goals can be paused. Free.",
92
+ inputSchema: {
93
+ type: "object",
94
+ properties: {
95
+ goal_id: { type: "string", description: "Compute goal id" },
96
+ reason: { type: "string", description: "Optional pause reason" },
97
+ },
98
+ required: ["goal_id"],
99
+ },
100
+ };
101
+ export const computeResumeTool = {
102
+ name: "oneshot_compute_resume",
103
+ description: "Resume a paused recurring compute goal. Picks up on the existing plan at the next scheduled run — nothing is lost. Free.",
104
+ inputSchema: {
105
+ type: "object",
106
+ properties: {
107
+ goal_id: { type: "string", description: "Compute goal id" },
108
+ },
109
+ required: ["goal_id"],
110
+ },
111
+ };
112
+ export const computeFundTool = {
113
+ name: "oneshot_compute_fund",
114
+ description: "Top up the USDC budget of a recurring compute goal that is running low or has hit its cap. Quote-to-pay: moves USDC into the goal. Paid tool.",
115
+ inputSchema: {
116
+ type: "object",
117
+ properties: {
118
+ goal_id: { type: "string", description: "Compute goal id" },
119
+ amount: { type: "number", description: "Amount of USDC to add to the goal's budget" },
120
+ },
121
+ required: ["goal_id", "amount"],
122
+ },
123
+ };
89
124
  export async function handleCompute(agent, args) {
90
125
  return agent.compute({
91
126
  objective: args.objective,
@@ -113,3 +148,12 @@ export async function handleComputeRespond(agent, args) {
113
148
  approved: args.approved,
114
149
  });
115
150
  }
151
+ export async function handleComputePause(agent, args) {
152
+ return agent.pauseComputeGoal(args.goal_id, args.reason);
153
+ }
154
+ export async function handleComputeResume(agent, args) {
155
+ return agent.resumeComputeGoal(args.goal_id);
156
+ }
157
+ export async function handleComputeFund(agent, args) {
158
+ return agent.fundComputeGoal(args.goal_id, args.amount);
159
+ }
@@ -17,7 +17,7 @@ import { deepResearchPersonTool, socialProfilesTool, articleSearchTool, personNe
17
17
  import { companySearchTool, enrichCompanyTool, handleCompanySearch, handleEnrichCompany } from "./company.js";
18
18
  import { localSearchTool, localResolveTool, handleLocalSearch, handleLocalResolve } from "./local.js";
19
19
  import { govSolicitationsTool, handleGovSolicitations } from "./gov.js";
20
- import { computeTool, computeStatusTool, computeTasksTool, computeCancelTool, computeRespondTool, handleCompute, handleComputeStatus, handleComputeTasks, handleComputeCancel, handleComputeRespond } from "./compute.js";
20
+ import { computeTool, computeStatusTool, computeTasksTool, computeCancelTool, computeRespondTool, computePauseTool, computeResumeTool, computeFundTool, handleCompute, handleComputeStatus, handleComputeTasks, handleComputeCancel, handleComputeRespond, handleComputePause, handleComputeResume, handleComputeFund } from "./compute.js";
21
21
  import { listDomainsTool, pauseDomainTool, resumeDomainTool, handleListDomains, handlePauseDomain, handleResumeDomain } from "./domains.js";
22
22
  import { spendBreakdownTool, rocsTool, rocsByGoalTool, receiptsListTool, tagReceiptValueTool, handleSpendBreakdown, handleRocs, handleRocsByGoal, handleReceiptsList, handleTagReceiptValue } from "./analytics.js";
23
23
  // All available tools
@@ -58,6 +58,9 @@ export const tools = [
58
58
  computeTasksTool,
59
59
  computeCancelTool,
60
60
  computeRespondTool,
61
+ computePauseTool,
62
+ computeResumeTool,
63
+ computeFundTool,
61
64
  // Build
62
65
  buildTool,
63
66
  updateBuildTool,
@@ -122,6 +125,9 @@ const handlers = {
122
125
  "oneshot_compute_tasks": handleComputeTasks,
123
126
  "oneshot_compute_cancel": handleComputeCancel,
124
127
  "oneshot_compute_respond": handleComputeRespond,
128
+ "oneshot_compute_pause": handleComputePause,
129
+ "oneshot_compute_resume": handleComputeResume,
130
+ "oneshot_compute_fund": handleComputeFund,
125
131
  // Build
126
132
  "oneshot_build": handleBuild,
127
133
  "oneshot_update_build": handleUpdateBuild,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@oneshot-agent/mcp-server",
3
- "version": "0.20.0",
4
- "description": "MCP server for OneShot - 50 tools for AI agents",
3
+ "version": "0.21.0",
4
+ "description": "MCP server for OneShot - 53 tools for AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",