MCP server for Bear note-taking application providing tools for note management, backup, tagging, and content manipulation
Ursus defines 22 tools with consistent naming conventions (all bear_* prefix, verb-first pattern). Descriptions are present for all tools and range from 85-250 characters, meeting the 10-1024 character guideline. However, input schemas are only partially visible in the provided source code. Tools show evidence of being tested (references to test files), and parameter descriptions exist for top-level input objects, but detailed parameter-level schemas and output schemas are not visible in the source excerpt. Tool names follow the verb_resource pattern well (find_notes, create_backups, delete_tags), though some combine multiple operations (e.g., bear_compare_backup, bear_apply_template). No enum constraints are visible in the provided schemas. Error handling is not evident in the source. The tools span write, read, and destructive operations with clear risk categorization, suggesting proper permission gating is likely implemented elsewhere.
Attach local files to notes and place them at a chosen position in the note content.
Add one or more tags to specific notes.
Reformat existing notes using your current Ursus template while preserving their actual content and normalizing tag placement.
Move notes into Bear's archive without deleting them.
Compare a saved snapshot against the current note so you can inspect what changed before restoring anything.
Save snapshots of notes so you can recover earlier states later. Useful before risky edits, bulk changes, or cleanup passes.
Input schemas lack detailed parameter-level type definitions and descriptions. All tools show only top-level 'operations' or 'selectors' arrays with minimal nesting visible. Full nested schemas for operation objects are not visible in the provided source, making it impossible to verify parameter types, constraints, and descriptions at the operation level.
Output schemas are not documented in the source code. Tools return results but no structured output schema is visible, meaning LLMs cannot anticipate return fields for chaining or planning subsequent operations.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | <=2025-11-25 | v2 |
Create new Bear notes with your configured template and tag behavior. Whether creation opens the note comes from your saved defaults; use the open-notes tool when you want an explicit open action.
Remove saved backup snapshots when they are no longer needed. This can delete a single backup or clear the backup history for a note.
Delete Bear tags globally.
Search across your Bear library using combinations of text, tags, dates, pinned state, todos, and attachment content.
Find notes that use your configured inbox tags.
Find notes that match one or more specific Bear tags.
Fetch the full body of notes, metadata, and attachment details.
Add new text into an existing note without replacing everything else. It can insert at the top, bottom, or relative to specific text or headings inside the note.
Show the saved backup history for a note, including support for narrowing by date.
Show the tags that exist in Bear so related actions can use the correct names.
Open one or more notes in Bear so you can view or continue working on them in the app.
Open a Bear tag directly in the Bear app.
Remove specific tags from specific notes while leaving those tags available elsewhere in Bear. This is the note-level cleanup tool, not a global tag deletion.
Rename a tag across Bear globally, not just in one note.
Edit a note directly by replacing its title, replacing the entire body, or swapping exact text inside the body.
Restore a note from one of its saved backups. Use this to roll back unwanted edits or recover an earlier version of the note.
No evidence of error handling guidance in tool definitions. When operations fail (e.g., invalid note selector, missing tag), the LLM will not know whether to retry, ask the user, or escalate. No actionable error messages or recovery suggestions visible.
Tools accepting free-form string parameters (e.g., 'location', 'query', 'tag') lack enum constraints or validation rules. LLMs may pass invalid values that are silently ignored or cause failures.
Tool 'bear_compare_backup' and 'bear_apply_template' have somewhat vague names that may not clearly convey intent to LLMs unfamiliar with Bear domain. 'compare_backup' could mean diff operation, but the name alone does not indicate it returns a diff of changes.
No visible pagination support in tools that could return large result sets (bear_find_notes, bear_list_tags, bear_list_backups). Descriptions do not mention limits or cursors, risking context window exhaustion when results are large.
Destructive operations (bear_delete_backups, bear_delete_tags, bear_restore_notes) do not document confirmation or dry-run patterns. Agents could accidentally delete tags or backups without safeguards.