Beanquery MCP Server

Integrations

  • Supports loading environment variables from .env files for configuration, particularly for setting paths to Beancount ledger files.

  • Includes test suite integration using pytest for validating server functionality.

MCP de Beanquery

El servidor MCP de Beancount es una implementación experimental del Protocolo de Contexto de Modelo (MCP), diseñado para interactuar con los archivos de contabilidad de Beancount . Aprovechando el lenguaje de consulta de Beancount (BQL) y la herramienta BeanQuery , este servidor permite la consulta y el análisis fluidos de datos financieros almacenados en formato Beancount. Al integrar MCP, el servidor facilita la comunicación estandarizada entre los asistentes de IA y los libros de contabilidad de Beancount, mejorando la accesibilidad y la utilidad de los datos financieros.

Nota: Este servidor es experimental y puede sufrir cambios significativos. Se recomienda usarlo en un entorno de desarrollo y proporcionar comentarios para futuras mejoras.

Se puede encontrar un libro de contabilidad de muestra generado en sample.bean

Recursos y herramientas disponibles

  • Herramientas :
    • set_ledger_file : establece el archivo de libro mayor de Beancount que se utilizará para consultas (si no se configura a través de la variable de entorno).
    • run_query : ejecuta una consulta BQL contra el archivo Beancount cargado.
  • Recursos :
    • beanquery://tables : obtiene una lista de tablas a las que BQL puede acceder.
    • beanquery://accounts : obtiene una lista de cuentas en el archivo Beancount cargado.

Ejemplo con Claude.ai

Para ver una captura de pantalla con interacciones MCP ampliadas, consulte aquí .

⚠️ Aviso de privacidad

Esta herramienta interactúa con los proveedores de modelos de lenguaje (LLM) a través del Protocolo de contexto de modelo (MCP) y, como tal, puede transmitir partes de su libro contable de Beancount (incluida información financiera potencialmente confidencial o privada) a servicios de terceros.

Utilice esta herramienta con precaución, especialmente cuando:

  • Su libro mayor contiene datos confidenciales (por ejemplo, nombres de clientes, detalles de salarios, gastos relacionados con la salud).
  • Estás utilizando un backend LLM alojado en la nube o no alojado automáticamente.

Recomendaciones:

  • Enmascarar o redactar datos confidenciales en los libros de prueba.
  • Utilice LLM autoalojados cuando sea posible.
  • Revise los datos que se envían a través de MCP para garantizar el cumplimiento de sus requisitos de privacidad y seguridad.

[!PRECAUCIÓN] Usted es responsable de la protección de sus datos financieros. No comparta libros contables que no le gustaría exponer.

Configuración

Prerrequisitos

  • Python 3.10 o posterior
  • uv para gestionar proyectos de Python (recomendado)

Uso

Ejecución del servidor

  1. Modo de desarrollo : utilice el Inspector MCP para probar y depurar su servidor:
    mcp dev server.py
  2. Integración de Claude Desktop : instale el servidor en Claude Desktop:
    mcp install server.py
    • Inicio rápido :
      uv run mcp install server.py -v BEANCOUNT_LEDGER=$(pwd)/sample.bean --with beancount --with beanquery
    • Nombre personalizado :
      uv run mcp install server.py --name "Beanquery MCP Server" --with beancount --with beanquery
    • Variables de entorno :
      uv run mcp install server.py -v BEANCOUNT_LEDGER=/path/to/your/ledger.bean --with beancount --with beanquery uv run mcp install server.py -f .env --with beancount --with beanquery

Pruebas

Ejecute el conjunto de pruebas usando pytest :

pytest server_test.py

Contribuyendo

  1. Bifurcar el repositorio.
  2. Crear una rama de características:
    git checkout -b feature-name
  3. Confirme sus cambios:
    git commit -m "Add feature description"
  4. Empujar a tu sucursal:
    git push origin feature-name
  5. Abrir una solicitud de extracción.

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulte el archivo LICENSE para más detalles.

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor experimental que implementa el Protocolo de Contexto de Modelo para permitir que los asistentes de IA consulten y analicen datos financieros almacenados en los archivos de contabilidad de Beancount utilizando el lenguaje de consulta de Beancount.

  1. Available Resources and Tools
    1. Example using Claude.ai
      1. ⚠️ Privacy Warning
        1. Setup
          1. Prerequisites
        2. Usage
          1. Running the Server
        3. Testing
          1. Contributing
            1. License
              ID: or7w0dv4nk