Skip to main content
Glama
bigjeager

Bear App MCP Server

by bigjeager

Bear App MCP Server

A Model Context Protocol (MCP) server that provides integration with Bear App using its X-callback-URL scheme. This server enables AI assistants to interact with Bear notes, create new content, search, and manage tags.

Features

  • Note Management: Create, open, and modify notes with full metadata retrieval

  • Text Operations: Add, append, prepend, or replace text in existing notes

  • Search: Search through notes and tags with complete result data

  • Tag Management: Get, open, rename, and delete tags with real-time data

  • Organization: Archive, trash, and organize notes

  • Web Content: Grab content from URLs to create notes with returned metadata

  • Special Views: Access Today, Todo, and Untagged note collections with full note lists

  • Callback Integration: Advanced x-success callback support for comprehensive data retrieval

  • Silent Operation: Custom URL scheme prevents unwanted browser windows during callbacks

Related MCP server: Bear MCP Server

Requirements

  • macOS (Bear App is macOS only)

  • Bear App installed and running

  • Node.js 18+

  • Bear API token (for some operations)

Quick Installation

chmod +x ./setup.sh && ./setup.sh

Manual Installation

  1. Clone and go to the project:

git clone https://github.com/bigjeager/bear-mcp-server.git
cd bear-mcp-server/
  1. Install dependencies:

npm install
  1. Build the project:

npm run build
  1. Build binaries:

/path/to/bear-mcp-server/dist/index.js

Getting Bear API Token

Some operations require a Bear API token:

On macOS:

  1. Open Bear App

  2. Go to HelpAdvancedAPI TokenCopy Token

  3. The token will be copied to your clipboard

Configuration

Add the server to your MCP client configuration. For Claude Desktop, add to your claude_desktop_config.json:

{
  "mcpServers": {
    "bear": {
      "command": "node",
      "args": ["/path/to/bear-mcp-server/dist/index.js"],
      "env": {
        "BEAR_TOKEN": "your-bear-api-token-here"
      }
    }
  }
}

Available Tools

Core Note Operations

  • bear_open_note: Open a note by ID or title (returns full note data and metadata)

  • bear_create_note: Create a new note with title, content, and tags (returns note ID and title)

  • bear_add_text: Add text to existing notes (append, prepend, replace)

Search & Discovery

  • bear_search: Search notes by term and/or tag (returns complete search results with metadata)

  • bear_get_tags: Retrieve all available tags (returns full tags array)

  • bear_open_tag: Open notes with specific tag(s) (returns notes list with details)

Organization

  • bear_trash_note: Move notes to trash

  • bear_archive_note: Archive notes

  • bear_get_untagged: Get notes without tags (returns complete untagged notes list)

  • bear_get_todo: Get notes marked as todos (returns todo notes with metadata)

  • bear_get_today: Get today's notes (returns today's notes with details)

Tag Management

  • bear_rename_tag: Rename existing tags

  • bear_delete_tag: Delete tags

Web Integration

  • bear_grab_url: Create notes from web page content (returns created note ID and title)

Security Notes

  • The server uses macOS open command to execute Bear URLs

  • API tokens should be kept secure and not shared

  • Some operations require Bear to be unlocked (not in locked state)

  • Encrypted notes cannot be accessed via the API

Development

Run in development mode:

npm run dev

Build for production:

npm run build

Enhanced Callback Integration

This server leverages Bear's x-success callback mechanism to provide comprehensive data retrieval:

  • Real-time Data: Most operations return actual Bear data instead of generic success messages

  • Complete Results: Search operations return full note arrays with metadata

  • Immediate Access: Created notes return their IDs for follow-up operations

  • Rich Metadata: Notes include titles, identifiers, tags, dates, and content

  • Silent Operation: Auto-closing HTML response minimizes browser window interference

  • Instant Close: Multiple JavaScript methods ensure browser windows close immediately

Callback-Enhanced Tools

The following tools use advanced callback integration for enhanced data retrieval:

  • bear_open_note, bear_create_note, bear_search, bear_get_tags

  • bear_open_tag, bear_get_untagged, bear_get_todo, bear_get_today, bear_grab_url

Technical Implementation

Auto-Close HTTP Response: Uses standard http://localhost:port/callback URLs but returns HTML with multiple browser-closing mechanisms:

  • Immediate window.close() JavaScript execution

  • Meta refresh redirect to about:blank

  • Hidden body styling to prevent content flash

  • Cache-control headers to prevent browser caching

Browser Window Minimization: While a browser window may briefly appear, it closes automatically within milliseconds, providing near-silent operation.

Limitations

  • macOS only (Bear App limitation)

  • Some operations require user interaction with Bear

  • Callback operations have 10-second timeout limit (with automatic fallback)

  • File attachments require base64 encoding

  • Bear must be unlocked for encrypted note access

  • Brief browser window flash may occur (auto-closes within milliseconds)

License

MIT License - feel free to modify and distribute

Contributing

Contributions welcome! Please ensure:

  • TypeScript compilation passes (npm run build)

  • Bear URL schemes are correctly implemented

  • Callback integration works properly

  • Error handling is comprehensive

  • Documentation is updated

  • Test with npm run test (requires Bear App for full functionality)

Available Tools

16 tools
bear_add_fileC

Add a file to an existing note

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoNote unique identifier
titleNoNote title
selectedNoSelected text in note
fileYesFile path to add
headerNoAdd file to specific header
filenameNoCustom filename for the file
modeNoHow to add the file
open_noteNoOpen note after adding file
new_windowNoOpen in new window
show_windowNoShow Bear window
editNoPlace cursor in note editor

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It states the tool adds a file but doesn't describe what happens during the operation (e.g., whether it modifies the note content, requires specific permissions, has rate limits, or what happens on failure). For a mutation tool with 11 parameters and no annotations, this is a significant gap in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It's appropriately sized and front-loaded, with every word earning its place. There's zero waste or redundancy in the phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (11 parameters, mutation operation), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns, error conditions, or behavioral nuances. The agent would need to rely heavily on the input schema alone, which isn't sufficient for understanding the full context of this file addition operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 11 parameters thoroughly with descriptions and an enum for 'mode'. The description adds no additional parameter semantics beyond what's in the schema. According to the scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Add a file') and target ('to an existing note'), providing a specific verb+resource combination. It distinguishes from sibling tools like bear_add_text (which adds text rather than files) and bear_create_note (which creates new notes rather than modifying existing ones). However, it doesn't explicitly mention how it differs from all siblings, keeping it from a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., the note must already exist), when not to use it, or suggest alternative tools like bear_add_text for adding text content instead of files. The agent must infer usage from the tool name and parameters alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bear_add_textC

Add text to an existing note

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoNote unique identifier
titleNoNote title
textYesText to add
modeNoHow to add the text
new_lineNoForce text on new line when appending
headerNoAdd text to specific header
selectedNoSelected text in note
clipboardNoGet text from clipboard
exclude_trashedNoExclude trashed notes
open_noteNoOpen note after adding text
new_windowNoOpen in new window
show_windowNoShow Bear window
editNoPlace cursor in note editor
timestampNoPrepend current date and time

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool adds text to existing notes, implying mutation, but lacks critical details: it doesn't specify if this requires note permissions, whether changes are reversible, if it affects note metadata, or what happens on failure. For a mutation tool with 14 parameters and no annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste—it directly states the tool's purpose without redundancy or unnecessary elaboration. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (14 parameters, mutation operation, no output schema, and no annotations), the description is inadequate. It doesn't explain behavioral traits, return values, error handling, or usage context. For a tool with this many options and no structured support, the description should provide more guidance to be complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all 14 parameters. The description adds no parameter-specific information beyond the tool's general purpose. According to rules, with high schema coverage (>80%), the baseline is 3 even with no param info in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Add text to an existing note' clearly states the action (add text) and target resource (existing note), distinguishing it from sibling tools like 'bear_create_note' (creates new notes) and 'bear_trash_note' (deletes notes). However, it doesn't explicitly differentiate from all siblings (e.g., 'bear_add_file' also adds content to notes), so it's not a perfect 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., note must exist), exclusions (e.g., not for creating notes), or comparisons to siblings like 'bear_create_note' for new notes or 'bear_add_file' for file attachments. Usage is implied but not explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bear_archive_noteC

Archive a note

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoNote unique identifier
searchNoSearch term to find notes to archive
show_windowNoShow Bear window

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Archive a note' implies a mutation operation, but it doesn't specify permissions needed, whether archiving is reversible, what happens to archived notes, or any rate limits. This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description 'Archive a note' is extremely concise with zero wasted words, front-loading the core action. It's appropriately sized for a simple tool, though this brevity contributes to gaps in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a mutation tool with 3 parameters, the description is incomplete. It fails to explain the tool's effects, return values, or how to handle parameters like 'id' versus 'search', making it inadequate for safe and effective use by an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema fully documents parameters like 'id', 'search', and 'show_window'. The description adds no additional meaning beyond this, such as explaining how 'id' and 'search' interact or what 'show_window' affects. Baseline 3 is appropriate as the schema handles the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Archive a note' clearly states the action (archive) and resource (note), providing basic purpose. However, it doesn't differentiate from sibling tools like 'bear_trash_note' or explain what archiving means in this context versus trashing or deleting, making it vague about the specific operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'bear_trash_note' or 'bear_delete_tag', nor are there any prerequisites or context for archiving. The description lacks any usage instructions, leaving the agent to infer based on tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bear_create_noteC

Create a new note in Bear

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoNote title
textNoNote content
tagsNoComma-separated list of tags
pinNoPin note to top of list
timestampNoPrepend current date and time
clipboardNoGet text from clipboard
fileNoFile path to add to note
filenameNoCustom filename for attached file
open_noteNoOpen note after creation
new_windowNoOpen in new window
floatNoFloat note window
show_windowNoShow Bear window
editNoPlace cursor in note editor
typeNoNote type
urlNoURL to include in note

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. 'Create a new note' implies a write/mutation operation, but the description doesn't address permissions, side effects, error conditions, or what happens when parameters conflict (e.g., both 'text' and 'clipboard' specified). For a mutation tool with 15 parameters, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is maximally concise - a single sentence that directly states the tool's purpose. There's no wasted language or unnecessary elaboration. It's appropriately sized for a tool whose complexity is captured in the detailed input schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 15 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain the return value, error conditions, or how parameters interact. While the schema documents individual parameters, the description fails to provide the holistic context needed for effective tool use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is documented in the schema itself. The description adds no additional parameter information beyond the basic purpose statement. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create') and resource ('new note in Bear'), making the purpose immediately understandable. However, it doesn't differentiate this tool from similar siblings like bear_add_text or bear_grab_url, which also create notes through different mechanisms.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With siblings like bear_add_text (adds text to existing notes), bear_grab_url (creates notes from URLs), and bear_add_file (adds files to notes), the agent receives no help in selecting the appropriate tool for different note-creation scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bear_delete_tagC

Delete an existing tag

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTag name to delete
show_windowNoShow Bear window

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Delete an existing tag' implies a destructive mutation, but it doesn't specify whether deletion is permanent, reversible, or affects associated notes. It also omits details like error handling, permissions, or side effects, leaving significant gaps in behavioral understanding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core action ('Delete an existing tag'), making it immediately scannable. Every word earns its place, achieving optimal conciseness for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's destructive nature (implied by 'delete'), no annotations, and no output schema, the description is incomplete. It doesn't address critical context like what happens to notes with the deleted tag, whether deletion is permanent, or what the response contains. For a mutation tool with zero annotation coverage, this leaves the agent under-informed about risks and outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with clear parameter descriptions in the schema (e.g., 'Tag name to delete' for 'name'). The description adds no additional parameter semantics beyond what the schema provides. According to rules, baseline is 3 when schema coverage is high (>80%), as the schema adequately documents parameters without description enhancement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Delete an existing tag' clearly states the verb (delete) and resource (tag), making the purpose immediately understandable. It distinguishes from siblings like 'bear_rename_tag' (modifies) and 'bear_get_tags' (reads), but doesn't explicitly contrast them. The description is specific but lacks explicit sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., tag must exist), exclusions, or comparisons to siblings like 'bear_rename_tag' or 'bear_trash_note'. The agent must infer usage from the name alone, which is insufficient for optimal tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bear_get_lockedC

Get locked (encrypted) notes

ParametersJSON Schema
NameRequiredDescriptionDefault
searchNoSearch term
show_windowNoShow Bear window

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves locked notes but lacks details on permissions required, whether it lists or opens notes, response format, or error handling. For a read operation with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It front-loads the core purpose ('Get locked notes') and avoids unnecessary elaboration, making it easy to parse quickly. Every word earns its place by directly contributing to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of retrieving encrypted notes, no annotations, and no output schema, the description is incomplete. It doesn't explain what 'locked' entails (e.g., encryption status), how results are returned, or any limitations. For a tool that likely involves security considerations, this leaves too much unspecified for reliable agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents the two parameters (search and show_window). The description adds no additional meaning beyond implying a retrieval action, which the schema already supports. This meets the baseline score of 3, as the schema handles parameter documentation adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'locked (encrypted) notes', making the purpose immediately understandable. It distinguishes this tool from siblings like bear_search or bear_get_today by specifying it retrieves only encrypted notes. However, it doesn't explicitly contrast with all siblings (e.g., bear_get_untagged), keeping it from a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing encrypted notes), exclusions, or comparisons to siblings like bear_search (which might also find locked notes). Without such context, an agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bear_get_tagsC

Get all tags from Bear

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesBear API token (required)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Get all tags') but doesn't describe what 'all tags' entails (e.g., format, pagination, rate limits, or authentication needs beyond the token parameter). This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It's front-loaded with the core action and resource, making it highly efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'Get all tags' returns (e.g., list format, error handling), and with no behavioral context, it fails to provide enough information for effective use in a complex environment.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the single parameter 'token' fully documented in the schema as 'Bear API token (required)'. The description doesn't add any additional meaning beyond this, so it meets the baseline score of 3 for high schema coverage without extra param info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('all tags from Bear'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'bear_open_tag' or 'bear_rename_tag', but the action is specific enough to be distinguished by context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention if this should be used for listing tags versus other tag-related operations like 'bear_delete_tag' or 'bear_rename_tag', nor does it specify any prerequisites or context for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bear_get_todayC

Get today's notes

ParametersJSON Schema
NameRequiredDescriptionDefault
searchNoSearch term
tokenNoBear API token
show_windowNoShow Bear window

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get today's notes' implies a read-only operation, but it doesn't specify whether this requires authentication (though the 'token' parameter hints at it), what the return format is, or any rate limits. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core purpose, making it easy to parse quickly, which is ideal for conciseness in tool descriptions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'today's notes' means (e.g., creation date, modification date), the return format, or how parameters like 'search' interact with the date filter. For a tool with 3 parameters and no structured behavioral hints, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so all parameters ('search', 'token', 'show_window') are documented in the schema. The description adds no additional meaning beyond implying a date-based filter ('today's'), which isn't detailed in the schema. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get today's notes' clearly states the verb ('Get') and resource ('today's notes'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'bear_search' or 'bear_get_todo', which also retrieve notes with different filters, so it doesn't reach the highest clarity level.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose 'bear_get_today' over 'bear_search' or 'bear_get_todo', nor does it specify any prerequisites or exclusions, leaving the agent with minimal usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bear_get_todoC

Get todo notes

ParametersJSON Schema
NameRequiredDescriptionDefault
searchNoSearch term
tokenNoBear API token
show_windowNoShow Bear window

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get todo notes' implies a read-only operation but doesn't specify whether it returns a list, details permissions needed, mentions rate limits, or describes the return format. For a tool with 3 parameters and no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at three words, with zero wasted language. It's front-loaded with the core action and resource, making it efficient and easy to parse, though this brevity comes at the cost of detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain what 'todo notes' are, how results are returned, or provide any behavioral context, leaving the agent with insufficient information to use the tool effectively beyond basic inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no meaning beyond what the input schema provides, as it doesn't mention any parameters. However, with 100% schema description coverage, the baseline is 3, since the schema documents 'search' (search term), 'token' (API token), and 'show_window' (show Bear window) adequately, though the description doesn't compensate or enhance this.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get todo notes' states the basic action (get) and resource (todo notes), which provides a minimal understanding of purpose. However, it lacks specificity about what 'todo notes' are in the Bear context and doesn't distinguish this tool from sibling tools like 'bear_search' or 'bear_get_today', making it vague rather than clearly differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'bear_search' (general search), 'bear_get_today' (today's notes), and 'bear_get_untagged' (untagged notes), there's no indication of whether this tool filters by todo status, retrieves all todos, or serves a specific use case, leaving the agent with no usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bear_get_untaggedC

Get untagged notes

ParametersJSON Schema
NameRequiredDescriptionDefault
searchNoSearch term
tokenNoBear API token
show_windowNoShow Bear window

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. 'Get untagged notes' implies a read-only operation but doesn't specify whether it returns all untagged notes, supports pagination, requires authentication (though the 'token' parameter hints at this), or has any rate limits. The description lacks crucial context about how the tool behaves beyond its basic function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at three words, with zero wasted language. It's front-loaded with the core purpose, though this brevity comes at the cost of completeness. Every word earns its place by directly stating the tool's function without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is incomplete. It doesn't explain the return format (e.g., list of notes, error handling), how results are structured, or interaction with sibling tools. For a retrieval tool with authentication and display parameters, more context is needed to guide effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with all three parameters ('search', 'token', 'show_window') documented in the schema. The description adds no additional meaning about parameters beyond what the schema provides, such as explaining how 'search' interacts with untagged filtering or what 'show_window' visually does. Baseline 3 is appropriate since the schema handles parameter documentation adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get untagged notes' clearly states the verb ('Get') and resource ('untagged notes'), providing basic purpose. However, it doesn't distinguish this tool from similar sibling tools like 'bear_search' or 'bear_get_tags', leaving ambiguity about its specific scope within the note retrieval family.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives. With siblings like 'bear_search' (general search), 'bear_get_tags' (get tags), and 'bear_get_today' (get today's notes), there's no indication of when untagged notes retrieval is preferred over other filtering methods or what prerequisites might exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bear_grab_urlC

Create a note from web page content

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to grab content from
tagsNoComma-separated list of tags
pinNoPin note to top of list
waitNoWait for content to load

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'create' (implying a write operation) but doesn't specify permissions, rate limits, or what happens if the URL is invalid. It hints at web scraping ('grab content') but doesn't detail potential failures or side effects, leaving significant gaps for a tool that modifies data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core functionality ('Create a note from web page content') with zero wasted words. It's appropriately sized for a straightforward tool, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a web scraping and note creation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'grab content' entails (e.g., HTML parsing, error handling), the note's format, or return values, leaving the agent with critical unknowns for a mutation operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the schema already documents all four parameters (url, tags, pin, wait) with clear descriptions. The description adds no additional meaning beyond implying URL-based content extraction, which is already suggested by the tool name. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create a note') and resource ('from web page content'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'bear_create_note' or 'bear_add_text', which might also create notes, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'bear_add_text' (for text content) or 'bear_create_note' (for manual note creation). It lacks explicit context, prerequisites, or exclusions, leaving the agent to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bear_open_noteC

Open a note in Bear by ID or title

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

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states the basic action without behavioral details. It doesn't disclose what 'open' means (e.g., opens in Bear app, requires Bear installed, may trigger UI changes), potential side effects, or any constraints like rate limits or authentication needs. This leaves significant gaps for an agent to understand the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (12 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain what 'open' entails operationally, how parameters interact (e.g., using both 'id' and 'title'), or what happens on success/failure. For a tool with many optional parameters and no structured behavioral hints, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all 12 parameters. The description adds no additional parameter semantics beyond implying 'id' or 'title' can be used to identify notes, which is already clear from the schema. This meets the baseline of 3 when schema coverage is high.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Open') and resource ('a note in Bear'), specifying it can be done by ID or title. However, it doesn't differentiate from sibling tools like 'bear_open_tag' or 'bear_search', which also involve opening or accessing Bear content, leaving some ambiguity about when to choose this specific tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't explain when to prefer 'bear_open_note' over 'bear_search' for finding notes, or how it relates to 'bear_open_tag' for tag-based navigation. The description lacks context about prerequisites or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bear_open_tagC

Open notes with specific tag(s)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTag name or comma-separated list of tags
tokenNoBear API token
show_windowNoShow Bear window

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('Open notes') but doesn't clarify what 'open' means (e.g., opens in Bear app, returns note contents, requires Bear to be running), whether it's read-only or modifies state, or any permissions/rate limits. This leaves significant gaps for a tool with 3 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core purpose and appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what 'open' entails behaviorally, what the output looks like (e.g., list of notes, success status), or how to interpret results. For a tool with 3 parameters and sibling alternatives, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all parameters (name, token, show_window). The description adds no additional parameter semantics beyond implying that 'name' relates to tags. Baseline 3 is appropriate since the schema handles the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Open') and resource ('notes'), specifying the action and target. It distinguishes from siblings like bear_open_note (opens specific notes) by focusing on tag-based filtering. However, it doesn't explicitly mention that this opens multiple notes or how they're displayed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like bear_search (which can also filter by tags) or bear_open_note (for specific notes). The description implies tag-based filtering but doesn't specify use cases, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bear_rename_tagC

Rename an existing tag

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCurrent tag name
new_nameYesNew tag name
show_windowNoShow Bear window

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It states the action ('rename') but doesn't cover permissions needed, whether the change affects linked notes, error conditions (e.g., if the tag doesn't exist or new_name conflicts), or response format. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with zero wasted words, making it highly concise and front-loaded. Every word ('rename', 'existing', 'tag') contributes essential meaning, and there's no redundant or verbose phrasing. This efficiency aids quick comprehension by an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a mutation operation with no annotations and no output schema), the description is incomplete. It lacks details on behavioral traits (e.g., side effects, error handling), usage context, and return values, which are critical for safe and effective invocation. The high schema coverage doesn't compensate for these gaps in a tool that modifies data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema fully documents all three parameters (name, new_name, show_window) with clear descriptions. The tool description adds no additional parameter semantics beyond what's in the schema, such as format examples or constraints like character limits. This meets the baseline score of 3 when schema coverage is high.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('rename') and resource ('an existing tag'), making the tool's purpose immediately understandable. It distinguishes this from sibling tools like 'bear_delete_tag' and 'bear_get_tags' by focusing on modification rather than deletion or retrieval. However, it doesn't specify what system or application the tag belongs to (Bear notes app), which would make it fully specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'bear_delete_tag' for removal or 'bear_get_tags' for listing. It doesn't mention prerequisites (e.g., the tag must exist) or contextual constraints, leaving the agent to infer usage from the tool name alone. This lack of explicit when/when-not instructions limits its effectiveness.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bear_trash_noteC

Move a note to trash

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoNote unique identifier
searchNoSearch term to find notes to trash
show_windowNoShow Bear window

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Move a note to trash' implies a destructive mutation, but it doesn't clarify if this is reversible, what permissions are required, whether it affects linked data, or what the response looks like. For a mutation tool with zero annotation coverage, this lacks critical behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately understandable without unnecessary elaboration. This is an excellent example of conciseness for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't address behavioral aspects like reversibility, error conditions, or response format, which are crucial for safe agent operation. The high schema coverage helps with parameters, but overall context is lacking for a destructive operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all three parameters (id, search, show_window). The description adds no additional parameter semantics beyond what's in the schema, such as explaining how 'id' and 'search' interact or the implications of 'show_window'. Baseline 3 is appropriate when the schema handles parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Move') and resource ('a note to trash'), making the purpose immediately understandable. It distinguishes this from sibling tools like 'bear_delete_tag' or 'bear_archive_note' by specifying the trash destination rather than deletion or archiving. However, it doesn't explicitly contrast with 'bear_archive_note' which might be a close alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'bear_archive_note' or 'bear_delete_tag', nor does it mention prerequisites or constraints. It simply states what the tool does without contextual usage information, leaving the agent to infer when this operation is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 16 tool updates
    • First observedbear_add_file
    • First observedbear_add_text
    • First observedbear_archive_note
    • First observedbear_create_note
    • First observedbear_delete_tag
    • First observedbear_get_locked
    • First observedbear_get_tags
    • First observedbear_get_today
    • First observedbear_get_todo
    • First observedbear_get_untagged
    • First observedbear_grab_url
    • First observedbear_open_note
    • First observedbear_open_tag
    • First observedbear_rename_tag
    • First observedbear_search
    • First observedbear_trash_note

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose targeting specific Bear app operations, such as note management (create, archive, trash), tag handling (get, rename, delete), and retrieval (search, get_today, get_todo). There is no overlap or ambiguity between tools, making misselection unlikely.

Naming Consistency5/5

All tools follow a consistent 'bear_verb_noun' pattern using snake_case, such as bear_create_note, bear_get_tags, and bear_archive_note. This predictable naming convention enhances readability and usability across the entire set.

Tool Count5/5

With 16 tools, the server provides comprehensive coverage for Bear app interactions, including note CRUD operations, tag management, and specialized queries. The count is well-scoped for the domain, offering a robust set without being overwhelming.

Completeness5/5

The tool set offers complete lifecycle coverage for notes and tags, including creation, retrieval, updating (via add_text/rename_tag), and deletion/archiving. It also supports advanced features like URL grabbing and filtered searches, leaving no obvious gaps for typical agent workflows.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables semantic search and retrieval of Apple Notes content, allowing AI assistants to access, search, and create notes using on-device embeddings.
    433
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that allows AI assistants like Claude to read notes from the Bear note-taking app in a safe, read-only mode.
    32
    15
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A Python-based MCP server that provides read and write access to Bear Notes on macOS using SQLite for data retrieval and x-callback-url for modifications. It enables users to search, create, archive, and manage notes and tags directly through a Model Context Protocol interface.
    16
    1
    ISC

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