@revfleet/hscli 0.7.1 → 0.8.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.
Files changed (87) hide show
  1. package/CHANGELOG.md +139 -0
  2. package/LICENSE +1 -1
  3. package/README.md +118 -266
  4. package/SECURITY.md +2 -2
  5. package/dist/cli.js +25 -5
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/api/index.d.ts +3 -0
  8. package/dist/commands/api/index.js.map +1 -1
  9. package/dist/commands/auth/index.js +6 -6
  10. package/dist/commands/auth/index.js.map +1 -1
  11. package/dist/commands/crm/companies.d.ts +3 -0
  12. package/dist/commands/crm/companies.js.map +1 -1
  13. package/dist/commands/crm/contacts.d.ts +3 -0
  14. package/dist/commands/crm/contacts.js.map +1 -1
  15. package/dist/commands/crm/custom-objects.d.ts +3 -0
  16. package/dist/commands/crm/custom-objects.js.map +1 -1
  17. package/dist/commands/crm/dated.d.ts +1 -1
  18. package/dist/commands/crm/dated.js +1 -1
  19. package/dist/commands/crm/deals.d.ts +3 -0
  20. package/dist/commands/crm/deals.js.map +1 -1
  21. package/dist/commands/crm/describe.d.ts +3 -0
  22. package/dist/commands/crm/describe.js.map +1 -1
  23. package/dist/commands/crm/engagements.d.ts +3 -0
  24. package/dist/commands/crm/engagements.js.map +1 -1
  25. package/dist/commands/crm/imports.d.ts +3 -0
  26. package/dist/commands/crm/imports.js.map +1 -1
  27. package/dist/commands/crm/owners.d.ts +3 -0
  28. package/dist/commands/crm/owners.js.map +1 -1
  29. package/dist/commands/crm/tickets.d.ts +3 -0
  30. package/dist/commands/crm/tickets.js.map +1 -1
  31. package/dist/commands/doctor/index.js +35 -35
  32. package/dist/commands/doctor/index.js.map +1 -1
  33. package/dist/commands/domains/shared.d.ts +3 -0
  34. package/dist/commands/domains/shared.js.map +1 -1
  35. package/dist/commands/events/index.d.ts +3 -0
  36. package/dist/commands/events/index.js.map +1 -1
  37. package/dist/commands/forms/index.d.ts +3 -0
  38. package/dist/commands/forms/index.js.map +1 -1
  39. package/dist/commands/legacy-v1/index.d.ts +1 -1
  40. package/dist/commands/legacy-v1/index.js +1 -1
  41. package/dist/commands/mcp.d.ts +3 -0
  42. package/dist/commands/mcp.js.map +1 -1
  43. package/dist/commands/seed/cms.js +19 -19
  44. package/dist/commands/seed/cms.js.map +1 -1
  45. package/dist/commands/seed/index.js +1 -1
  46. package/dist/commands/seed/index.js.map +1 -1
  47. package/dist/commands/seed/infra.js +14 -14
  48. package/dist/commands/seed/infra.js.map +1 -1
  49. package/dist/commands/seed/marketing.js +13 -13
  50. package/dist/commands/seed/marketing.js.map +1 -1
  51. package/dist/commands/webhooks/index.d.ts +3 -0
  52. package/dist/commands/webhooks/index.js.map +1 -1
  53. package/dist/commands/workflows/index.d.ts +3 -0
  54. package/dist/commands/workflows/index.js.map +1 -1
  55. package/dist/core/auth.d.ts +1 -1
  56. package/dist/core/auth.js +8 -25
  57. package/dist/core/auth.js.map +1 -1
  58. package/dist/core/capabilities.js +15 -15
  59. package/dist/core/capabilities.js.map +1 -1
  60. package/dist/core/http.js +3 -3
  61. package/dist/core/http.js.map +1 -1
  62. package/dist/core/output.d.ts +3 -0
  63. package/dist/core/output.js.map +1 -1
  64. package/dist/core/permissions.js +1 -1
  65. package/dist/core/permissions.js.map +1 -1
  66. package/dist/core/plugins.d.ts +2 -2
  67. package/dist/core/plugins.js +2 -2
  68. package/dist/core/plugins.js.map +1 -1
  69. package/dist/core/schema-cache.js +3 -3
  70. package/dist/core/schema-cache.js.map +1 -1
  71. package/dist/core/schemas.js +1 -1
  72. package/dist/core/schemas.js.map +1 -1
  73. package/dist/core/urls.d.ts +4 -4
  74. package/dist/core/urls.js +4 -4
  75. package/dist/core/vault.d.ts +5 -5
  76. package/dist/core/vault.js +14 -14
  77. package/dist/core/vault.js.map +1 -1
  78. package/dist/mcp/compat-hubspot.d.ts +34 -0
  79. package/dist/mcp/compat-hubspot.js +292 -0
  80. package/dist/mcp/compat-hubspot.js.map +1 -0
  81. package/dist/mcp/ext-tools.d.ts +24 -0
  82. package/dist/mcp/ext-tools.js +300 -0
  83. package/dist/mcp/ext-tools.js.map +1 -0
  84. package/dist/mcp/server.d.ts +38 -0
  85. package/dist/mcp/server.js +19 -10
  86. package/dist/mcp/server.js.map +1 -1
  87. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat-hubspot.js","sourceRoot":"","sources":["../../src/mcp/compat-hubspot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Extension MCP tools — surface area that HubSpot's hosted Remote MCP
3
+ * does NOT expose. Each tool maps to an already-implemented `hscli` CLI
4
+ * command / HTTP route; we're just giving agents a first-class MCP handle.
5
+ *
6
+ * Registered here:
7
+ * ── Workflows ──
8
+ * - workflows_list, workflows_get, workflows_enroll, workflows_unenroll
9
+ * ── Files ──
10
+ * - files_list, files_get, files_delete, files_signed_url
11
+ * ── Forms ──
12
+ * - forms_list, forms_get, forms_submissions, forms_submit
13
+ * ── Webhooks ──
14
+ * - webhooks_list_subscriptions, webhooks_create_subscription, webhooks_delete_subscription
15
+ * ── Marketing emails ──
16
+ * - marketing_emails_list, marketing_emails_get, marketing_emails_statistics
17
+ * ── CMS (HubDB + URL redirects + blog posts write) ──
18
+ * - hubdb_tables_list, hubdb_rows_list, hubdb_row_create, hubdb_row_update, hubdb_publish
19
+ * - cms_redirects_list, cms_redirects_create, cms_redirects_delete
20
+ * ── Conversations ──
21
+ * - conversations_inboxes_list, conversations_threads_list, conversations_messages_send
22
+ */
23
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
24
+ export declare function registerExtensionTools(server: McpServer): void;
@@ -0,0 +1,300 @@
1
+ /**
2
+ * Extension MCP tools — surface area that HubSpot's hosted Remote MCP
3
+ * does NOT expose. Each tool maps to an already-implemented `hscli` CLI
4
+ * command / HTTP route; we're just giving agents a first-class MCP handle.
5
+ *
6
+ * Registered here:
7
+ * ── Workflows ──
8
+ * - workflows_list, workflows_get, workflows_enroll, workflows_unenroll
9
+ * ── Files ──
10
+ * - files_list, files_get, files_delete, files_signed_url
11
+ * ── Forms ──
12
+ * - forms_list, forms_get, forms_submissions, forms_submit
13
+ * ── Webhooks ──
14
+ * - webhooks_list_subscriptions, webhooks_create_subscription, webhooks_delete_subscription
15
+ * ── Marketing emails ──
16
+ * - marketing_emails_list, marketing_emails_get, marketing_emails_statistics
17
+ * ── CMS (HubDB + URL redirects + blog posts write) ──
18
+ * - hubdb_tables_list, hubdb_rows_list, hubdb_row_create, hubdb_row_update, hubdb_publish
19
+ * - cms_redirects_list, cms_redirects_create, cms_redirects_delete
20
+ * ── Conversations ──
21
+ * - conversations_inboxes_list, conversations_threads_list, conversations_messages_send
22
+ */
23
+ import { z } from "zod";
24
+ import { appendOptional, encodePathSegment, maybeWrite, parseNumberFlag } from "../commands/crm/shared.js";
25
+ import { baseArgsSchema, executeTool, registerMcpTool } from "./server.js";
26
+ export function registerExtensionTools(server) {
27
+ // ═══════════════════════════════════════════════════════════════════════
28
+ // Workflows (v4 + legacy v3)
29
+ // ═══════════════════════════════════════════════════════════════════════
30
+ registerMcpTool(server, "workflows_list", {
31
+ description: "List workflows (v4). Not available via HubSpot Remote MCP.",
32
+ inputSchema: {
33
+ ...baseArgsSchema,
34
+ limit: z.number().int().positive().default(100),
35
+ after: z.string().optional(),
36
+ },
37
+ }, (args) => executeTool(args, (_ctx, client) => {
38
+ const params = new URLSearchParams();
39
+ params.set("limit", String(parseNumberFlag(String(args.limit ?? 100), "limit")));
40
+ appendOptional(params, "after", args.after);
41
+ return client.request(`/automation/v4/flows?${params.toString()}`);
42
+ }));
43
+ registerMcpTool(server, "workflows_get", {
44
+ description: "Get one workflow by flowId (v4). Not available via HubSpot Remote MCP.",
45
+ inputSchema: { ...baseArgsSchema, flowId: z.string().min(1) },
46
+ }, (args) => executeTool(args, (_ctx, client) => client.request(`/automation/v4/flows/${encodePathSegment(args.flowId, "flowId")}`)));
47
+ registerMcpTool(server, "workflows_enroll", {
48
+ description: "Enroll a contact into a legacy v3 workflow (dry-run by default unless force=true). Not available via HubSpot Remote MCP.",
49
+ inputSchema: {
50
+ ...baseArgsSchema,
51
+ workflowId: z.string().min(1),
52
+ email: z.string().email(),
53
+ },
54
+ }, (args) => executeTool(args, (ctx, client) => maybeWrite(ctx, client, "POST", `/automation/v2/workflows/${encodePathSegment(args.workflowId, "workflowId")}/enrollments/contacts/${encodePathSegment(args.email, "email")}`)));
55
+ registerMcpTool(server, "workflows_unenroll", {
56
+ description: "Remove a contact from a legacy v3 workflow (dry-run by default unless force=true). Not available via HubSpot Remote MCP.",
57
+ inputSchema: {
58
+ ...baseArgsSchema,
59
+ workflowId: z.string().min(1),
60
+ email: z.string().email(),
61
+ },
62
+ }, (args) => executeTool(args, (ctx, client) => maybeWrite(ctx, client, "DELETE", `/automation/v2/workflows/${encodePathSegment(args.workflowId, "workflowId")}/enrollments/contacts/${encodePathSegment(args.email, "email")}`)));
63
+ // ═══════════════════════════════════════════════════════════════════════
64
+ // Files
65
+ // ═══════════════════════════════════════════════════════════════════════
66
+ registerMcpTool(server, "files_list", {
67
+ description: "List uploaded files. Not available via HubSpot Remote MCP.",
68
+ inputSchema: {
69
+ ...baseArgsSchema,
70
+ limit: z.number().int().positive().max(100).default(50),
71
+ after: z.string().optional(),
72
+ parentFolderId: z.string().optional(),
73
+ name: z.string().optional().describe("Filter by name substring"),
74
+ },
75
+ }, (args) => executeTool(args, (_ctx, client) => {
76
+ const params = new URLSearchParams();
77
+ params.set("limit", String(parseNumberFlag(String(args.limit ?? 50), "limit")));
78
+ appendOptional(params, "after", args.after);
79
+ appendOptional(params, "parentFolderId", args.parentFolderId);
80
+ appendOptional(params, "name", args.name);
81
+ return client.request(`/files/v3/files?${params.toString()}`);
82
+ }));
83
+ registerMcpTool(server, "files_get", {
84
+ description: "Get metadata for a single file by ID. Not available via HubSpot Remote MCP.",
85
+ inputSchema: { ...baseArgsSchema, fileId: z.string().min(1) },
86
+ }, (args) => executeTool(args, (_ctx, client) => client.request(`/files/v3/files/${encodePathSegment(args.fileId, "fileId")}`)));
87
+ registerMcpTool(server, "files_delete", {
88
+ description: "Permanently delete a file (dry-run by default unless force=true). Not available via HubSpot Remote MCP.",
89
+ inputSchema: { ...baseArgsSchema, fileId: z.string().min(1) },
90
+ }, (args) => executeTool(args, (ctx, client) => maybeWrite(ctx, client, "DELETE", `/files/v3/files/${encodePathSegment(args.fileId, "fileId")}`)));
91
+ registerMcpTool(server, "files_signed_url", {
92
+ description: "Generate a time-limited signed URL for a private file. Not available via HubSpot Remote MCP.",
93
+ inputSchema: {
94
+ ...baseArgsSchema,
95
+ fileId: z.string().min(1),
96
+ expirationSeconds: z.number().int().positive().max(86400).default(3600),
97
+ },
98
+ }, (args) => executeTool(args, (_ctx, client) => {
99
+ const params = new URLSearchParams();
100
+ params.set("expirationSeconds", String(parseNumberFlag(String(args.expirationSeconds ?? 3600), "expirationSeconds")));
101
+ return client.request(`/files/v3/files/${encodePathSegment(args.fileId, "fileId")}/signed-url?${params.toString()}`);
102
+ }));
103
+ // ═══════════════════════════════════════════════════════════════════════
104
+ // Forms
105
+ // ═══════════════════════════════════════════════════════════════════════
106
+ registerMcpTool(server, "forms_list", {
107
+ description: "List marketing forms. Not available via HubSpot Remote MCP.",
108
+ inputSchema: {
109
+ ...baseArgsSchema,
110
+ limit: z.number().int().positive().default(100),
111
+ after: z.string().optional(),
112
+ },
113
+ }, (args) => executeTool(args, (_ctx, client) => {
114
+ const params = new URLSearchParams();
115
+ params.set("limit", String(parseNumberFlag(String(args.limit ?? 100), "limit")));
116
+ appendOptional(params, "after", args.after);
117
+ return client.request(`/marketing/v3/forms?${params.toString()}`);
118
+ }));
119
+ registerMcpTool(server, "forms_get", {
120
+ description: "Get one form by ID. Not available via HubSpot Remote MCP.",
121
+ inputSchema: { ...baseArgsSchema, formId: z.string().min(1) },
122
+ }, (args) => executeTool(args, (_ctx, client) => client.request(`/marketing/v3/forms/${encodePathSegment(args.formId, "formId")}`)));
123
+ registerMcpTool(server, "forms_submissions", {
124
+ description: "List submissions for a form. Not available via HubSpot Remote MCP.",
125
+ inputSchema: {
126
+ ...baseArgsSchema,
127
+ formId: z.string().min(1),
128
+ limit: z.number().int().positive().default(50),
129
+ after: z.string().optional(),
130
+ },
131
+ }, (args) => executeTool(args, (_ctx, client) => {
132
+ const params = new URLSearchParams();
133
+ params.set("limit", String(parseNumberFlag(String(args.limit ?? 50), "limit")));
134
+ appendOptional(params, "after", args.after);
135
+ return client.request(`/form-integrations/v1/submissions/forms/${encodePathSegment(args.formId, "formId")}?${params.toString()}`);
136
+ }));
137
+ registerMcpTool(server, "forms_submit", {
138
+ description: "Programmatically submit a form (server-side submission endpoint). Dry-run by default unless force=true.",
139
+ inputSchema: {
140
+ ...baseArgsSchema,
141
+ portalId: z.string().min(1),
142
+ formGuid: z.string().min(1),
143
+ fields: z.array(z.object({ name: z.string(), value: z.unknown() })).min(1),
144
+ context: z.record(z.string(), z.unknown()).optional(),
145
+ },
146
+ }, (args) => executeTool(args, (ctx, client) => maybeWrite(ctx, client, "POST", `/submissions/v3/integration/submit/${encodePathSegment(args.portalId, "portalId")}/${encodePathSegment(args.formGuid, "formGuid")}`, { fields: args.fields, context: args.context ?? {} })));
147
+ // ═══════════════════════════════════════════════════════════════════════
148
+ // Webhooks
149
+ // ═══════════════════════════════════════════════════════════════════════
150
+ registerMcpTool(server, "webhooks_list_subscriptions", {
151
+ description: "List webhook subscriptions for a HubSpot app. Not available via HubSpot Remote MCP.",
152
+ inputSchema: { ...baseArgsSchema, appId: z.string().min(1) },
153
+ }, (args) => executeTool(args, (_ctx, client) => client.request(`/webhooks/v3/${encodePathSegment(args.appId, "appId")}/subscriptions`)));
154
+ registerMcpTool(server, "webhooks_create_subscription", {
155
+ description: "Create a webhook subscription (dry-run by default unless force=true). Not available via HubSpot Remote MCP.",
156
+ inputSchema: {
157
+ ...baseArgsSchema,
158
+ appId: z.string().min(1),
159
+ data: z.record(z.string(), z.unknown()),
160
+ },
161
+ }, (args) => executeTool(args, (ctx, client) => maybeWrite(ctx, client, "POST", `/webhooks/v3/${encodePathSegment(args.appId, "appId")}/subscriptions`, args.data)));
162
+ registerMcpTool(server, "webhooks_delete_subscription", {
163
+ description: "Delete a webhook subscription (dry-run by default unless force=true). Not available via HubSpot Remote MCP.",
164
+ inputSchema: {
165
+ ...baseArgsSchema,
166
+ appId: z.string().min(1),
167
+ subscriptionId: z.string().min(1),
168
+ },
169
+ }, (args) => executeTool(args, (ctx, client) => maybeWrite(ctx, client, "DELETE", `/webhooks/v3/${encodePathSegment(args.appId, "appId")}/subscriptions/${encodePathSegment(args.subscriptionId, "subscriptionId")}`)));
170
+ // ═══════════════════════════════════════════════════════════════════════
171
+ // Marketing emails (v3)
172
+ // ═══════════════════════════════════════════════════════════════════════
173
+ registerMcpTool(server, "marketing_emails_list", {
174
+ description: "List marketing emails. Not available via HubSpot Remote MCP.",
175
+ inputSchema: {
176
+ ...baseArgsSchema,
177
+ limit: z.number().int().positive().default(50),
178
+ after: z.string().optional(),
179
+ },
180
+ }, (args) => executeTool(args, (_ctx, client) => {
181
+ const params = new URLSearchParams();
182
+ params.set("limit", String(parseNumberFlag(String(args.limit ?? 50), "limit")));
183
+ appendOptional(params, "after", args.after);
184
+ return client.request(`/marketing/v3/emails?${params.toString()}`);
185
+ }));
186
+ registerMcpTool(server, "marketing_emails_get", {
187
+ description: "Get one marketing email by ID. Not available via HubSpot Remote MCP.",
188
+ inputSchema: { ...baseArgsSchema, emailId: z.string().min(1) },
189
+ }, (args) => executeTool(args, (_ctx, client) => client.request(`/marketing/v3/emails/${encodePathSegment(args.emailId, "emailId")}`)));
190
+ registerMcpTool(server, "marketing_emails_statistics", {
191
+ description: "Get statistics for a marketing email. Not available via HubSpot Remote MCP.",
192
+ inputSchema: { ...baseArgsSchema, emailId: z.string().min(1) },
193
+ }, (args) => executeTool(args, (_ctx, client) => client.request(`/marketing/v3/emails/${encodePathSegment(args.emailId, "emailId")}/statistics`)));
194
+ // ═══════════════════════════════════════════════════════════════════════
195
+ // CMS — HubDB
196
+ // ═══════════════════════════════════════════════════════════════════════
197
+ registerMcpTool(server, "hubdb_tables_list", {
198
+ description: "List HubDB tables. Not available via HubSpot Remote MCP.",
199
+ inputSchema: { ...baseArgsSchema },
200
+ }, (args) => executeTool(args, (_ctx, client) => client.request("/cms/v3/hubdb/tables")));
201
+ registerMcpTool(server, "hubdb_rows_list", {
202
+ description: "List rows in a HubDB table. Not available via HubSpot Remote MCP.",
203
+ inputSchema: {
204
+ ...baseArgsSchema,
205
+ tableIdOrName: z.string().min(1),
206
+ limit: z.number().int().positive().default(100),
207
+ after: z.string().optional(),
208
+ },
209
+ }, (args) => executeTool(args, (_ctx, client) => {
210
+ const params = new URLSearchParams();
211
+ params.set("limit", String(parseNumberFlag(String(args.limit ?? 100), "limit")));
212
+ appendOptional(params, "after", args.after);
213
+ return client.request(`/cms/v3/hubdb/tables/${encodePathSegment(args.tableIdOrName, "tableIdOrName")}/rows?${params.toString()}`);
214
+ }));
215
+ registerMcpTool(server, "hubdb_row_create", {
216
+ description: "Create a row in a HubDB draft table (dry-run by default unless force=true). Call hubdb_publish to publish. Not available via HubSpot Remote MCP.",
217
+ inputSchema: {
218
+ ...baseArgsSchema,
219
+ tableIdOrName: z.string().min(1),
220
+ data: z.record(z.string(), z.unknown()),
221
+ },
222
+ }, (args) => executeTool(args, (ctx, client) => maybeWrite(ctx, client, "POST", `/cms/v3/hubdb/tables/${encodePathSegment(args.tableIdOrName, "tableIdOrName")}/rows/draft`, args.data)));
223
+ registerMcpTool(server, "hubdb_row_update", {
224
+ description: "Update a HubDB row in the draft table (dry-run by default unless force=true). Not available via HubSpot Remote MCP.",
225
+ inputSchema: {
226
+ ...baseArgsSchema,
227
+ tableIdOrName: z.string().min(1),
228
+ rowId: z.string().min(1),
229
+ data: z.record(z.string(), z.unknown()),
230
+ },
231
+ }, (args) => executeTool(args, (ctx, client) => maybeWrite(ctx, client, "PATCH", `/cms/v3/hubdb/tables/${encodePathSegment(args.tableIdOrName, "tableIdOrName")}/rows/${encodePathSegment(args.rowId, "rowId")}/draft`, args.data)));
232
+ registerMcpTool(server, "hubdb_publish", {
233
+ description: "Publish a HubDB table's draft state to live (dry-run by default unless force=true). Not available via HubSpot Remote MCP.",
234
+ inputSchema: {
235
+ ...baseArgsSchema,
236
+ tableIdOrName: z.string().min(1),
237
+ },
238
+ }, (args) => executeTool(args, (ctx, client) => maybeWrite(ctx, client, "POST", `/cms/v3/hubdb/tables/${encodePathSegment(args.tableIdOrName, "tableIdOrName")}/draft/publish`)));
239
+ // ═══════════════════════════════════════════════════════════════════════
240
+ // CMS — URL redirects
241
+ // ═══════════════════════════════════════════════════════════════════════
242
+ registerMcpTool(server, "cms_redirects_list", {
243
+ description: "List CMS URL redirects. Not available via HubSpot Remote MCP.",
244
+ inputSchema: {
245
+ ...baseArgsSchema,
246
+ limit: z.number().int().positive().default(100),
247
+ after: z.string().optional(),
248
+ },
249
+ }, (args) => executeTool(args, (_ctx, client) => {
250
+ const params = new URLSearchParams();
251
+ params.set("limit", String(parseNumberFlag(String(args.limit ?? 100), "limit")));
252
+ appendOptional(params, "after", args.after);
253
+ return client.request(`/cms/v3/url-redirects?${params.toString()}`);
254
+ }));
255
+ registerMcpTool(server, "cms_redirects_create", {
256
+ description: "Create a CMS URL redirect (dry-run by default unless force=true). Not available via HubSpot Remote MCP.",
257
+ inputSchema: {
258
+ ...baseArgsSchema,
259
+ data: z.record(z.string(), z.unknown()),
260
+ },
261
+ }, (args) => executeTool(args, (ctx, client) => maybeWrite(ctx, client, "POST", "/cms/v3/url-redirects", args.data)));
262
+ registerMcpTool(server, "cms_redirects_delete", {
263
+ description: "Delete a CMS URL redirect (dry-run by default unless force=true). Not available via HubSpot Remote MCP.",
264
+ inputSchema: {
265
+ ...baseArgsSchema,
266
+ redirectId: z.string().min(1),
267
+ },
268
+ }, (args) => executeTool(args, (ctx, client) => maybeWrite(ctx, client, "DELETE", `/cms/v3/url-redirects/${encodePathSegment(args.redirectId, "redirectId")}`)));
269
+ // ═══════════════════════════════════════════════════════════════════════
270
+ // Conversations
271
+ // ═══════════════════════════════════════════════════════════════════════
272
+ registerMcpTool(server, "conversations_inboxes_list", {
273
+ description: "List conversation inboxes. Not available via HubSpot Remote MCP.",
274
+ inputSchema: { ...baseArgsSchema },
275
+ }, (args) => executeTool(args, (_ctx, client) => client.request("/conversations/v3/conversations/inboxes")));
276
+ registerMcpTool(server, "conversations_threads_list", {
277
+ description: "List conversation threads. Not available via HubSpot Remote MCP.",
278
+ inputSchema: {
279
+ ...baseArgsSchema,
280
+ inboxId: z.string().optional(),
281
+ limit: z.number().int().positive().default(50),
282
+ after: z.string().optional(),
283
+ },
284
+ }, (args) => executeTool(args, (_ctx, client) => {
285
+ const params = new URLSearchParams();
286
+ params.set("limit", String(parseNumberFlag(String(args.limit ?? 50), "limit")));
287
+ appendOptional(params, "after", args.after);
288
+ appendOptional(params, "inboxId", args.inboxId);
289
+ return client.request(`/conversations/v3/conversations/threads?${params.toString()}`);
290
+ }));
291
+ registerMcpTool(server, "conversations_messages_send", {
292
+ description: "Send a message into a conversation thread (dry-run by default unless force=true). Not available via HubSpot Remote MCP.",
293
+ inputSchema: {
294
+ ...baseArgsSchema,
295
+ threadId: z.string().min(1),
296
+ data: z.record(z.string(), z.unknown()),
297
+ },
298
+ }, (args) => executeTool(args, (ctx, client) => maybeWrite(ctx, client, "POST", `/conversations/v3/conversations/threads/${encodePathSegment(args.threadId, "threadId")}/messages`, args.data)));
299
+ }
300
+ //# sourceMappingURL=ext-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ext-tools.js","sourceRoot":"","sources":["../../src/mcp/ext-tools.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,43 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { z } from "zod";
3
+ import { HubSpotClient } from "../core/http.js";
4
+ import { type CliContext } from "../core/output.js";
5
+ export interface McpBaseArgs {
6
+ profile?: string;
7
+ force?: boolean;
8
+ dryRun?: boolean;
9
+ }
10
+ export declare const baseArgsSchema: {
11
+ profile: z.ZodOptional<z.ZodString>;
12
+ force: z.ZodOptional<z.ZodBoolean>;
13
+ dryRun: z.ZodOptional<z.ZodBoolean>;
14
+ };
2
15
  export declare function resolveProfile(requested?: string): string;
16
+ export declare function executeTool(args: McpBaseArgs, fn: (ctx: CliContext, client: HubSpotClient) => Promise<unknown>): Promise<{
17
+ content: Array<{
18
+ type: "text";
19
+ text: string;
20
+ }>;
21
+ structuredContent: Record<string, unknown>;
22
+ } | {
23
+ content: Array<{
24
+ type: "text";
25
+ text: string;
26
+ }>;
27
+ structuredContent: Record<string, unknown>;
28
+ isError: boolean;
29
+ }>;
30
+ /**
31
+ * Wrap `server.registerTool` so every MCP handler runs with
32
+ * HSCLI_MCP_TOOL_NAME set to this tool's name. The HTTP layer reads this
33
+ * env var to tag trace/telemetry events, so `hscli trace stats` and
34
+ * `hscli audit by-tool` can break activity down by MCP tool.
35
+ *
36
+ * The SDK's registerTool signature is a heavily-overloaded generic; we
37
+ * stay loosely typed here because every callsite already builds its own
38
+ * config/handler with the right shape.
39
+ */
40
+ export declare function registerMcpTool(server: McpServer, name: string, config: any, handler: (...args: any[]) => any): void;
3
41
  export declare function registerHubSpotTools(server: McpServer): void;
4
42
  export declare function createMcpServer(): McpServer;
5
43
  export declare function runMcpServer(): Promise<void>;
@@ -6,7 +6,9 @@ import { HubSpotClient } from "../core/http.js";
6
6
  import { CliError, redactSensitive } from "../core/output.js";
7
7
  import { ENGAGEMENT_OBJECT_TYPES, OBJECT_COMMAND_TYPES, PIPELINE_OBJECT_TYPES, PROPERTY_OBJECT_TYPES, appendOptional, encodePathSegment, maybeWrite, parseBooleanFlag, parseNumberFlag, parseSupportedObjectType, } from "../commands/crm/shared.js";
8
8
  import { resolvePortalContext, enrichListResponse, enrichRecordUrl, enrichCustomListResponse, enrichCustomRecordUrl, } from "../core/urls.js";
9
- const baseArgsSchema = {
9
+ import { registerHubspotCompatTools } from "./compat-hubspot.js";
10
+ import { registerExtensionTools } from "./ext-tools.js";
11
+ export const baseArgsSchema = {
10
12
  profile: z.string().min(1).optional(),
11
13
  force: z.boolean().optional(),
12
14
  dryRun: z.boolean().optional(),
@@ -16,7 +18,7 @@ export function resolveProfile(requested) {
16
18
  // 1. HSCLI_MCP_PROFILE — hard lock (any other profile request throws)
17
19
  // 2. Explicit `profile` arg on the tool call
18
20
  // 3. HSCLI_PROFILE — set by the CLI's preAction hook when user passes
19
- // `hubcli --profile prod mcp`. Without this, launching MCP with
21
+ // `hscli --profile prod mcp`. Without this, launching MCP with
20
22
  // `--profile prod` silently fell back to "default" and could send
21
23
  // reads/writes to the wrong portal.
22
24
  // 4. "default"
@@ -59,7 +61,7 @@ function textResult(data) {
59
61
  structuredContent: asStructuredContent(safe),
60
62
  };
61
63
  }
62
- async function executeTool(args, fn) {
64
+ export async function executeTool(args, fn) {
63
65
  try {
64
66
  const ctx = mcpContext(args);
65
67
  const client = new HubSpotClient(getToken(ctx.profile), {
@@ -87,7 +89,7 @@ async function executeTool(args, fn) {
87
89
  }
88
90
  /**
89
91
  * Wrap `server.registerTool` so every MCP handler runs with
90
- * HUBCLI_MCP_TOOL_NAME set to this tool's name. The HTTP layer reads this
92
+ * HSCLI_MCP_TOOL_NAME set to this tool's name. The HTTP layer reads this
91
93
  * env var to tag trace/telemetry events, so `hscli trace stats` and
92
94
  * `hscli audit by-tool` can break activity down by MCP tool.
93
95
  *
@@ -96,16 +98,16 @@ async function executeTool(args, fn) {
96
98
  * config/handler with the right shape.
97
99
  */
98
100
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
99
- function registerMcpTool(server, name, config, handler) {
101
+ export function registerMcpTool(server, name, config, handler) {
100
102
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
101
103
  const wrapped = (...handlerArgs) => {
102
- const previous = process.env.HUBCLI_MCP_TOOL_NAME;
103
- process.env.HUBCLI_MCP_TOOL_NAME = name;
104
+ const previous = process.env.HSCLI_MCP_TOOL_NAME;
105
+ process.env.HSCLI_MCP_TOOL_NAME = name;
104
106
  const restore = () => {
105
107
  if (previous === undefined)
106
- delete process.env.HUBCLI_MCP_TOOL_NAME;
108
+ delete process.env.HSCLI_MCP_TOOL_NAME;
107
109
  else
108
- process.env.HUBCLI_MCP_TOOL_NAME = previous;
110
+ process.env.HSCLI_MCP_TOOL_NAME = previous;
109
111
  };
110
112
  try {
111
113
  const result = handler(...handlerArgs);
@@ -248,6 +250,13 @@ export function registerHubSpotTools(server) {
248
250
  for (const objectType of ENGAGEMENT_OBJECT_TYPES) {
249
251
  registerStandardObjectTools(server, objectType);
250
252
  }
253
+ // HubSpot Remote MCP drop-in compatibility layer — agents built against
254
+ // https://mcp.hubspot.com can target `hscli mcp` unchanged.
255
+ registerHubspotCompatTools(server);
256
+ // Extension surface — MCP tools that HubSpot's hosted server doesn't
257
+ // expose (workflows, files, forms, webhooks, marketing-emails, CMS writes,
258
+ // conversations).
259
+ registerExtensionTools(server);
251
260
  registerMcpTool(server, "crm_properties_list", {
252
261
  description: "List properties for an object type",
253
262
  inputSchema: { ...baseArgsSchema, objectType: z.enum(PROPERTY_OBJECT_TYPES) },
@@ -706,7 +715,7 @@ export function registerHubSpotTools(server) {
706
715
  }));
707
716
  }
708
717
  export function createMcpServer() {
709
- const server = new McpServer({ name: "hubcli", version: "0.1.0" });
718
+ const server = new McpServer({ name: "hscli", version: "0.1.0" });
710
719
  registerHubSpotTools(server);
711
720
  return server;
712
721
  }