create-bookmark
Save URLs as bookmarks in Raindrop.io with optional titles, tags, and collection IDs using the Raindrop.io MCP Server. Simplify bookmarking through AI-assisted workflows.
Instructions
Create a new bookmark in Raindrop.io
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| collection | No | Collection ID to save to (optional) | |
| tags | No | Tags for the bookmark (optional) | |
| title | No | Title for the bookmark (optional) | |
| url | Yes | URL to bookmark |
Implementation Reference
- src/index.ts:46-65 (handler)Executes the create-bookmark tool by parsing arguments with Zod schema, calling RaindropAPI.createBookmark, and returning a success response.if (name === "create-bookmark") { const { url, title, tags, collection } = CreateBookmarkSchema.parse(args); const bookmark = await api.createBookmark({ link: url, title, tags, collection: { $id: collection || 0 }, }); return { content: [ { type: "text", text: `Bookmark created successfully: ${bookmark.item.link}`, }, ], }; }
- src/lib/tools.ts:4-30 (schema)Tool schema definition for 'create-bookmark', including input schema exposed to the MCP client.{ name: "create-bookmark", description: "Create a new bookmark in Raindrop.io", inputSchema: { type: "object", properties: { url: { type: "string", description: "URL to bookmark", }, title: { type: "string", description: "Title for the bookmark (optional)", }, tags: { type: "array", items: { type: "string" }, description: "Tags for the bookmark (optional)", }, collection: { type: "number", description: "Collection ID to save to (optional)", }, }, required: ["url"], }, },
- src/types/index.ts:4-9 (schema)Zod validation schema for create-bookmark inputs, used in the handler for strict type checking.export const CreateBookmarkSchema = z.object({ url: z.string().url(), title: z.string().optional(), tags: z.array(z.string()).optional(), collection: z.number().optional(), });
- src/lib/raindrop-api.ts:33-44 (helper)Helper method in RaindropAPI class that performs the actual API call to create a bookmark on Raindrop.io.async createBookmark(params: { link: string; title?: string; tags?: string[]; collection?: { $id: number }; }) { return this.makeRequest<{ item: { link: string } }>( "/raindrop", "POST", params, ); }
- src/index.ts:29-31 (registration)Tool registration via the ListToolsRequest handler, which returns the list of tools including 'create-bookmark'.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools }; });