Skip to main content
Glama
bigjeager

Bear App MCP Server

by bigjeager

bear_open_note

Open specific notes in Bear App by ID, title, or search terms, with options to pin, edit, or float the note window for efficient organization and access.

Instructions

Open a note in Bear by ID or title

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
editNoPlace cursor in note editor
exclude_trashedNoExclude trashed notes
floatNoFloat note window
headerNoHeader inside the note
idNoNote unique identifier
new_windowNoOpen in external window (macOS only)
open_noteNoOpen note after command
pinNoPin note to top of list
searchNoSearch term within note
selectedNoSelected text in note
show_windowNoShow Bear window
titleNoNote title

Implementation Reference

  • The primary handler function `openNote` for the 'bear_open_note' tool. It processes input arguments into parameters for Bear's URL scheme, executes the open-note action using `executeWithCallback`, and returns the note data as a text content block.
    private async openNote(args: any) { const params: Record<string, string | boolean> = {}; if (args.id) params.id = args.id; if (args.title) params.title = args.title; if (args.header) params.header = args.header; if (args.exclude_trashed) params.exclude_trashed = "yes"; if (args.new_window) params.new_window = "yes"; if (args.edit) params.edit = "yes"; if (args.selected) params.selected = args.selected; if (args.pin) params.pin = "yes"; if (args.float) params.float = "yes"; if (args.show_window) params.show_window = "yes"; if (args.open_note) params.open_note = "yes"; if (args.search) params.search = args.search; // Set up a temporary HTTP server to capture the x-success callback const noteData = await this.executeWithCallback("open-note", params); return { content: [ { type: "text", text: JSON.stringify(noteData, null, 2) } ] }; }
  • The input schema definition for the 'bear_open_note' tool, specifying properties like id, title, header, and various boolean flags for Bear app interactions.
    { name: "bear_open_note", description: "Open a note in Bear by ID or title", inputSchema: { type: "object", properties: { id: { type: "string", description: "Note unique identifier" }, title: { type: "string", description: "Note title" }, header: { type: "string", description: "Header inside the note" }, exclude_trashed: { type: "boolean", description: "Exclude trashed notes" }, new_window: { type: "boolean", description: "Open in external window (macOS only)" }, edit: { type: "boolean", description: "Place cursor in note editor" }, selected: { type: "string", description: "Selected text in note" }, pin: { type: "boolean", description: "Pin note to top of list" }, float: { type: "boolean", description: "Float note window" }, show_window: { type: "boolean", description: "Show Bear window" }, open_note: { type: "boolean", description: "Open note after command" }, search: { type: "string", description: "Search term within note" } } }
  • src/index.ts:705-706 (registration)
    Registration of the 'bear_open_note' handler in the central tool dispatcher switch statement within the CallToolRequestSchema handler.
    case "bear_open_note": return await this.openNote(args);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bigjeager/bear-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server