MCP YNAB Server

MCP YNAB Server

一个 MCP 服务器,允许用户与 YNAB 数据交互,从而可以通过模型上下文协议访问账户余额、交易记录和创建新的交易。

金融
访问服务器

Tools

create_transaction

Create a new transaction in YNAB.

get_account_balance

Get the current balance of a YNAB account (in dollars).

get_budgets

List all YNAB budgets in Markdown format.

get_accounts

List all YNAB accounts in a specific budget in Markdown format.

get_categories

List all transaction categories for a given YNAB budget in Markdown format.

_find_transaction_by_id

Find a transaction by its ID and ID type.

get_transactions

Get recent transactions for a specific account in a specific budget.

get_transactions_needing_attention

List transactions that need attention based on specified filter type in a YNAB budget.

set_preferred_budget_id

Set the preferred YNAB budget ID.

cache_categories

Cache all categories for a given YNAB budget ID.

README

MCP YNAB 服务器

一个 MCP 服务器实现,通过模型上下文协议提供对 YNAB (You Need A Budget) 功能的访问。

功能

  • 查看账户余额和交易
  • 创建新交易
  • 通过标准化的 MCP 资源访问 YNAB 数据

安装

uv pip install -e .

配置

服务器需要一个 YNAB API 密钥才能运行。 您可以从您的 YNAB 开发者设置 获取一个。

API 密钥可以通过以下方式提供:

  1. 环境变量:YNAB_API_KEY=your_api_key
  2. MCP 密钥管理系统
  3. 项目根目录中的 .env 文件

用法

运行服务器

# 带有热重载和浏览器启动的开发模式
task dev

# 用于 Claude Desktop、Goose 或任何其他 MCP 支持环境的生产安装
task install

可用资源

  • ynab://accounts - 列出所有 YNAB 账户
  • ynab://transactions/{account_id} - 获取特定账户的最近交易

可用工具

  • create_transaction - 创建新交易
  • get_account_balance - 获取账户的当前余额

使用示例

# 创建新交易
result = await create_transaction(
    account_id="your_account_id",
    amount=42.50,  # 以美元为单位
    payee_name="Coffee Shop",
    category_name="Dining Out",
    memo="Morning coffee"
)

# 获取账户余额
balance = await get_account_balance("your_account_id")

# 列出账户
accounts = await ctx.read_resource("ynab://accounts")

# 获取最近交易
transactions = await ctx.read_resource(f"ynab://transactions/{account_id}")

开发

# 安装依赖 (使用 uv)
task deps

# 运行所有测试,包括集成测试 (您需要一个 YNAB API 密钥)
task test:all

# 生成覆盖率报告
task coverage

# 格式化和检查代码
task fmt  # 应该将此添加到 Taskfile

项目任务

此项目使用 Taskfile 进行常见操作。 主要命令:

task dev       # 启动带有自动重载的开发服务器
task test      # 运行单元测试
task coverage  # 生成测试覆盖率报告
task install   # 安装生产版本
task deps      # 同步依赖

有关所有可用任务,请参见 Taskfile.yml

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
chromia-mcp

chromia-mcp

使人工智能能够与 Chromia 钱包交互,以发送 $CHR 交易。

官方
本地
TypeScript
TripleWhale MCP Server

TripleWhale MCP Server

一个模型上下文协议 (MCP) 的实现,允许用户通过 Claude Desktop 使用自然语言查询与 TripleWhale 的电子商务分析平台进行交互。

官方
本地
TypeScript
Adamik MCP Server

Adamik MCP Server

通过 Claude Desktop 实现与 60 多个区块链网络的读写交互,为交易管理、账户洞察、质押和代币交互提供标准化的多链 API。

官方
本地
TypeScript
Open-Ledger-MCP-Server

Open-Ledger-MCP-Server

一个用于 OpenLedger API 的模型上下文协议 (MCP) 服务器实现。该服务器根据 MCP 规范为 AI 模型提供结构化的上下文。

官方
TypeScript
ntropy-mcp MCP Server

ntropy-mcp MCP Server

启用使用 Ntropy API 丰富银行数据的功能,并提供高效创建账户持有人和丰富交易信息的工具。

官方
Python
Iaptic MCP Server

Iaptic MCP Server

一个用于与 Iaptic API 交互的服务器,允许像 Claude 这样的人工智能模型查询客户、购买和交易数据,并检索统计见解。

官方
TypeScript
Bitrefill Search and Shop

Bitrefill Search and Shop

这个 MCP 封装了 Bitrefill 的公共 API,允许代理使用比特币、以太坊、Solana 等加密货币搜索产品和购物。

官方
TypeScript
MCP EVM Signer

MCP EVM Signer

一个服务器,可以在本地安全地管理以太坊私钥,并使 Claude for Desktop 能够通过 Infura 与 EVM 兼容的区块链进行交互。

本地
TypeScript
Cryptocurrency Daemon MCP Server

Cryptocurrency Daemon MCP Server

通过人工智能助手实现与加密货币守护进程RPC接口的安全交互,支持基于比特币的加密货币的交易管理、钱包操作和守护进程监控。

本地
TypeScript