Skip to main content
Glama
netologist

Bear Notes MCP Server

by netologist

Bear App MCP Server

A Model Context Protocol (MCP) server that provides Claude with access to your Bear App notes. Search, retrieve, and analyze your Bear notes directly from Claude Desktop or any MCP-compatible client.

Features

🔍 Search & Discovery

  • Full-text search across all your notes

  • Tag-based filtering for organized content

  • Title-based search with exact or partial matching

  • Recent notes filtering by modification date

💻 Code & Technical Content

  • Kubernetes manifest finder - Locate deployment examples, service configs, etc.

  • Code example search - Find code snippets by programming language

  • Code block extraction - Automatically parse and categorize code blocks

  • Technical documentation discovery

📊 Content Analysis

  • Word count and content statistics

  • Code language detection from fenced code blocks

  • Content previews for quick scanning

  • Metadata extraction (creation/modification dates)

Related MCP server: Bear MCP Server

Installation

Prerequisites

  • macOS (Bear App is macOS/iOS only)

  • Bear App installed and with some notes

  • Python 3.8 or higher

  • Claude Desktop (for desktop integration)

Setup Steps

  1. Clone or download the server script

    git clone github.com/netologist/mcp-bear-notes
  2. Create a virtual environment

    uv install
    source .venv/bin/activate
  3. Test the server

    uv run python main.py

Claude Desktop Integration

Configuration File Location

Edit your Claude Desktop configuration file:

~/Library/Application Support/Claude/claude_desktop_config.json

Add MCP Server Configuration

{
  "mcpServers": {
    "bear-notes": {
      "command": "/full/path/to/mcp-bear-notes/.venv/bin/python",
      "args": ["/full/path/to/mcp-bear-notes/main.py"],
      "env": {
        "PYTHONPATH": "/full/path/to/mcp-bear-notes/.venv/lib/python3.13/site-packages"
      }
    }
  }
}

Important: Replace /full/path/to/ with your actual file paths.

Restart Claude Desktop

Close and reopen Claude Desktop to load the MCP server.

Usage Examples

Once integrated with Claude Desktop, you can use natural language to interact with your Bear notes:

"Search my Bear notes for Docker examples"
"Find notes about Python APIs"
"Show me my recent notes from this week"

Technical Content

"Find my Kubernetes deployment manifests"
"Look for JavaScript code examples in my notes"
"Show me notes with YAML configurations"

Specific Retrieval

"Get the note titled 'Development Setup'"
"Find notes tagged with 'work'"
"Show me all my available tags"

Available Tools

search_bear_notes(query, tag, limit)

Search notes by content and tags.

  • query: Text to search for

  • tag: Filter by specific tag (without #)

  • limit: Max results (default: 20)

get_bear_note(note_id)

Retrieve a specific note by its unique ID.

  • note_id: Bear note's unique identifier

find_kubernetes_examples(resource_type)

Find Kubernetes-related content.

  • resource_type: K8s resource (deployment, service, etc.)

find_code_examples(language, topic, limit)

Search for code examples.

  • language: Programming language

  • topic: Code topic/domain

  • limit: Max results (default: 15)

find_notes_by_title(title_query, exact_match)

Search notes by title.

  • title_query: Title text to search

  • exact_match: Exact or partial matching

get_recent_notes(days, limit)

Get recently modified notes.

  • days: How many days to look back (default: 7)

  • limit: Max results (default: 20)

list_bear_tags()

List all tags found in your notes.

Bear Database Information

The server reads from Bear's SQLite database located at:

~/Library/Group Containers/9K33E3U3T4.net.shinyfrog.bear/Application Data/database.sqlite

Database Access Notes

  • Read-only access - The server never modifies your notes

  • No authentication required - Uses direct SQLite access

  • Performance - Database queries are optimized for speed

  • Safety - Only accesses non-trashed notes

Troubleshooting

Common Issues

Server won't start

  • Check Python path in configuration

  • Verify virtual environment activation

  • Ensure fastmcp is installed

No notes found

  • Verify Bear database path exists

  • Check that Bear App has been opened at least once

  • Confirm notes aren't in trash

Claude Desktop integration fails

  • Validate JSON syntax in config file

  • Check file paths are absolute, not relative

  • Restart Claude Desktop after configuration changes

Permission denied errors

  • Ensure script has execute permissions: chmod +x main.py

  • Check Bear database file permissions

Debug Mode

Run the server directly to see debug output:

python main.py

Log Files

Check Claude Desktop logs for MCP server errors:

~/Library/Logs/Claude/

Security & Privacy

  • Local-only: All data stays on your machine

  • Read-only: Server never modifies your notes

  • No network: No external connections required

  • Open source: Full transparency of operations

Contributing

Contributions welcome! Areas for improvement:

  • Additional search filters

  • Export functionality

  • Note creation capabilities

  • iOS Shortcuts integration

  • Performance optimizations

License

MIT License - See LICENSE file for details.

Changelog

v1.0.0

  • Initial release

  • Basic search and retrieval functions

  • Kubernetes and code example finders

  • Claude Desktop integration

  • Tag listing and filtering

Support

For issues and questions:

  1. Check the troubleshooting section

  2. Review Claude Desktop MCP documentation

  3. Open an issue on GitHub

  4. Check Bear App forums for database-related questions


Note: This is an unofficial tool and is not affiliated with Bear App or Anthropic. Use at your own discretion.

Available Tools

7 tools
find_code_examplesC

Find code examples in Bear notes

Args: language: Programming language (python, javascript, go, etc.) topic: Topic to search for (docker, api, database, etc.) limit: Maximum number of results

Returns: Notes containing code examples with extracted code blocks

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNo
topicNo
limitNo

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 what the tool does but lacks important behavioral details: no information about permissions needed, rate limits, whether it searches all notes or specific ones, how results are sorted, or what happens when parameters are omitted. The return description is minimal.

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

Conciseness4/5

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

The description is appropriately concise with clear sections (purpose, args, returns). Each sentence serves a purpose, though the 'Args' and 'Returns' sections could be integrated more smoothly. No wasted words, but could be slightly more polished in structure.

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

Completeness3/5

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

For a 3-parameter search tool with no annotations and no output schema, the description provides basic purpose and parameter information but lacks important context. It doesn't explain the search scope, result format, error conditions, or how it differs from sibling tools. The return description is minimal ('Notes containing code examples with extracted code blocks').

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 0%, so the description must compensate. It provides basic semantic meaning for all three parameters (language, topic, limit) with examples for language and topic, which adds value beyond the bare schema. However, it doesn't explain parameter interactions, validation rules, or what happens with empty/default values.

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 tool's purpose: 'Find code examples in Bear notes' with specific parameters for language, topic, and limit. It distinguishes from siblings like 'find_notes_by_title' or 'search_bear_notes' by focusing on code examples, but doesn't explicitly differentiate from 'find_kubernetes_examples' which appears to be a specialized version.

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 'find_kubernetes_examples' (which seems related), 'search_bear_notes', or 'get_recent_notes'. It mentions parameters but gives no context about when this tool is appropriate versus other search methods.

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

find_kubernetes_examplesC

Find Kubernetes manifest examples in Bear notes

Args: resource_type: Kubernetes resource type to search for (deployment, service, configmap, etc.)

Returns: Notes containing Kubernetes examples

ParametersJSON Schema
NameRequiredDescriptionDefault
resource_typeNodeployment

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 full burden. It states it 'finds' examples (implies read-only) and returns notes, but lacks behavioral details: search scope (all notes/tagged notes?), match criteria (exact/partial?), return format (note titles/content?), or limitations (pagination/rate limits?).

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

Conciseness4/5

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

Well-structured with purpose, args, and returns sections in 4 sentences. The purpose sentence is front-loaded, but the 'Args:' and 'Returns:' labels add minor verbosity without enhancing clarity for 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?

Incomplete for a search tool with no annotations or output schema. The description lacks details on search behavior (e.g., fuzzy matching), result format (e.g., note IDs vs content), and constraints (e.g., max results). Given 1 parameter with 0% schema coverage, it should explain parameter usage more thoroughly.

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 0%, so the description must compensate. It adds meaning by explaining 'resource_type' as 'Kubernetes resource type to search for (deployment, service, configmap, etc.)', providing examples beyond the schema's generic 'Resource Type' title. However, it doesn't clarify if 'etc.' includes custom resources or if the search is case-sensitive.

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 tool's purpose: 'Find Kubernetes manifest examples in Bear notes' (verb+resource+scope). It distinguishes from siblings like 'find_code_examples' by specifying Kubernetes manifests, but doesn't explicitly differentiate from 'search_bear_notes' which might also find notes with Kubernetes content.

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 on when to use this tool vs alternatives. It doesn't mention when to prefer 'find_code_examples' (for general code) or 'search_bear_notes' (for broader searches), nor does it specify prerequisites like needing Bear notes with Kubernetes examples.

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

find_notes_by_titleC

Find notes by title

Args: title_query: Title text to search for exact_match: Whether to match title exactly or use partial matching

Returns: Notes matching the title criteria

ParametersJSON Schema
NameRequiredDescriptionDefault
title_queryYes
exact_matchNo

TDQS

C2.8/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 the tool finds notes by title and describes parameters, but lacks critical behavioral details such as whether this is a read-only operation, how results are returned (e.g., pagination, format), error handling, or any rate limits. The description is minimal and doesn't adequately cover behavioral traits beyond basic functionality.

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

Conciseness4/5

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

The description is appropriately sized and structured with a clear purpose statement followed by Args and Returns sections. Every sentence adds value, with no redundant information. However, the 'Returns' section is somewhat vague ('Notes matching the title criteria'), which slightly reduces efficiency.

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 (2 parameters, no annotations, no output schema), the description is incomplete. It covers basic purpose and parameters but lacks details on behavioral traits, output format, error handling, and differentiation from sibling tools. For a search tool with no structured support, this leaves significant gaps for an AI agent to use it correctly.

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

Parameters4/5

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

The description adds meaningful context for both parameters: 'title_query' is explained as 'Title text to search for' and 'exact_match' as 'Whether to match title exactly or use partial matching'. With 0% schema description coverage, this compensates well by clarifying the purpose and behavior of each parameter, though it doesn't specify syntax or examples.

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 states 'Find notes by title' which clearly indicates the verb (find) and resource (notes), but it's vague about scope and doesn't differentiate from sibling tools like 'search_bear_notes' or 'get_recent_notes'. It specifies the search criteria (title) but lacks detail about what 'notes' refers to in this 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 like 'search_bear_notes' or 'get_recent_notes'. The description only states what the tool does without indicating context, prerequisites, or exclusions, leaving the agent to infer usage from the tool name alone.

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

get_bear_noteB

Get a specific Bear note by ID

Args: note_id: Bear note's unique identifier

Returns: Complete note content with metadata

ParametersJSON Schema
NameRequiredDescriptionDefault
note_idYes

TDQS

B3.2/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 tool retrieves a note by ID and returns content with metadata, but lacks details on error handling (e.g., what happens if the ID is invalid), permissions, or rate limits. This is a significant gap for a retrieval tool with zero annotation coverage.

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 highly concise and well-structured, using clear sections for 'Args' and 'Returns' in just three sentences. Every sentence adds value without redundancy, making it easy to parse and front-loaded with the core purpose.

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

Completeness3/5

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

Given the tool's low complexity (one parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic operation and parameter meaning but lacks details on behavioral aspects like errors or output structure, leaving gaps that could hinder effective use by an agent.

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

Parameters4/5

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

The description adds meaningful context for the single parameter 'note_id' by specifying it as 'Bear note's unique identifier,' which clarifies its purpose beyond the schema's basic title. With 0% schema description coverage and only one parameter, this compensates well, though it doesn't detail format or constraints.

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 tool's purpose with a specific verb ('Get') and resource ('Bear note by ID'), making it immediately understandable. However, it doesn't differentiate from sibling tools like 'get_recent_notes' or 'search_bear_notes' beyond the ID-based retrieval, which prevents 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 when to prefer this over sibling tools like 'get_recent_notes' or 'search_bear_notes', nor does it specify prerequisites such as needing a valid note ID, leaving usage context unclear.

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

get_recent_notesC

Get recently modified notes

Args: days: Number of days to look back limit: Maximum number of results

Returns: Recently modified notes

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
limitNo

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 retrieves notes but doesn't describe what 'recently modified' means operationally (e.g., modification timestamp vs creation), whether results are sorted, pagination behavior, error conditions, or authentication needs. For a read operation with zero annotation coverage, this leaves significant gaps.

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

Conciseness4/5

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

The description is appropriately sized and front-loaded with the core purpose in the first line. The Args/Returns sections add necessary structure without redundancy. However, the 'Returns' section ('Recently modified notes') is somewhat tautological with the first line and could be more informative.

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

Completeness3/5

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

Given 2 parameters with 0% schema coverage and no output schema, the description provides basic parameter semantics but lacks behavioral context (sorting, errors, etc.). For a simple read tool, it's minimally adequate but has clear gaps. The absence of annotations increases the burden that the description doesn't fully meet.

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 0%, so the description must compensate. It adds basic meaning for both parameters ('days: Number of days to look back', 'limit: Maximum number of results'), which goes beyond the schema's bare titles. However, it doesn't provide format details, constraints, or examples (e.g., valid ranges for days/limit). The description partially compensates but not fully.

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 tool's purpose with 'Get recently modified notes' - a specific verb ('Get') and resource ('notes') with a temporal qualifier ('recently modified'). It distinguishes from siblings like 'find_notes_by_title' or 'search_bear_notes' by focusing on recency rather than content-based search. However, it doesn't explicitly contrast with all siblings (e.g., 'get_bear_note' might fetch a single note).

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 prefer this over 'search_bear_notes' or 'find_notes_by_title', nor does it specify prerequisites or exclusions. The context is implied through the name and description 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.

list_bear_tagsB

List all tags from Bear App notes

Returns: Sorted list of all tags found in notes

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/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 ('List all tags') and return type ('Sorted list'), but lacks details on permissions, rate limits, or any side effects. This is a significant gap for a tool with zero annotation coverage.

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

Conciseness4/5

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

The description is front-loaded with the main action and includes a brief return statement, making it efficient. However, the structure could be slightly improved by integrating the return information more seamlessly, and it lacks any extra context that might be useful.

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

Completeness3/5

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

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and return, but for a tool with no annotations, it should ideally include more behavioral context, such as how tags are sourced or any limitations.

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

Parameters4/5

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

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description does not add parameter details, which is appropriate, but it could have mentioned optional behaviors like sorting criteria. Baseline is 4 for zero parameters.

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 ('List') and resource ('all tags from Bear App notes'), making the purpose unambiguous. However, it does not explicitly differentiate from sibling tools like 'search_bear_notes' or 'find_notes_by_title', which might also involve tags, so it lacks sibling distinction for 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 does not mention scenarios like retrieving all tags versus searching for specific tags or notes, nor does it reference sibling tools, leaving usage context unclear.

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

search_bear_notesB

Search Bear App notes

Args: query: Text to search for (searches in title and content) tag: Tag to filter by (without # symbol) limit: Maximum number of results

Returns: List of matching notes with metadata

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
tagNo
limitNo

TDQS

B3.1/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 offers minimal behavioral insight. It mentions searching 'in title and content' and returning 'List of matching notes with metadata', but doesn't disclose critical traits like whether this is a read-only operation, how results are sorted, if there's pagination, or what 'metadata' includes. For a search tool with 3 parameters, this leaves significant gaps.

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

Conciseness4/5

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

The description is well-structured with a clear header and bullet-point-like sections for Args and Returns. It's front-loaded with the core purpose. However, the 'Args' and 'Returns' labels add minor redundancy, and it could be more concise by integrating parameter details into a single sentence.

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

Completeness3/5

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

Given 3 parameters with 0% schema coverage and no output schema, the description does an adequate job explaining inputs and the return type. However, it lacks details on output structure (what metadata?), error conditions, or performance limits. For a search tool with siblings, more context on differentiation would improve completeness.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate—and it does by explaining all 3 parameters: 'query' searches title/content, 'tag' filters without # symbol, and 'limit' sets max results. This adds meaningful context beyond the bare schema, though it doesn't detail query syntax (e.g., wildcards) or tag behavior (e.g., multiple tags).

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 ('Search') and resource ('Bear App notes'), making the purpose immediately understandable. It distinguishes this tool from siblings like 'find_notes_by_title' or 'get_recent_notes' by specifying it searches both title and content. However, it doesn't explicitly contrast with 'find_code_examples' or 'find_kubernetes_examples', which might be more specialized search tools.

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 siblings like 'find_notes_by_title' (which might search only titles) or 'list_bear_tags' (which might help with tag discovery). There's no context about prerequisites, such as whether Bear App needs to be running or authenticated.

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. 7 tool updates
    • First observedfind_code_examples
    • First observedfind_kubernetes_examples
    • First observedfind_notes_by_title
    • First observedget_bear_note
    • First observedget_recent_notes
    • First observedlist_bear_tags
    • First observedsearch_bear_notes

TDQS

B3.4/5.0
Disambiguation4/5

Most tools have distinct purposes, but there is some overlap between find_notes_by_title and search_bear_notes, as both search for notes based on text criteria. However, the descriptions clarify that find_notes_by_title focuses on title matching while search_bear_notes searches both title and content, reducing confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case, such as find_code_examples, get_bear_note, and list_bear_tags. This uniformity makes the tool set predictable and easy to understand.

Tool Count5/5

With 7 tools, the server is well-scoped for managing Bear notes, covering key operations like searching, retrieving, and listing without being overwhelming. Each tool serves a clear purpose, making the count appropriate for the domain.

Completeness4/5

The tool set provides strong coverage for reading and searching notes, including specific use cases like code and Kubernetes examples. However, it lacks write operations (e.g., create, update, or delete notes), which could limit full lifecycle management, though this may be intentional for the server's design.

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 RAG over your Apple Notes, allowing AI assistants like Claude to search and reference your notes during conversations.
    433
    10
    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 Model Context Protocol server that integrates with Bear App, enabling AI assistants to create, search, modify, and organize notes and tags through X-callback-URL scheme.
    16
    32
    1
    ISC
  • 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/netologist/mcp-bear-notes'

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