note_list
Retrieve and filter project notes by type, tags, or related entities to track decisions, meetings, blockers, and progress within structured project management.
Instructions
List notes with optional filters. Returns notes sorted by most recent first.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note_type | No | ||
| related_entity_type | No | ||
| related_entity_id | No | ||
| tag | No | Filter by a single tag | |
| limit | No |
Implementation Reference
- src/tools/notes.ts:124-157 (handler)Implementation of the 'note_list' tool handler.
function handleNoteList(args: Record<string, unknown>) { const db = getDb(); const noteType = args.note_type as string | undefined; const relatedEntityType = args.related_entity_type as string | undefined; const relatedEntityId = args.related_entity_id as number | undefined; const tag = args.tag as string | undefined; const limit = (args.limit as number) ?? 30; const whereClauses: string[] = []; const params: unknown[] = []; if (noteType) { whereClauses.push('note_type = ?'); params.push(noteType); } if (relatedEntityType) { whereClauses.push('related_entity_type = ?'); params.push(relatedEntityType); } if (relatedEntityId !== undefined) { whereClauses.push('related_entity_id = ?'); params.push(relatedEntityId); } if (tag) { addTagFilter(whereClauses, params, tag, 'notes'); } const whereStr = whereClauses.length > 0 ? `WHERE ${whereClauses.join(' AND ')}` : ''; const sql = `SELECT * FROM notes ${whereStr} ORDER BY created_at DESC LIMIT ?`; params.push(limit); return db.prepare(sql).all(...params); } - src/tools/notes.ts:35-52 (schema)Definition and schema for the 'note_list' tool.
{ name: 'note_list', description: 'List notes with optional filters. Returns notes sorted by most recent first.', annotations: { title: 'List Notes', readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false }, inputSchema: { type: 'object', properties: { note_type: { type: 'string', enum: ['general', 'decision', 'context', 'meeting', 'technical', 'blocker', 'progress', 'release'], }, related_entity_type: { type: 'string', enum: ['project', 'epic', 'task'] }, related_entity_id: { type: 'integer' }, tag: { type: 'string', description: 'Filter by a single tag' }, limit: { type: 'integer', default: 30 }, }, }, }, - src/tools/notes.ts:195-195 (registration)Registration of 'note_list' in the handlers map.
note_list: handleNoteList,