@oneshot-agent/mcp-server 0.3.0 → 0.3.2

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
@@ -109,7 +109,8 @@ Add to `~/.claude/settings.json`:
109
109
 
110
110
  | Tool | Description | Cost |
111
111
  |------|-------------|------|
112
- | `oneshot_build` | Build a website | ~$149+ |
112
+ | `oneshot_build` | Build digital assets (sites, apps, social) | ~$149+ |
113
+ | `oneshot_update_build` | Update an existing build | Discounted |
113
114
 
114
115
  ### Account
115
116
 
@@ -1,4 +1,6 @@
1
1
  import { Tool } from "@modelcontextprotocol/sdk/types.js";
2
2
  import { OneShot } from "@oneshot-agent/sdk";
3
3
  export declare const buildTool: Tool;
4
+ export declare const updateBuildTool: Tool;
4
5
  export declare function handleBuild(agent: OneShot, args: Record<string, unknown>): Promise<import("@oneshot-agent/sdk").BuildResult>;
6
+ export declare function handleUpdateBuild(agent: OneShot, args: Record<string, unknown>): Promise<import("@oneshot-agent/sdk").BuildResult>;
@@ -1,13 +1,13 @@
1
1
  export const buildTool = {
2
2
  name: "oneshot_build",
3
- description: "Build a website. Base price ~$149 includes 3 sections. Additional fees for extra sections, AI images, lead capture, custom domain, etc.",
3
+ description: "Build digital assets - websites, apps, social media presence, portfolios, and more. Base price ~$149 includes 3 sections. Additional fees for extra sections, AI images, lead capture, custom domain, etc.",
4
4
  inputSchema: {
5
5
  type: "object",
6
6
  properties: {
7
7
  type: {
8
8
  type: "string",
9
- enum: ["saas", "portfolio", "agency", "personal", "product", "funnel", "restaurant", "event"],
10
- description: "Website type (default: saas)",
9
+ enum: ["saas", "portfolio", "agency", "personal", "product", "funnel", "restaurant", "event", "app", "social"],
10
+ description: "Build type (default: saas)",
11
11
  },
12
12
  product: {
13
13
  type: "object",
@@ -96,6 +96,82 @@ export const buildTool = {
96
96
  required: ["product"],
97
97
  },
98
98
  };
99
+ export const updateBuildTool = {
100
+ name: "oneshot_update_build",
101
+ description: "Update an existing build (website, app, social presence). Requires the build_id from a previous build. Updates reuse existing infrastructure at a discounted rate.",
102
+ inputSchema: {
103
+ type: "object",
104
+ properties: {
105
+ build_id: {
106
+ type: "string",
107
+ description: "Existing build ID to update (from previous build result)",
108
+ },
109
+ product: {
110
+ type: "object",
111
+ properties: {
112
+ name: {
113
+ type: "string",
114
+ description: "Product or business name",
115
+ },
116
+ description: {
117
+ type: "string",
118
+ description: "Description of the product/service (min 10 chars)",
119
+ },
120
+ industry: {
121
+ type: "string",
122
+ description: "Industry category",
123
+ },
124
+ pricing: {
125
+ type: "string",
126
+ description: "Pricing information to display",
127
+ },
128
+ },
129
+ required: ["name", "description"],
130
+ },
131
+ type: {
132
+ type: "string",
133
+ enum: ["saas", "portfolio", "agency", "personal", "product", "funnel", "restaurant", "event", "app", "social"],
134
+ description: "Build type (optional, keeps existing if not specified)",
135
+ },
136
+ source_url: {
137
+ type: "string",
138
+ description: "URL to analyze for content/inspiration",
139
+ },
140
+ sections: {
141
+ type: "array",
142
+ items: { type: "string" },
143
+ description: "Specific sections to include",
144
+ },
145
+ lead_capture: {
146
+ type: "object",
147
+ properties: {
148
+ enabled: { type: "boolean" },
149
+ inbox_email: { type: "string" },
150
+ },
151
+ },
152
+ brand: {
153
+ type: "object",
154
+ properties: {
155
+ primary_color: { type: "string" },
156
+ font: { type: "string" },
157
+ tone: { type: "string", enum: ["professional", "playful", "bold", "minimal"] },
158
+ },
159
+ },
160
+ images: {
161
+ type: "object",
162
+ properties: {
163
+ hero: { type: "string" },
164
+ logo: { type: "string" },
165
+ },
166
+ },
167
+ domain: {
168
+ type: "string",
169
+ description: "Custom domain",
170
+ },
171
+ },
172
+ required: ["build_id", "product"],
173
+ },
174
+ };
99
175
  export async function handleBuild(agent, args) {
100
176
  const product = args.product;
101
177
  return agent.build({
@@ -115,3 +191,22 @@ export async function handleBuild(agent, args) {
115
191
  build_id: args.build_id,
116
192
  });
117
193
  }
194
+ export async function handleUpdateBuild(agent, args) {
195
+ const product = args.product;
196
+ return agent.updateBuild({
197
+ build_id: args.build_id,
198
+ product: {
199
+ name: product.name,
200
+ description: product.description,
201
+ industry: product.industry,
202
+ pricing: product.pricing,
203
+ },
204
+ type: args.type,
205
+ source_url: args.source_url,
206
+ sections: args.sections,
207
+ lead_capture: args.lead_capture,
208
+ brand: args.brand,
209
+ images: args.images,
210
+ domain: args.domain,
211
+ });
212
+ }
@@ -9,7 +9,7 @@ import { inboxListTool, inboxGetTool, handleInboxList, handleInboxGet } from "./
9
9
  import { smsInboxListTool, smsInboxGetTool, handleSmsInboxList, handleSmsInboxGet } from "./sms-inbox.js";
10
10
  import { notificationsTool, markReadTool, handleNotifications, handleMarkRead } from "./notifications.js";
11
11
  import { getBalanceTool, handleGetBalance } from "./wallet.js";
12
- import { buildTool, handleBuild } from "./build.js";
12
+ import { buildTool, updateBuildTool, handleBuild, handleUpdateBuild } from "./build.js";
13
13
  // All available tools
14
14
  export const tools = [
15
15
  // Communication
@@ -32,6 +32,7 @@ export const tools = [
32
32
  commerceBuyTool,
33
33
  // Build
34
34
  buildTool,
35
+ updateBuildTool,
35
36
  // Account
36
37
  notificationsTool,
37
38
  markReadTool,
@@ -59,6 +60,7 @@ const handlers = {
59
60
  "oneshot_commerce_buy": handleCommerceBuy,
60
61
  // Build
61
62
  "oneshot_build": handleBuild,
63
+ "oneshot_update_build": handleUpdateBuild,
62
64
  // Account
63
65
  "oneshot_notifications": handleNotifications,
64
66
  "oneshot_mark_notification_read": handleMarkRead,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneshot-agent/mcp-server",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "MCP server for OneShot - commercial actions for AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -24,7 +24,7 @@
24
24
  "license": "MIT",
25
25
  "dependencies": {
26
26
  "@modelcontextprotocol/sdk": "^1.0.0",
27
- "@oneshot-agent/sdk": "^0.6.0",
27
+ "@oneshot-agent/sdk": "^0.6.1",
28
28
  "zod": "^3.23.0"
29
29
  },
30
30
  "devDependencies": {