Beanquery MCP Server

Beanquery MCP Server

一个实验性的服务器,它实现了模型上下文协议,允许 AI 助手使用 Beancount 查询语言查询和分析存储在 Beancount 账本文件中的财务数据。

Category
访问服务器

README

Beanquery MCP

Beancount MCP Server 是 Model Context Protocol (MCP) 的一个实验性实现,旨在与 Beancount 账本文件进行交互。通过利用 Beancount 查询语言 (BQL)beanquery 工具,此服务器能够对以 Beancount 格式存储的财务数据进行无缝查询和分析。通过集成 MCP,该服务器促进了 AI 助手和 Beancount 账本之间的标准化通信,从而增强了财务数据的可访问性和实用性。

注意:此服务器是实验性的,可能会进行重大更改。建议在开发环境中使用它,并提供反馈以进行进一步改进。

可以在 sample.bean 中找到生成的示例账本。

可用资源和工具

  • 工具:
    • set_ledger_file: 设置用于查询的 Beancount 账本文件(如果未通过环境变量设置)。
    • run_query: 针对加载的 Beancount 文件运行 BQL 查询。
  • 资源:
    • beanquery://tables: 获取 BQL 可以访问的表列表。
    • beanquery://accounts: 获取加载的 Beancount 文件中的帐户列表。

使用 Claude.ai 的示例

screenshot

有关包含扩展 MCP 交互的屏幕截图,请参见 此处

⚠️ 隐私警告

此工具通过模型上下文协议 (MCP) 与语言模型提供商 (LLM) 交互,因此可能会将您的 Beancount 账本的部分内容(包括可能机密或私人的财务信息)传输给第三方服务。

请谨慎使用此工具,尤其是在以下情况下:

  • 您的账本包含敏感数据(例如,客户姓名、工资明细、与健康相关的费用)。
  • 您正在使用云托管或非自托管的 LLM 后端。

建议:

  • 在测试账本中屏蔽或编辑敏感数据。
  • 尽可能使用自托管的 LLM。
  • 审查通过 MCP 发送的数据,以确保符合您的隐私和安全要求。

[!CAUTION] 您有责任保护您的财务数据。不要共享您不希望暴露的账本。

设置

前提条件

  • Python 3.10 或更高版本
  • 用于管理 Python 项目的 uv(推荐)

用法

运行服务器

  1. 开发模式: 使用 MCP Inspector 测试和调试您的服务器:

    mcp dev server.py
    
  2. Claude Desktop 集成: 将服务器安装到 Claude Desktop 中:

    mcp install server.py
    
    • 快速开始:

      uv run mcp install server.py -v BEANCOUNT_LEDGER=$(pwd)/sample.bean --with beancount --with beanquery
      
    • 自定义名称:

      uv run mcp install server.py --name "Beanquery MCP Server" --with beancount --with beanquery
      
    • 环境变量:

      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
      

测试

使用 pytest 运行测试套件:

pytest server_test.py

贡献

  1. Fork 存储库。
  2. 创建一个功能分支:
    git checkout -b feature-name
    
  3. 提交您的更改:
    git commit -m "Add feature description"
    
  4. 推送到您的分支:
    git push origin feature-name
    
  5. 打开一个 pull request。

许可证

此项目已获得 MIT 许可证的许可。 有关详细信息,请参见 LICENSE 文件。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选