readwise_create_highlight
Create manual highlights in Readwise to save and organize important text passages from books, articles, podcasts, or tweets with metadata like author, source, and notes.
Instructions
Create new highlights manually in Readwise
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| highlights | Yes | Array of highlights to create |
Implementation Reference
- The primary handler function that implements the logic for the 'readwise_create_highlight' tool. It initializes the Readwise client and invokes client.createHighlight(args) with the provided arguments, returning the API response as formatted JSON text content.export async function handleCreateHighlight(args: any) { const client = await initializeClient(); const response = await client.createHighlight(args); return { content: [ { type: 'text', text: JSON.stringify(response.data, null, 2), }, ], }; }
- The tool definition object including name, description, and detailed inputSchema for validating parameters to create highlights, such as array of highlights with text (required), title, author, source_url, etc.name: 'readwise_create_highlight', description: 'Create new highlights manually in Readwise', inputSchema: { type: 'object', properties: { highlights: { type: 'array', items: { type: 'object', properties: { text: { type: 'string', description: 'The highlight text (required)', }, title: { type: 'string', description: 'Title of the source book/article', }, author: { type: 'string', description: 'Author of the source', }, source_url: { type: 'string', description: 'URL of the original source', }, source_type: { type: 'string', description: 'Unique identifier for your app/source', }, category: { type: 'string', enum: ['books', 'articles', 'tweets', 'podcasts'], description: 'Category of the source', }, note: { type: 'string', description: 'Personal note or annotation for the highlight', }, location: { type: 'number', description: 'Location in the source (page number, position, etc.)', }, location_type: { type: 'string', enum: ['page', 'order', 'time_offset'], description: 'Type of location reference', }, highlighted_at: { type: 'string', description: 'When the highlight was made (ISO 8601)', }, }, required: ['text'], }, description: 'Array of highlights to create', minItems: 1, }, }, required: ['highlights'], additionalProperties: false, }, },
- src/handlers/index.ts:42-43 (registration)The switch case in the main tool dispatcher that routes 'readwise_create_highlight' calls to the handleCreateHighlight function.case 'readwise_create_highlight': return handleCreateHighlight(args);