@recursiv/mcp 0.1.1 → 0.2.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/tools/dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/tools/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"swarms.d.ts","sourceRoot":"","sources":["../../src/tools/swarms.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAU,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAI/D,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,QAiPhF"}
1
+ {"version":3,"file":"swarms.d.ts","sourceRoot":"","sources":["../../src/tools/swarms.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAU,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAI/D,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,QAgQhF"}
@@ -25,9 +25,12 @@ export function registerSwarmTools(registry, client) {
25
25
  });
26
26
  registry.tool('get_swarm', 'Get swarm details including all members', [Scopes.AGENTS_READ], {
27
27
  swarm_id: z.string().describe('Swarm UUID'),
28
+ organization_id: z.string().optional().describe('Organization UUID (defaults to RECURSIV_ORGANIZATION_ID env var)'),
28
29
  }, async (params) => {
29
30
  try {
30
- const result = await client.swarms.get(params.swarm_id);
31
+ const result = await client.swarms.get(params.swarm_id, {
32
+ organization_id: params.organization_id || defaultOrgId,
33
+ });
31
34
  return { content: [{ type: 'text', text: JSON.stringify(result.data, null, 2) }] };
32
35
  }
33
36
  catch (e) {
@@ -60,11 +63,13 @@ export function registerSwarmTools(registry, client) {
60
63
  swarm_id: z.string().describe('Swarm UUID'),
61
64
  agent_id: z.string().describe('Agent UUID to add'),
62
65
  role: z.enum(['worker', 'observer']).optional().describe('Member role (default: worker)'),
66
+ organization_id: z.string().optional().describe('Organization UUID (defaults to RECURSIV_ORGANIZATION_ID env var)'),
63
67
  }, async (params) => {
64
68
  try {
65
69
  const result = await client.swarms.addMember(params.swarm_id, {
66
70
  agent_id: params.agent_id,
67
71
  role: params.role,
72
+ organization_id: params.organization_id || defaultOrgId,
68
73
  });
69
74
  return {
70
75
  content: [{ type: 'text', text: `Added agent ${params.agent_id} to swarm as ${result.data.role}` }],
@@ -76,9 +81,12 @@ export function registerSwarmTools(registry, client) {
76
81
  });
77
82
  registry.tool('activate_swarm', 'Activate a swarm — sets it to active and notifies the coordinator agent', [Scopes.AGENTS_WRITE], {
78
83
  swarm_id: z.string().describe('Swarm UUID'),
84
+ organization_id: z.string().optional().describe('Organization UUID (defaults to RECURSIV_ORGANIZATION_ID env var)'),
79
85
  }, async (params) => {
80
86
  try {
81
- const result = await client.swarms.activate(params.swarm_id);
87
+ const result = await client.swarms.activate(params.swarm_id, {
88
+ organization_id: params.organization_id || defaultOrgId,
89
+ });
82
90
  return {
83
91
  content: [{ type: 'text', text: `Swarm "${result.data.name}" is now active. Coordinator has been notified.` }],
84
92
  };
@@ -90,9 +98,13 @@ export function registerSwarmTools(registry, client) {
90
98
  registry.tool('complete_swarm', 'Mark a swarm as completed with an optional summary', [Scopes.AGENTS_WRITE], {
91
99
  swarm_id: z.string().describe('Swarm UUID'),
92
100
  summary: z.string().optional().describe('Completion summary'),
101
+ organization_id: z.string().optional().describe('Organization UUID (defaults to RECURSIV_ORGANIZATION_ID env var)'),
93
102
  }, async (params) => {
94
103
  try {
95
- const result = await client.swarms.complete(params.swarm_id, { summary: params.summary });
104
+ const result = await client.swarms.complete(params.swarm_id, {
105
+ summary: params.summary,
106
+ organization_id: params.organization_id || defaultOrgId,
107
+ });
96
108
  return {
97
109
  content: [{ type: 'text', text: `Swarm "${result.data.name}" completed.` }],
98
110
  };
@@ -103,9 +115,12 @@ export function registerSwarmTools(registry, client) {
103
115
  });
104
116
  registry.tool('cancel_swarm', 'Cancel an active swarm', [Scopes.AGENTS_WRITE], {
105
117
  swarm_id: z.string().describe('Swarm UUID'),
118
+ organization_id: z.string().optional().describe('Organization UUID (defaults to RECURSIV_ORGANIZATION_ID env var)'),
106
119
  }, async (params) => {
107
120
  try {
108
- const result = await client.swarms.cancel(params.swarm_id);
121
+ const result = await client.swarms.cancel(params.swarm_id, {
122
+ organization_id: params.organization_id || defaultOrgId,
123
+ });
109
124
  return {
110
125
  content: [{ type: 'text', text: `Swarm "${result.data.name}" cancelled.` }],
111
126
  };
@@ -1 +1 @@
1
- {"version":3,"file":"swarms.js","sourceRoot":"","sources":["../../src/tools/swarms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swarms.js","sourceRoot":"","sources":["../../src/tools/swarms.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Recursiv Tunnel Client — outbound WebSocket that lets platform agents reach localhost.
3
+ *
4
+ * The MCP process opens a persistent WebSocket to api.recursiv.io/tunnel/connect.
5
+ * When agents need to reach the developer's local app, HTTP requests flow through
6
+ * this WebSocket: Server → MCP → localhost → MCP → Server.
7
+ */
8
+ export declare class TunnelClient {
9
+ private ws;
10
+ private token;
11
+ private proxyBaseUrl;
12
+ private localPort;
13
+ private apiBaseUrl;
14
+ private apiKey;
15
+ private projectId;
16
+ private reconnectMs;
17
+ private reconnectTimer;
18
+ private destroyed;
19
+ constructor(opts: {
20
+ localPort?: number;
21
+ apiBaseUrl: string;
22
+ apiKey: string;
23
+ projectId: string;
24
+ });
25
+ connect(): Promise<void>;
26
+ private handleRequest;
27
+ private sendResponse;
28
+ private scheduleReconnect;
29
+ /** Rewrite a localhost URL to the tunnel proxy URL */
30
+ rewriteUrl(localUrl: string): string;
31
+ getProxyBaseUrl(): string | null;
32
+ getToken(): string | null;
33
+ isConnected(): boolean;
34
+ disconnect(): void;
35
+ }
36
+ /** Check if a URL points to localhost / private address */
37
+ export declare function isLocalhostUrl(url: string): boolean;
38
+ /**
39
+ * Initialize the tunnel. Auto-resolves project ID if not set.
40
+ * Called once during MCP startup.
41
+ */
42
+ export declare function initializeTunnelClient(apiBaseUrl: string, apiKey: string): Promise<TunnelClient | null>;
43
+ /**
44
+ * Get the tunnel client singleton (may be null if not initialized).
45
+ */
46
+ export declare function getTunnelClient(): TunnelClient | null;
47
+ //# sourceMappingURL=tunnel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnel.d.ts","sourceRoot":"","sources":["../src/tunnel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgCH,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAA4D;IACtE,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,SAAS,CAAS;gBAEd,IAAI,EAAE;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB;IAOK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAkEhB,aAAa;IAiF3B,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,iBAAiB;IASzB,sDAAsD;IACtD,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAOpC,eAAe,IAAI,MAAM,GAAG,IAAI;IAMhC,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB,WAAW,IAAI,OAAO;IAItB,UAAU,IAAI,IAAI;CAanB;AAID,2DAA2D;AAC3D,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAcnD;AAwDD;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAa7G;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAErD"}
package/dist/tunnel.js ADDED
@@ -0,0 +1,301 @@
1
+ /**
2
+ * Recursiv Tunnel Client — outbound WebSocket that lets platform agents reach localhost.
3
+ *
4
+ * The MCP process opens a persistent WebSocket to api.recursiv.io/tunnel/connect.
5
+ * When agents need to reach the developer's local app, HTTP requests flow through
6
+ * this WebSocket: Server → MCP → localhost → MCP → Server.
7
+ */
8
+ import { request as httpRequest } from 'node:http';
9
+ import { request as httpsRequest } from 'node:https';
10
+ // ── Tunnel Client ──────────────────────────────────────────────────
11
+ export class TunnelClient {
12
+ ws = null;
13
+ token = null;
14
+ proxyBaseUrl = null;
15
+ localPort;
16
+ apiBaseUrl;
17
+ apiKey;
18
+ projectId;
19
+ reconnectMs = 1000;
20
+ reconnectTimer = null;
21
+ destroyed = false;
22
+ constructor(opts) {
23
+ this.localPort = opts.localPort || parseInt(process.env.RECURSIV_TUNNEL_PORT || '3000', 10);
24
+ this.apiBaseUrl = opts.apiBaseUrl;
25
+ this.apiKey = opts.apiKey;
26
+ this.projectId = opts.projectId;
27
+ }
28
+ async connect() {
29
+ if (this.destroyed)
30
+ return;
31
+ // Dynamic import — ws may not be installed in all environments
32
+ const { default: WebSocket } = await import('ws');
33
+ const wsUrl = this.apiBaseUrl
34
+ .replace(/^http/, 'ws')
35
+ .replace(/\/api\/v1\/?$/, '')
36
+ + `/tunnel/connect?key=${encodeURIComponent(this.apiKey)}&project=${encodeURIComponent(this.projectId)}`;
37
+ return new Promise((resolve) => {
38
+ try {
39
+ this.ws = new WebSocket(wsUrl);
40
+ }
41
+ catch {
42
+ this.scheduleReconnect();
43
+ resolve();
44
+ return;
45
+ }
46
+ this.ws.on('open', () => {
47
+ this.reconnectMs = 1000; // Reset backoff
48
+ console.error(`[recursiv-tunnel] Connected, waiting for token...`);
49
+ });
50
+ this.ws.on('message', (data) => {
51
+ try {
52
+ const msg = JSON.parse(data.toString());
53
+ if (msg.type === 'connected') {
54
+ const connected = msg;
55
+ this.token = connected.token;
56
+ this.proxyBaseUrl = connected.proxyBaseUrl;
57
+ console.error(`[recursiv-tunnel] Tunnel active → localhost:${this.localPort}`);
58
+ resolve();
59
+ return;
60
+ }
61
+ if (msg.type === 'request') {
62
+ this.handleRequest(msg);
63
+ }
64
+ }
65
+ catch {
66
+ // Ignore malformed messages
67
+ }
68
+ });
69
+ this.ws.on('close', () => {
70
+ this.token = null;
71
+ this.proxyBaseUrl = null;
72
+ this.ws = null;
73
+ if (!this.destroyed) {
74
+ console.error(`[recursiv-tunnel] Disconnected, reconnecting in ${this.reconnectMs}ms...`);
75
+ this.scheduleReconnect();
76
+ }
77
+ });
78
+ this.ws.on('error', (err) => {
79
+ console.error(`[recursiv-tunnel] Error: ${err.message}`);
80
+ // 'close' event will fire after this, triggering reconnect
81
+ });
82
+ // Resolve after timeout if no connection message received
83
+ setTimeout(() => resolve(), 10_000);
84
+ });
85
+ }
86
+ async handleRequest(req) {
87
+ try {
88
+ const localUrl = `http://localhost:${this.localPort}${req.path}`;
89
+ const parsed = new URL(localUrl);
90
+ // Check allowed methods
91
+ const allowedMethods = (process.env.RECURSIV_TUNNEL_METHODS || 'GET').toUpperCase().split(',').map(m => m.trim());
92
+ if (!allowedMethods.includes(req.method.toUpperCase())) {
93
+ this.sendResponse({
94
+ id: req.id,
95
+ type: 'response',
96
+ status: 405,
97
+ headers: {},
98
+ body: Buffer.from(`Method ${req.method} not allowed through tunnel`).toString('base64'),
99
+ });
100
+ return;
101
+ }
102
+ const reqFn = parsed.protocol === 'https:' ? httpsRequest : httpRequest;
103
+ const body = req.body ? Buffer.from(req.body, 'base64') : undefined;
104
+ const proxyReq = reqFn(localUrl, {
105
+ method: req.method,
106
+ headers: {
107
+ ...req.headers,
108
+ host: `localhost:${this.localPort}`,
109
+ },
110
+ timeout: 25_000,
111
+ }, (res) => {
112
+ const chunks = [];
113
+ res.on('data', (chunk) => chunks.push(chunk));
114
+ res.on('end', () => {
115
+ const responseBody = Buffer.concat(chunks);
116
+ const headers = {};
117
+ for (const [key, value] of Object.entries(res.headers)) {
118
+ if (value)
119
+ headers[key] = Array.isArray(value) ? value.join(', ') : value;
120
+ }
121
+ this.sendResponse({
122
+ id: req.id,
123
+ type: 'response',
124
+ status: res.statusCode || 500,
125
+ headers,
126
+ body: responseBody.length > 0 ? responseBody.toString('base64') : undefined,
127
+ });
128
+ });
129
+ });
130
+ proxyReq.on('error', (err) => {
131
+ this.sendResponse({
132
+ id: req.id,
133
+ type: 'response',
134
+ status: 502,
135
+ headers: {},
136
+ body: Buffer.from(`Local server error: ${err.message}`).toString('base64'),
137
+ });
138
+ });
139
+ proxyReq.on('timeout', () => {
140
+ proxyReq.destroy();
141
+ this.sendResponse({
142
+ id: req.id,
143
+ type: 'response',
144
+ status: 504,
145
+ headers: {},
146
+ body: Buffer.from('Local server timeout').toString('base64'),
147
+ });
148
+ });
149
+ if (body)
150
+ proxyReq.write(body);
151
+ proxyReq.end();
152
+ }
153
+ catch (err) {
154
+ this.sendResponse({
155
+ id: req.id,
156
+ type: 'response',
157
+ status: 500,
158
+ headers: {},
159
+ body: Buffer.from(`Tunnel proxy error: ${err instanceof Error ? err.message : String(err)}`).toString('base64'),
160
+ });
161
+ }
162
+ }
163
+ sendResponse(res) {
164
+ if (this.ws && this.ws.readyState === 1 /* OPEN */) {
165
+ this.ws.send(JSON.stringify(res));
166
+ }
167
+ }
168
+ scheduleReconnect() {
169
+ if (this.destroyed || this.reconnectTimer)
170
+ return;
171
+ this.reconnectTimer = setTimeout(() => {
172
+ this.reconnectTimer = null;
173
+ this.reconnectMs = Math.min(this.reconnectMs * 2, 30_000);
174
+ this.connect().catch(() => { });
175
+ }, this.reconnectMs);
176
+ }
177
+ /** Rewrite a localhost URL to the tunnel proxy URL */
178
+ rewriteUrl(localUrl) {
179
+ if (!this.proxyBaseUrl || !this.apiBaseUrl)
180
+ return localUrl;
181
+ const parsed = new URL(localUrl);
182
+ const apiOrigin = this.apiBaseUrl.replace(/\/api\/v1\/?$/, '');
183
+ return apiOrigin + this.proxyBaseUrl + parsed.pathname + parsed.search;
184
+ }
185
+ getProxyBaseUrl() {
186
+ if (!this.proxyBaseUrl || !this.apiBaseUrl)
187
+ return null;
188
+ const apiOrigin = this.apiBaseUrl.replace(/\/api\/v1\/?$/, '');
189
+ return apiOrigin + this.proxyBaseUrl + '/';
190
+ }
191
+ getToken() {
192
+ return this.token;
193
+ }
194
+ isConnected() {
195
+ return this.ws !== null && this.ws.readyState === 1 /* OPEN */ && this.token !== null;
196
+ }
197
+ disconnect() {
198
+ this.destroyed = true;
199
+ if (this.reconnectTimer) {
200
+ clearTimeout(this.reconnectTimer);
201
+ this.reconnectTimer = null;
202
+ }
203
+ if (this.ws) {
204
+ this.ws.close(1000, 'client shutdown');
205
+ this.ws = null;
206
+ }
207
+ this.token = null;
208
+ this.proxyBaseUrl = null;
209
+ }
210
+ }
211
+ // ── Helpers ────────────────────────────────────────────────────────
212
+ /** Check if a URL points to localhost / private address */
213
+ export function isLocalhostUrl(url) {
214
+ try {
215
+ const parsed = new URL(url);
216
+ const h = parsed.hostname.toLowerCase();
217
+ return (h === 'localhost' ||
218
+ h === '127.0.0.1' ||
219
+ h === '0.0.0.0' ||
220
+ h === '::1' ||
221
+ h.endsWith('.local'));
222
+ }
223
+ catch {
224
+ return false;
225
+ }
226
+ }
227
+ // ── Singleton ──────────────────────────────────────────────────────
228
+ let tunnelInstance = null;
229
+ /**
230
+ * Auto-resolve a project ID for the tunnel.
231
+ * Priority: env var → first existing project → auto-create one.
232
+ */
233
+ async function resolveProjectId(apiBaseUrl, apiKey) {
234
+ // 1. Explicit env var
235
+ if (process.env.RECURSIV_PROJECT_ID)
236
+ return process.env.RECURSIV_PROJECT_ID;
237
+ // 2. Try to find or create a project automatically
238
+ try {
239
+ const headers = { Authorization: `Bearer ${apiKey}`, 'Content-Type': 'application/json' };
240
+ // Get user's orgs to find org ID
241
+ const orgsRes = await fetch(`${apiBaseUrl}/organizations`, { headers });
242
+ if (!orgsRes.ok)
243
+ return null;
244
+ const orgs = await orgsRes.json();
245
+ const orgId = orgs?.data?.[0]?.id;
246
+ if (!orgId)
247
+ return null;
248
+ // List projects for this org
249
+ const projectsRes = await fetch(`${apiBaseUrl}/projects?organization_id=${orgId}`, { headers });
250
+ if (!projectsRes.ok)
251
+ return null;
252
+ const projects = await projectsRes.json();
253
+ if (projects?.data?.length > 0) {
254
+ const projectId = projects.data[0].id;
255
+ console.error(`[recursiv-tunnel] Auto-resolved project: ${projects.data[0].name} (${projectId})`);
256
+ return projectId;
257
+ }
258
+ // No projects — create one
259
+ const createRes = await fetch(`${apiBaseUrl}/projects`, {
260
+ method: 'POST',
261
+ headers,
262
+ body: JSON.stringify({ name: 'QA', organization_id: orgId }),
263
+ });
264
+ if (!createRes.ok)
265
+ return null;
266
+ const created = await createRes.json();
267
+ const projectId = created?.data?.id;
268
+ if (projectId) {
269
+ console.error(`[recursiv-tunnel] Auto-created project "QA" (${projectId})`);
270
+ return projectId;
271
+ }
272
+ }
273
+ catch {
274
+ // Silent failure — tunnel just won't connect
275
+ }
276
+ return null;
277
+ }
278
+ /**
279
+ * Initialize the tunnel. Auto-resolves project ID if not set.
280
+ * Called once during MCP startup.
281
+ */
282
+ export async function initializeTunnelClient(apiBaseUrl, apiKey) {
283
+ const projectId = await resolveProjectId(apiBaseUrl, apiKey);
284
+ if (!projectId)
285
+ return null;
286
+ tunnelInstance = new TunnelClient({
287
+ apiBaseUrl,
288
+ apiKey,
289
+ projectId,
290
+ localPort: parseInt(process.env.RECURSIV_TUNNEL_PORT || '3000', 10),
291
+ });
292
+ await tunnelInstance.connect();
293
+ return tunnelInstance;
294
+ }
295
+ /**
296
+ * Get the tunnel client singleton (may be null if not initialized).
297
+ */
298
+ export function getTunnelClient() {
299
+ return tunnelInstance;
300
+ }
301
+ //# sourceMappingURL=tunnel.js.map