capacities_save_weblink
Save web links to Capacities knowledge management spaces with custom titles, descriptions, tags, and markdown notes for organized content collection.
Instructions
Save a web link to a Capacities space with optional title and tags
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| spaceId | Yes | The UUID of the space to save the weblink to | |
| url | Yes | The URL to save | |
| titleOverwrite | No | Optional custom title for the weblink | |
| descriptionOverwrite | No | Optional description for the weblink | |
| tags | No | Optional Tags to add to the weblink. Tags need to exactly match your tag names in Capacities, otherwise they will be created. | |
| mdText | No | Text formatted as markdown that will be added to the notes section |
Implementation Reference
- src/tools/saveWeblink.ts:19-52 (handler)The execute handler function that implements the core logic: builds the request body from args and POSTs to /save-weblink via makeApiRequest, handles response.}) => { try { const requestBody = { spaceId: args.spaceId, url: args.url, ...(args.titleOverwrite && { titleOverwrite: args.titleOverwrite }), ...(args.descriptionOverwrite && { descriptionOverwrite: args.descriptionOverwrite, }), ...(args.tags && { tags: args.tags }), ...(args.mdText && { mdText: args.mdText }), }; const response = await makeApiRequest("/save-weblink", { method: "POST", body: JSON.stringify(requestBody), }); const responseText = await response.text(); if (!responseText.trim()) { return "Success: Weblink saved (no response data)"; } try { const data = JSON.parse(responseText); return JSON.stringify(data, null, 2); } catch (parseError) { return `Success: Weblink saved. Response: ${responseText}`; } } catch (error) { throw new Error( `Failed to save weblink: ${error instanceof Error ? error.message : String(error)}`, ); }
- src/tools/saveWeblink.ts:54-85 (schema)Tool name definition and Zod input schema defining parameters like spaceId, url, titleOverwrite, etc.name: "capacities_save_weblink", parameters: z.object({ spaceId: z .string() .uuid() .describe("The UUID of the space to save the weblink to"), url: z.string().url().describe("The URL to save"), titleOverwrite: z .string() .max(500) .optional() .describe("Optional custom title for the weblink"), descriptionOverwrite: z .string() .max(500) .optional() .describe("Optional description for the weblink"), tags: z .array(z.string()) .max(30) .optional() .describe( "Optional Tags to add to the weblink. Tags need to exactly match your tag names in Capacities, otherwise they will be created.", ), mdText: z .string() .max(200000) .optional() .describe( "Text formatted as markdown that will be added to the notes section", ), }),
- src/server.ts:25-30 (registration)Registration of the saveWeblinkTool (and other tools) by calling server.addTool(saveWeblinkTool).server.addTool(listSpacesTool); server.addTool(getSpaceInfoTool); server.addTool(searchTool); server.addTool(readObjectContentTool); server.addTool(saveWeblinkTool); server.addTool(saveToDailyNoteTool);