mark_as_unread
Mark articles as unread in FreshRSS to revisit them later. Specify article IDs to reset their read status for future review.
Instructions
Mark one or more articles as unread
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| articleIds | Yes | Article IDs to mark |
Implementation Reference
- src/handlers/article-handlers.ts:54-57 (handler)The handler function that executes the mark_as_unread tool logic using the client service.
wrapTool('mark_as_unread', async (args: z.infer<typeof markArticlesSchema>) => { await client.articles.markAsUnread(args.articleIds); return textResult(`Marked ${args.articleIds.length.toString()} article(s) as unread.`); }) - src/api/article-service.ts:58-62 (handler)The service method that performs the actual API call to mark articles as unread.
async markAsUnread(articleIds: string[]): Promise<void> { await this.http.post('/reader/api/0/edit-tag', { i: articleIds, r: 'user/-/state/com.google/read', }); - src/handlers/article-handlers.ts:48-58 (registration)Tool registration for 'mark_as_unread' in the server.
server.registerTool( 'mark_as_unread', { description: 'Mark one or more articles as unread', inputSchema: markArticlesSchema, }, wrapTool('mark_as_unread', async (args: z.infer<typeof markArticlesSchema>) => { await client.articles.markAsUnread(args.articleIds); return textResult(`Marked ${args.articleIds.length.toString()} article(s) as unread.`); }) ); - src/tools/article-tools.ts:32-36 (schema)Input validation schema for marking articles.
export const markArticlesSchema = z .object({ articleIds: z.array(z.string()).min(1).describe('Article IDs to mark'), }) .strict();