manage_watchlist
Add, remove, or list companies to track funding rounds, acquisitions, and executive hires, generating alerts for new business events.
Instructions
Add, remove, or list companies on your watchlist. Tracked companies generate alerts when they have new events.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: 'list' to view, 'add' to track, 'remove' to untrack | |
| domains | No | Company domains for add/remove (e.g., ['stripe.com', 'github.com']) |
Implementation Reference
- src/index.ts:254-285 (handler)Implementation of the manage_watchlist tool, handling 'list', 'add', and 'remove' actions.
case "manage_watchlist": { const action = (args as any).action; const domains = (args as any).domains; if (action === "list") { const data = await apiRequest("GET", "/watchlist"); const companies = data.companies || []; if (companies.length === 0) { return textResult("Your watchlist is empty. Add companies with the 'add' action."); } const list = companies .map((c: any) => `- ${c.name || c.domain} (${c.domain})${c.matched ? "" : " [pending match]"}`) .join("\n"); return textResult(`Watchlist (${data.total}/${data.limit} slots used):\n\n${list}`); } if (!domains || domains.length === 0) { return textResult("Please provide domains to add or remove."); } if (action === "add") { const data = await apiRequest("POST", "/watchlist", { domains }); return textResult( `Added ${data.added} companies. Already tracked: ${data.already_tracked}. ` + `Not found: ${data.not_found}. Total tracked: ${data.total_tracked}.` ); } if (action === "remove") { const data = await apiRequest("DELETE", "/watchlist", { domains }); return textResult(`Removed ${data.removed} companies. Total tracked: ${data.total_tracked}.`); } - src/index.ts:127-148 (registration)Tool registration and schema definition for manage_watchlist.
{ name: "manage_watchlist", description: "Add, remove, or list companies on your watchlist. Tracked companies generate " + "alerts when they have new events.", inputSchema: { type: "object" as const, properties: { action: { type: "string", enum: ["list", "add", "remove"], description: "Action: 'list' to view, 'add' to track, 'remove' to untrack", }, domains: { type: "array", items: { type: "string" }, description: "Company domains for add/remove (e.g., ['stripe.com', 'github.com'])", }, }, required: ["action"], }, },