get-note-content
Retrieve content from Apple Notes by specifying the title, enabling quick access to stored information directly through the Apple Notes MCP Server.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"title": {
"minLength": 1,
"type": "string"
}
},
"required": [
"title"
],
"type": "object"
}
Implementation Reference
- Core handler function that retrieves the content of a note by title using AppleScript execution.getNoteContent(title: string): string { const sanitizedTitle = title.replace(/"/g, '\\"'); const script = ` tell application "Notes" tell account "${this.ICLOUD_ACCOUNT}" get body of note "${sanitizedTitle}" end tell end tell `; const result = runAppleScript(script); if (!result.success) { console.error('Failed to get note content:', result.error); return ''; } return result.output; }
- src/index.ts:95-117 (registration)MCP server tool registration for 'get-note-content', including input schema reference and thin wrapper handler delegating to AppleNotesManager.server.tool( "get-note-content", getNoteSchema, async ({ title }: GetNoteParams) => { try { const content = notesManager.getNoteContent(title); return { content: [{ type: "text", text: content || "Note not found" }] }; } catch (error) { return { content: [{ type: "text", text: `Error retrieving note content: ${error instanceof Error ? error.message : 'Unknown error'}` }], isError: true }; } } );
- src/index.ts:28-30 (schema)Zod schema for validating the input parameter 'title' of the get-note-content tool.const getNoteSchema = { title: z.string().min(1, "Note title is required") };
- src/types.ts:27-29 (schema)TypeScript interface defining the input parameters for the get-note-content tool handler.export interface GetNoteParams { title: string; }
- src/utils/applescript.ts:9-35 (helper)Helper utility to execute AppleScript commands via osascript, used by the note content retrieval logic.export function runAppleScript(script: string): AppleScriptResult { try { // Trim and sanitize the script const sanitizedScript = script.trim().replace(/[\r\n]+/g, ' '); // Execute the AppleScript command const output = execSync(`osascript -e '${sanitizedScript}'`, { encoding: 'utf8', timeout: 10000 // 10 second timeout }); return { success: true, output: output.trim() }; } catch (error) { console.error('AppleScript execution failed:', error); return { success: false, output: '', error: error instanceof Error ? error.message : 'Unknown error occurred while executing AppleScript' }; } }