Ameria Bank MCP Server
非官方。 本项目与Ameria Bank没有附属关系、背书或关联。它是一个独立的开源工具,使用可公开访问的MyAmeria网上银行界面。
开源MCP服务器 美国银行 网上银行。查询您的交易历史、账户余额和卡信息——所有这些都可以通过Claude Desktop等人工智能助手完成。
只读。 此服务器仅从您的帐户读取数据。它不能发起转账、付款或修改任何内容。
可用工具
| 工具 | 说明 |
|---|---|
get_transactions | 带有日期范围和分页的交易历史记录 |
search_transactions | 按商家/关键字搜索交易 |
get_accounts_and_cards | 所有账户、卡、余额、透支信息 |
get_available_balance | 特定卡/账户的详细余额明细 |
get_account_events | 具有过滤功能的每个账户交易事件 |
设置
1.获取刷新令牌
服务器使用 刷新令牌 以自动获得短期访问令牌。您只需要设置一次——刷新令牌的寿命很长,服务器会自动处理令牌轮换。
- 登录到 MyAmeria
- 打开浏览器开发工具(F12或Cmd+Option+I)
- 去 网络 选项卡,按筛选
token - 寻找请求
account.myameria.am/auth/realms/ameria/protocol/openid-connect/token - 在响应中,复制
refresh_token价值 - 将其存储在安全的保险库中(1Password、macOS Keychain等)
注: 刷新令牌的持续时间比15分钟的访问令牌长得多。当访问令牌过期时,服务器会自动刷新它,因此您不需要为每个会话手动更新令牌。
2.配置克劳德桌面
添加 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):
选项A--保险库(推荐,令牌自动旋转):
{
"mcpServers": {
"ameria-bank": {
"command": "node",
"args": ["/absolute/path/to/ameria-mcp/server.js"],
"env": {
"AMERIA_VAULT": "keychain",
"AMERIA_VAULT_KEY": "ameria-mcp"
}
}
}
}选项B——Env-var(更简单,但令牌在旋转过程中不会持久):
{
"mcpServers": {
"ameria-bank": {
"command": "node",
"args": ["/absolute/path/to/ameria-mcp/server.js"],
"env": {
"AMERIA_TOKEN": "your_refresh_token"
}
}
}
}保存后重新启动Claude Desktop。
用法示例
连接后,您可以问Claude以下问题:
- “显示我最近的交易记录”
- “这个月我在Yandex Go上花了多少钱?”
- “我的卡余额是多少?”
- “显示上周超过10000 AMD的所有交易”
- “我在Visa签名卡上的可用余额是多少?”
- “列出本月所有杂货支出”
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
AMERIA_TOKEN | 是\* | 从MyAmeria刷新令牌。 *如果使用保险库,则不需要。 |
AMERIA_CLIENT_AUTH | 是的* | Base64编码 client_id:client_secret 对于令牌端点。 *如果使用保险库,则不需要。 |
AMERIA_CLIENT_ID | 是的* | API调用的客户端Id标头值。\*如果使用保险库,则不需要。 |
AMERIA_VAULT | 否 | Vault后端: 1password 或 keychain |
AMERIA_VAULT_KEY | 否 | 保管库中的项目名称(例如。 ameria-mcp) |
Vault集成(推荐)
将刷新令牌存储在vault中,而不是环境变量中。服务器在启动时从vault读取并 自动将旋转的刷新令牌保存回 --因此,您无需再次手动更新令牌。
1密码
需要 1Password命令行界面 (op)使用生物识别解锁或服务帐户。
- 创建一个名为
ameria-mcp1Password - 添加这些字段:
- refresh_token --您的刷新令牌 - client_auth --Base64编码 client_id:client_secret (来自令牌请求中的Authorization标头) - client_id -客户端Id UUID(来自API请求头)
- 配置Claude桌面:
{
"mcpServers": {
"ameria-bank": {
"command": "node",
"args": ["/absolute/path/to/ameria-mcp/server.js"],
"env": {
"AMERIA_VAULT": "1password",
"AMERIA_VAULT_KEY": "ameria-mcp"
}
}
}
}服务器读取 refresh_token, client_auth,以及 client_id 从项目通过 op item get 并用以下方式写回旋转的刷新令牌 op item edit.
macOS钥匙扣
- 存储凭据:
security add-generic-password -s ameria-mcp -a refresh_token -w "YOUR_REFRESH_TOKEN" -U
security add-generic-password -s ameria-mcp -a client_auth -w "YOUR_BASE64_CLIENT_AUTH" -U
security add-generic-password -s ameria-mcp -a client_id -w "YOUR_CLIENT_ID_UUID" -U- 配置Claude桌面:
{
"mcpServers": {
"ameria-bank": {
"command": "node",
"args": ["/absolute/path/to/ameria-mcp/server.js"],
"env": {
"AMERIA_VAULT": "keychain",
"AMERIA_VAULT_KEY": "ameria-mcp"
}
}
}
}服务器读取 refresh_token, client_auth,以及 client_id 钥匙扣(服务=ameria-mcp)并自动回写旋转的刷新令牌。
无保险库(仅限于环境)
如果 AMERIA_VAULT 未设置,服务器使用 AMERIA_TOKEN 直接使用env变量。旋转令牌仅保存在内存中,不会持久化——如果刷新令牌过期,您需要手动更新令牌。
发展
git clone
cd ameria-mcp
npm install在本地运行:
AMERIA_TOKEN=your_token node server.jsMCP检验员测试:
AMERIA_TOKEN=your_token npm run inspect运行测试
npm test104个测试涵盖了所有辅助功能:日期验证、卡/账户屏蔽、货币分组、交易格式和错误处理。
克劳德代码
claude mcp add ameria-bank -- node /absolute/path/to/ameria-mcp/server.js然后设置 AMERIA_TOKEN 在您的环境中。
安全
- 只读 --无写入操作、无转账、无付款
- 访问令牌自动刷新 --服务器使用刷新令牌自动获取短期访问令牌
- 卡号被屏蔽 -双重掩码,尽管API已经部分屏蔽了它们
- 30秒请求超时 --防止无限期挂起
- 无数据持久性 --没有任何内容被缓存或存储在本地
许可证
麻省理工学院
