ynab-mcp-server
镜子 (jìng zi)
MCP-Mirror
README
ynab-mcp-server
一个使用 mcp-framework 构建的模型上下文协议 (MCP) 服务器。此 MCP 提供了与您在 https://ynab.com 上设置的 YNAB 预算进行交互的工具。
为了让 AI 与此工具交互,您需要从 YNAB 获取您的个人访问令牌:https://api.ynab.com/#personal-access-tokens。将此 MCP 服务器添加到任何客户端时,您需要提供您的个人访问令牌作为 YNAB_API_TOKEN。此令牌永远不会直接发送到 LLM。 它以私密方式存储在环境变量中,供 YNAB api 使用。
设置
指定环境变量:
- YNAP_API_TOKEN (必需)
- KNOWLEDGE_DIR (可选) - 知识文件应存储的目录。默认为服务器运行的
data
目录。 - KNOWLEDGE_FILE (可选) - 知识文件的名称。默认为
server-knowledge.json
目标
该项目的目标是能够通过 AI 对话与我的 YNAB 预算进行交互。我想启用以下几个主要工作流程:
工作流程:
首次设置
- 提示您从可用的预算中选择您的预算。如果您首先尝试使用其他工具,则应出现此提示,要求您设置默认预算。
- 需要的工具:ListBudgets, SetBudget
管理超支类别
添加新交易
批准交易
检查每月总支出与总收入
根据类别目标自动分配可分配资金
当前状态
可用工具:
- ListBudgets - 列出您帐户上的可用预算
- BudgetSummary - 提供资金不足的类别和帐户余额不足的摘要
- GetUnapprovedTransactions - 检索所有未批准的交易
- CreateTransaction - 为指定的预算和帐户创建交易。
- 示例提示:
Add a transaction to my Ally account for $3.98 I spent at REI today
- 需要先调用 GetBudget,以便我们知道帐户 ID
- 示例提示:
下一步:
- 转移到按月调用预算,而不是从整个预算中获取类别:https://api.ynab.com/v1#/Months/getBudgetMonth
快速开始
# 安装依赖
npm install
# 构建项目
npm run build
项目结构
ynab-mcp-server/
├── src/
│ ├── tools/ # MCP 工具
│ └── index.ts # 服务器入口点
├── package.json
└── tsconfig.json
添加组件
YNAB sdk 描述了可用的 api 端点:https://github.com/ynab/ynab-sdk-js。
YNAB open api 规范在这里:https://api.ynab.com/papi/open_api_spec.yaml。这可以用来提示 AI 生成一个新工具。Cursor Agent 的示例提示:
create a new tool based on the readme and this openapi doc: https://api.ynab.com/papi/open_api_spec.yaml
The new tool should get the details for a single budget
您可以使用 CLI 添加更多工具:
# 添加新工具
mcp add tool my-tool
# 您可能创建的示例工具:
mcp add tool data-processor
mcp add tool api-client
mcp add tool file-handler
工具开发
示例工具结构:
import { MCPTool } from "mcp-framework";
import { z } from "zod";
interface MyToolInput {
message: string;
}
class MyTool extends MCPTool<MyToolInput> {
name = "my_tool";
description = "Describes what your tool does";
schema = {
message: {
type: z.string(),
description: "Description of this input parameter",
},
};
async execute(input: MyToolInput) {
// Your tool logic here
return `Processed: ${input.message}`;
}
}
export default MyTool;
发布到 npm
-
更新您的 package.json:
- 确保
name
是唯一的,并遵循 npm 命名约定 - 设置适当的
version
- 添加
description
、author
、license
等。 - 检查
bin
是否指向正确的入口文件
- 确保
-
在本地构建和测试:
npm run build npm link ynab-mcp-server # 在本地测试您的 CLI
-
登录到 npm(如果需要,创建帐户):
npm login
-
发布您的包:
npm publish
发布后,用户可以将其添加到他们的 claude 桌面客户端(阅读下文)或使用 npx 运行它
与 Claude Desktop 一起使用
本地开发
将此配置添加到您的 Claude Desktop 配置文件:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"ynab-mcp-server": {
"command": "node",
"args":["/absolute/path/to/ynab-mcp-server/dist/index.js"]
}
}
}
发布后
将此配置添加到您的 Claude Desktop 配置文件:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"ynab-mcp-server": {
"command": "npx",
"args": ["ynab-mcp-server"]
}
}
}
其他 MCP 客户端
查看 https://modelcontextprotocol.io/clients 获取其他可用的客户端。
构建和测试
- 更改您的工具
- 运行
npm run build
进行编译 - 服务器将在启动时自动加载您的工具
了解更多
推荐服务器
Crypto Price & Market Analysis MCP Server
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

chromia-mcp
使人工智能能够与 Chromia 钱包交互,以发送 $CHR 交易。
TripleWhale MCP Server
一个模型上下文协议 (MCP) 的实现,允许用户通过 Claude Desktop 使用自然语言查询与 TripleWhale 的电子商务分析平台进行交互。
Adamik MCP Server
通过 Claude Desktop 实现与 60 多个区块链网络的读写交互,为交易管理、账户洞察、质押和代币交互提供标准化的多链 API。
Open-Ledger-MCP-Server
一个用于 OpenLedger API 的模型上下文协议 (MCP) 服务器实现。该服务器根据 MCP 规范为 AI 模型提供结构化的上下文。
ntropy-mcp MCP Server
启用使用 Ntropy API 丰富银行数据的功能,并提供高效创建账户持有人和丰富交易信息的工具。
Iaptic MCP Server
一个用于与 Iaptic API 交互的服务器,允许像 Claude 这样的人工智能模型查询客户、购买和交易数据,以及检索统计见解。
Bitrefill Search and Shop
这个 MCP 封装了 Bitrefill 的公共 API,允许代理使用比特币、以太坊、Solana 等加密货币搜索产品和购物。
MCP EVM Signer
一个服务器,可以在本地安全地管理以太坊私钥,并使 Claude for Desktop 能够通过 Infura 与 EVM 兼容的区块链进行交互。
Cryptocurrency Daemon MCP Server
通过人工智能助手实现与加密货币守护进程RPC接口的安全交互,支持比特币衍生加密货币的交易管理、钱包操作和守护进程监控。