Bear Notes MCP Server with RAG

by ruanodendaal
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Integrates with Bear Notes on macOS, providing semantic search and RAG capabilities for accessing personal notes.

  • Uses Node.js as the runtime environment for the MCP server, required for version 16 or higher.

  • Connects to Bear Notes' SQLite database to access and search notes content for retrieval and context enhancement.

Servidor MCP de Bear Notes con RAG

¿Quieres potenciar tu experiencia en Bear Notes con asistentes de IA? Esta pequeña joya conecta tu base de conocimientos personal con sistemas de IA mediante búsqueda semántica y RAG (Recuperación-Generación Aumentada).

Creé esto porque quería que mis asistentes de IA realmente entendieran el contenido de mis notas, no solo que hicieran una simple comparación de texto. El resultado es bastante bueno, si se me permite decirlo.

Empezando

La configuración es sencilla:

git clone [your-repo-url] cd bear-mcp-server npm install

Haga que los scripts sean ejecutables (porque los permisos importan):

chmod +x src/bear-mcp-server.js chmod +x src/create-index.js

Lo primero es lo primero: indexa tus notas

Antes de comenzar, deberás crear incrustaciones vectoriales de tus notas:

npm run index

Advertencia: esto podría llevarte unos minutos si tomas notas con asiduidad, como yo. Convierte todas tus notas en vectores matemáticos que capturan su significado. ¡Qué ingenioso! 😉.

Configuración

Actualice su archivo de configuración MCP:

{ "mcpServers": { "bear-notes": { "command": "node", "args": [ "/absolute/path/to/bear-mcp-server/src/bear-mcp-server.js" ], "env": { "BEAR_DATABASE_PATH": "/Users/yourusername/Library/Group Containers/9K33E3U3T4.net.shinyfrog.net.bear/Application Data/database.sqlite" } } } }

🚨 Recuerda reemplazar la ruta con tu ubicación de instalación actual. No hay premio por usar la ruta de ejemplo al pie de la letra, me temo.

¿Qué hace esto especial?

  • Búsqueda semántica : Encuentra notas basándose en el significado, no solo en palabras clave. Pregunta sobre "sistemas de productividad" y encontrarás tus notas sobre GTD y Pomodoro, incluso si no contienen esas mismas palabras.
  • Compatibilidad con RAG : tus asistentes de IA ahora pueden extraer contexto relevante de tus notas, incluso cuando no los hayas mencionado explícitamente.
  • Procesamiento local : Todo se ejecuta en tu equipo. No se transfieren datos de tu ordenador, no se necesitan claves API y no depende de internet (tras la configuración inicial).
  • Respaldos elegantes : Si la búsqueda semántica no está disponible por cualquier motivo, se recurrirá discretamente a la búsqueda tradicional. ¡Claro que sí!

Cómo funciona

Los bits inteligentes

Este servidor utiliza la implementación de Xenova de transformers.js con el modelo all-MiniLM-L6-v2:

  • Crea vectores de 384 dimensiones que capturan la esencia semántica de tus notas.
  • Todo el procesamiento ocurre localmente en su máquina.
  • El primer inicio puede ser un poco lento mientras se carga el modelo, pero es rápido después de eso.

El flujo

  1. Su consulta se convierte en un vector utilizando el modelo de transformador
  2. Este vector se compara con los vectores preindexados de sus notas
  3. Se devuelven notas con significados similares, independientemente de las coincidencias exactas de palabras clave.
  4. Los asistentes de IA utilizan estas notas relevantes como contexto para sus respuestas.

Estructura del proyecto

Nada demasiado complejo aquí:

bear-mcp-server/ ├── package.json ├── readme.md └── src/ ├── bear-mcp-server.js # Main MCP server ├── create-index.js # Script to index notes ├── utils.js # Utility functions ├── lib/ # Additional utilities and diagnostic scripts │ └── explore-database.js # Database exploration and diagnostic tool ├── note_vectors.index # Generated vector index (after indexing) └── note_vectors.json # Note ID mapping (after indexing)

Herramientas disponibles para asistentes de IA

Los asistentes de IA que se conectan a este servidor pueden utilizar estas herramientas:

  1. search_notes : Encuentra notas que coincidan con una consulta
    • Parámetros: query (obligatorio), limit (opcional, valor predeterminado: 10), semantic (opcional, valor predeterminado: verdadero)
  2. get_note : obtiene una nota específica por su ID
    • Parámetros: id (obligatorio)
  3. get_tags : enumera todas las etiquetas utilizadas en tus Bear Notes
  4. retrieve_for_rag : Obtener notas semánticamente similares a una consulta, específicamente formateadas para RAG
    • Parámetros: query (obligatorio), limit (opcional, valor predeterminado: 5)

Requisitos

  • Node.js versión 16 o superior
  • Notas de oso para macOS
  • Un cliente asistente de IA compatible con MCP

Limitaciones y advertencias

  • Acceso de solo lectura a Bear Notes (no modificamos sus valiosas notas)
  • Solo macOS (lo siento, gente de Windows y Linux)
  • Si agrega muchas notas nuevas, querrá reconstruir el índice con npm run index
  • El primer arranque es un poco como esperar a que hierva la tetera mientras se carga el modelo de incrustación.

Solución de problemas

Si las cosas van mal:

  1. Verifique nuevamente la ruta de la base de datos de Bear
  2. Asegúrese de haber ejecutado el proceso de indexación con npm run index
  3. Comprobar permisos en la base de datos de Bear Notes
  4. Verificar que los scripts del servidor sean ejecutables
  5. Busque mensajes de error en los registros

En caso de duda, prueba a apagarlo y encenderlo de nuevo. Funciona con más frecuencia de la que nos gustaría admitir.

Licencia

MIT (Siéntete libre de experimentar, compartir y mejorar)

-
security - not tested
F
license - not found
-
quality - not tested

Conecta Bear Notes con asistentes de IA mediante búsqueda semántica y RAG (recuperación-generación aumentada), lo que permite que los sistemas de IA accedan y comprendan su base de conocimiento personal a través de una búsqueda significativa en lugar de solo la coincidencia de palabras clave.

  1. Getting Started
    1. First Things First: Index Your Notes
      1. Configuration
        1. What Makes This Special?
          1. How It Works
            1. The Clever Bits
            2. The Flow
          2. Project Structure
            1. Available Tools for AI Assistants
              1. Requirements
                1. Limitations & Caveats
                  1. Troubleshooting
                    1. License
                      ID: 4ok9u922cb