@oneshot-agent/mcp-server 0.29.0 → 0.30.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 +1 -1
- package/dist/index.js +1 -1
- package/dist/tools/analytics.js +6 -6
- package/dist/tools/annotations.js +3 -3
- package/dist/tools/compute.js +10 -0
- package/dist/tools/index.js +2 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -226,7 +226,7 @@ instead of the wallet variables for a credits-only session on your own machine.
|
|
|
226
226
|
| Tool | Description |
|
|
227
227
|
|------|-------------|
|
|
228
228
|
| `oneshot_spend_breakdown` | Spend by tool/category over a period |
|
|
229
|
-
| `
|
|
229
|
+
| `oneshot_return_on_spend` | Return on spend: cost vs. value produced |
|
|
230
230
|
| `oneshot_receipts_list` | List spend receipts |
|
|
231
231
|
| `oneshot_tag_receipt_value` | Tag a receipt with the value it generated |
|
|
232
232
|
|
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.
|
|
55
|
+
version: "0.30.0", // keep in sync with package.json; guarded by version.test.ts
|
|
56
56
|
}, {
|
|
57
57
|
capabilities: {
|
|
58
58
|
tools: {},
|
package/dist/tools/analytics.js
CHANGED
|
@@ -9,8 +9,8 @@ export const spendBreakdownTool = {
|
|
|
9
9
|
},
|
|
10
10
|
};
|
|
11
11
|
export const rocsTool = {
|
|
12
|
-
name: "
|
|
13
|
-
description: "Get
|
|
12
|
+
name: "oneshot_return_on_spend",
|
|
13
|
+
description: "Get the agent's return on spend over a period: what its tool calls cost compared with the value they produced (return on compute spend). Free.",
|
|
14
14
|
inputSchema: {
|
|
15
15
|
type: "object",
|
|
16
16
|
properties: {
|
|
@@ -39,7 +39,7 @@ export const tagReceiptValueTool = {
|
|
|
39
39
|
"Address it three ways: receipt_id (rcpt_…), request_id from the original tool call, " +
|
|
40
40
|
"or goal_id — a correlation key that attributes a whole cadence's outcome (a closed deal " +
|
|
41
41
|
"across the intro email + follow-ups + find/verify/enrich calls sharing decisionContext.goalId) " +
|
|
42
|
-
"in one call. Read goal-level rollups back with
|
|
42
|
+
"in one call. Read goal-level rollups back with oneshot_return_on_spend_by_goal. Free.",
|
|
43
43
|
inputSchema: {
|
|
44
44
|
type: "object",
|
|
45
45
|
properties: {
|
|
@@ -54,9 +54,9 @@ export const tagReceiptValueTool = {
|
|
|
54
54
|
},
|
|
55
55
|
};
|
|
56
56
|
export const rocsByGoalTool = {
|
|
57
|
-
name: "
|
|
58
|
-
description: "
|
|
59
|
-
"Answers 'what did this
|
|
57
|
+
name: "oneshot_return_on_spend_by_goal",
|
|
58
|
+
description: "Return on spend per goal: what each goal cost (receipts) compared with the value it produced (tagged outcomes), grouped by goal_id. " +
|
|
59
|
+
"Answers 'what did this goal cost vs. earn' in one query. Free.",
|
|
60
60
|
inputSchema: {
|
|
61
61
|
type: "object",
|
|
62
62
|
properties: {
|
|
@@ -64,7 +64,7 @@ export const TOOL_ANNOTATIONS = {
|
|
|
64
64
|
// LinkedIn
|
|
65
65
|
oneshot_linkedin_connect: write("Connect LinkedIn", OPEN),
|
|
66
66
|
oneshot_linkedin_accounts: read("List LinkedIn accounts", OWN),
|
|
67
|
-
oneshot_linkedin_sync:
|
|
67
|
+
oneshot_linkedin_sync: write("Sync LinkedIn messages", OPEN), // paid; imports history into the account
|
|
68
68
|
oneshot_linkedin_conversations: read("List LinkedIn conversations", OWN),
|
|
69
69
|
oneshot_linkedin_messages: read("Read LinkedIn messages", OWN),
|
|
70
70
|
oneshot_linkedin_reply: write("Send a LinkedIn message", OPEN),
|
|
@@ -78,8 +78,8 @@ export const TOOL_ANNOTATIONS = {
|
|
|
78
78
|
oneshot_resume_domain: write("Resume a sending domain", OWN),
|
|
79
79
|
// Analytics
|
|
80
80
|
oneshot_spend_breakdown: read("Show spending", OWN),
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
oneshot_return_on_spend: read("Show return on spend", OWN),
|
|
82
|
+
oneshot_return_on_spend_by_goal: read("Show return on spend by goal", OWN),
|
|
83
83
|
oneshot_receipts_list: read("List receipts", OWN),
|
|
84
84
|
oneshot_tag_receipt_value: write("Tag a receipt's value", OWN),
|
|
85
85
|
// Account
|
package/dist/tools/compute.js
CHANGED
|
@@ -34,6 +34,15 @@ export const computeTool = {
|
|
|
34
34
|
description: "Make this a recurring goal (cron-style schedule object)",
|
|
35
35
|
additionalProperties: true,
|
|
36
36
|
},
|
|
37
|
+
approvals: {
|
|
38
|
+
type: "object",
|
|
39
|
+
description: "Enforced approvals: any single tool call costing more than spend_over_usdc, or using a listed tool, waits for the goal owner's approval (oneshot_compute_respond on its human_approval task) before anything is spent. An approval covers exactly one call: that tool, those params, at most that amount.",
|
|
40
|
+
properties: {
|
|
41
|
+
spend_over_usdc: { type: "number", minimum: 0, description: "Hold any single call costing more than this (USDC)" },
|
|
42
|
+
tools: { type: "array", items: { type: "string" }, description: 'Always hold these tools, e.g. ["commerce_buy", "physical_mail", "voice", "soul_hire"]' },
|
|
43
|
+
},
|
|
44
|
+
additionalProperties: false,
|
|
45
|
+
},
|
|
37
46
|
},
|
|
38
47
|
required: ["objective"],
|
|
39
48
|
},
|
|
@@ -130,6 +139,7 @@ export async function handleCompute(agent, args) {
|
|
|
130
139
|
soul_slug: args.soul_slug,
|
|
131
140
|
soul_service_slug: args.soul_service_slug,
|
|
132
141
|
schedule: args.schedule,
|
|
142
|
+
approvals: args.approvals,
|
|
133
143
|
});
|
|
134
144
|
}
|
|
135
145
|
export async function handleComputeStatus(agent, args) {
|
package/dist/tools/index.js
CHANGED
|
@@ -195,8 +195,8 @@ const handlers = {
|
|
|
195
195
|
"oneshot_resume_domain": handleResumeDomain,
|
|
196
196
|
// Analytics
|
|
197
197
|
"oneshot_spend_breakdown": handleSpendBreakdown,
|
|
198
|
-
"
|
|
199
|
-
"
|
|
198
|
+
"oneshot_return_on_spend": handleRocs,
|
|
199
|
+
"oneshot_return_on_spend_by_goal": handleRocsByGoal,
|
|
200
200
|
"oneshot_receipts_list": handleReceiptsList,
|
|
201
201
|
"oneshot_tag_receipt_value": handleTagReceiptValue,
|
|
202
202
|
// Account
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oneshot-agent/mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.0",
|
|
4
4
|
"description": "MCP server for OneShot - 73 tools for AI agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@coinbase/cdp-sdk": "1.45.0",
|
|
27
27
|
"@modelcontextprotocol/sdk": "1.27.1",
|
|
28
|
-
"@oneshot-agent/sdk": "^0.
|
|
28
|
+
"@oneshot-agent/sdk": "^0.44.0",
|
|
29
29
|
"zod": "3.25.76"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|