ynab-mcp-server 是一个基于 mcp-framework 构建的服务器,它为 YNAB(You Need A Budget)预算工具提供了模型上下文协议 (MCP)。借助此 MCP,你可以与在 https://ynab.com 上设置的 YNAB 预算进行交互。
为了让 AI 能够与该工具交互,你需要获取个人访问令牌,获取地址为:https://api.ynab.com/#personal-access-tokens。当将此 MCP 服务器添加到任何客户端时,你需要提供个人访问令牌作为 YNAB_API_TOKEN。此令牌绝不会直接发送给 LLM(大语言模型),它会安全地存储在环境变量中,仅用于与 YNAB API 通信。
git clone https://github.com/your-repository.git
npm install
export YNAP_API_TOKEN=your_token_here
node dist/index.js
指定以下环境变量:
YNAP_API_TOKEN
(必需):个人访问令牌。KNOWLEDGE_DIR
(可选):知识文件存储目录,默认为服务器运行所在的 data
目录。KNOWLEDGE_FILE
(可选):知识文件名,默认为 server-knowledge.json
export class YNABTools {
private readonly token: string;
constructor(token: string) {
this.token = token;
}
// 实现具体功能方法
}
此项目旨在通过 AI 对话与你的 YNAB 预算进行交互,有几个主要的工作流程需要实现。
ListBudgets
、SetBudget
ListBudgets
:列出所有预算SetBudget
:设置默认预算GetCategories
:获取预算类别CreateCategory
:创建新预算类别UpdateCategory
:更新现有预算类别DeleteCategory
:删除预算类别CreateTransaction
、UpdateTransaction
、DeleteTransaction
).
├── src/
│ ├── tools/ # 工具目录,包含与 YNAB API 交互的工具类
│ │ └── ynabTools.ts
│ └── server.ts # 主服务器文件
├── package.json # 项目依赖和脚本
└── README.md # 项目文档
要添加新的功能模块:
src/tools/
目录下创建新工具类。npm login
npm version patch
npm publish
检查 https://modelcontextprotocol.io/clients 获取更多信息。