bear_find_untagged
Find Bear notes without tags by listing up to 30 unlabeled notes, helping you organize and tag untagged content.
Instructions
List Bear notes that have no tags assigned.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of notes to return (default 30) |
Implementation Reference
- mcp-server/src/tools.ts:685-690 (handler)buildArgs function for bear_find_untagged: builds CLI args ['ls', '--untagged', '--json'] with optional --limit flag. This is the logic that executes when the tool is called.
buildArgs: (input) => { const args = ["ls", "--untagged", "--json"]; if (input.limit) args.push("--limit", String(input.limit)); return args; }, }, - mcp-server/src/tools.ts:665-684 (schema)Tool definition and input schema for bear_find_untagged. Accepts an optional 'limit' number (default 30). Annotated as readOnly, non-destructive, and idempotent.
bear_find_untagged: { tool: { name: "bear_find_untagged", description: "List Bear notes that have no tags assigned.", inputSchema: { type: "object" as const, properties: { limit: { type: "number", description: "Maximum number of notes to return (default 30)", }, }, }, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, }, }, - mcp-server/src/index.ts:29-31 (registration)Tools are registered via ListToolsRequestSchema handler which iterates all tools including bear_find_untagged.
server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: Object.values(tools).map((t) => t.tool), })); - mcp-server/src/index.ts:33-42 (registration)CallToolRequestSchema handler dispatches to bear_find_untagged via the tools[name] lookup, then calls buildArgs to construct CLI arguments.
server.setRequestHandler(CallToolRequestSchema, async (request) => { const { name, arguments: input } = request.params; const handler = tools[name]; if (!handler) { return { content: [{ type: "text", text: `Unknown tool: ${name}` }], isError: true, }; }