bear-notes-mcp 2.5.0 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/config.js +1 -1
- package/dist/main.js +15 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ Search, read, create, and update your Bear Notes from any AI assistant.
|
|
|
19
19
|
- **`bear-open-note`** - Read the full text content of a Bear note including OCR'd text from attached images and PDFs
|
|
20
20
|
- **`bear-create-note`** - Create a new note in your Bear library with optional title, content, and tags
|
|
21
21
|
- **`bear-search-notes`** - Find notes by searching text content, filtering by tags, or date ranges. Includes OCR search in attachments
|
|
22
|
-
- **`bear-add-text`** -
|
|
22
|
+
- **`bear-add-text`** - Insert text at the beginning or end of a Bear note, or within a specific section identified by its header
|
|
23
23
|
- **`bear-replace-text`** - Replace content in an existing Bear note — either the full body or a specific section. Requires content replacement to be enabled in settings.
|
|
24
24
|
- **`bear-add-file`** - Attach a file (image, PDF, Excel, etc.) to an existing Bear note using base64-encoded content
|
|
25
25
|
- **`bear-list-tags`** - List all tags in your Bear library as a hierarchical tree with note counts
|
package/dist/config.js
CHANGED
package/dist/main.js
CHANGED
|
@@ -11,6 +11,16 @@ import { buildBearUrl, executeBearXCallbackApi } from './bear-urls.js';
|
|
|
11
11
|
const server = new McpServer({
|
|
12
12
|
name: 'bear-notes-mcp',
|
|
13
13
|
version: APP_VERSION,
|
|
14
|
+
}, {
|
|
15
|
+
instructions: [
|
|
16
|
+
'This server integrates with Bear, a markdown note-taking app.',
|
|
17
|
+
'Each note has a unique ID, a title, a body, and optional tags.',
|
|
18
|
+
'Notes use markdown headings (##, ###, etc.) to define sections.',
|
|
19
|
+
'Use bear-search-notes to find note IDs before reading or modifying notes.',
|
|
20
|
+
'To modify note content: bear-add-text inserts text without touching existing content; bear-replace-text overwrites content.',
|
|
21
|
+
'When targeting a section by header, operations apply only to the direct content under that header — not nested sub-sections.',
|
|
22
|
+
'To modify sub-sections, make separate calls targeting each sub-header.',
|
|
23
|
+
].join('\n'),
|
|
14
24
|
});
|
|
15
25
|
server.registerTool('bear-open-note', {
|
|
16
26
|
title: 'Open Bear Note',
|
|
@@ -201,7 +211,7 @@ Try different search criteria or check if notes exist in Bear Notes.`);
|
|
|
201
211
|
});
|
|
202
212
|
server.registerTool('bear-add-text', {
|
|
203
213
|
title: 'Add Text to Note',
|
|
204
|
-
description: '
|
|
214
|
+
description: 'Insert text at the beginning or end of a Bear note, or within a specific section identified by its header. Use bear-search-notes first to get the note ID. To insert without replacing existing text use this tool; to overwrite the direct content under a header use bear-replace-text.',
|
|
205
215
|
inputSchema: {
|
|
206
216
|
id: z
|
|
207
217
|
.string()
|
|
@@ -217,7 +227,7 @@ server.registerTool('bear-add-text', {
|
|
|
217
227
|
.string()
|
|
218
228
|
.trim()
|
|
219
229
|
.optional()
|
|
220
|
-
.describe('Optional section header to target (adds text within that section)'),
|
|
230
|
+
.describe('Optional section header to target (adds text within that section). Accepts any heading level, including the note title (H1).'),
|
|
221
231
|
position: z
|
|
222
232
|
.enum(['beginning', 'end'])
|
|
223
233
|
.optional()
|
|
@@ -235,7 +245,7 @@ server.registerTool('bear-add-text', {
|
|
|
235
245
|
});
|
|
236
246
|
server.registerTool('bear-replace-text', {
|
|
237
247
|
title: 'Replace Note Content',
|
|
238
|
-
description: 'Replace content in an existing Bear note — either the full body or a specific section. Requires content replacement to be enabled in extension settings. Use bear-search-notes first to get the note ID.',
|
|
248
|
+
description: 'Replace content in an existing Bear note — either the full body or a specific section. Requires content replacement to be enabled in extension settings. Use bear-search-notes first to get the note ID. To add text without replacing existing content use bear-add-text instead.',
|
|
239
249
|
inputSchema: {
|
|
240
250
|
id: z
|
|
241
251
|
.string()
|
|
@@ -249,12 +259,12 @@ server.registerTool('bear-replace-text', {
|
|
|
249
259
|
.string()
|
|
250
260
|
.trim()
|
|
251
261
|
.min(1, 'Text content is required')
|
|
252
|
-
.describe('Replacement text content'),
|
|
262
|
+
.describe('Replacement text content. When scope is "section", provide only the direct content for the targeted header — do not include markdown sub-headers (###). Replace sub-sections with separate calls targeting each sub-header.'),
|
|
253
263
|
header: z
|
|
254
264
|
.string()
|
|
255
265
|
.trim()
|
|
256
266
|
.optional()
|
|
257
|
-
.describe('Section header to target — required when scope is "section", forbidden when scope is "full-note-body"'),
|
|
267
|
+
.describe('Section header to target — required when scope is "section", forbidden when scope is "full-note-body". Accepts any heading level, including the note title (H1).'),
|
|
258
268
|
},
|
|
259
269
|
annotations: {
|
|
260
270
|
readOnlyHint: false,
|