关于 WhereItGoes
WhereItGoes 是面向追踪交易所和钱包资产用户的托管式只读 MCP 服务。它提供计算后的持仓、盈亏、费用、收入和风险数据;可选变更仅以待人工批准的提案形式提交。
主要功能
- 01查看持仓和资金变动历史
- 02FIFO 盈亏与投资表现
- 03费用、收入和配置数据
- 04Pro 方案提供风险指标
- 05需人工批准的变更提案
- 06OAuth 2.1 身份验证
适用场景
- 01汇总查看交易所和钱包持仓
- 02查询存款、转账和交易活动
- 03了解投资表现、费用或收入
- 04拟定配置或提醒变更并请求批准
MCP 相关
通过 Streamable HTTP 和 OAuth 2.1 提供远程 MCP 服务,供客户端读取投资组合数据。读取工具为只读;可选写入工具仅提交提案,须在浏览器中由用户批准。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://api.whereitgoes.money/api/mcpclaude mcp add --transport http money-whereitgoes-portfolio https://api.whereitgoes.money/api/mcp{"mcpServers":{"money-whereitgoes-portfolio":{"type":"http","url":"https://api.whereitgoes.money/api/mcp"}}}在 Cursor 中打开{"servers":{"money-whereitgoes-portfolio":{"type":"http","url":"https://api.whereitgoes.money/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"money-whereitgoes-portfolio":{"type":"http","url":"https://api.whereitgoes.money/api/mcp"}}}{"mcpServers":{"money-whereitgoes-portfolio":{"serverUrl":"https://api.whereitgoes.money/api/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
WhereItGoes MCP 服务
询问 ChatGPT、Claude 或 Cursor,了解你自己的加密货币投资组合:你在所跟踪的每个交易所和链上钱包中的真实持仓、完整的资金变动历史、FIFO 盈亏、费用、收入和风险。无需粘贴 API 密钥,每个账户均可免费使用,只需单击一次即可撤销授权。
https://api.whereitgoes.money/api/mcp
- 传输方式:Streamable HTTP(无状态,JSON 响应)
- 身份验证:OAuth 2.1,授权码 + PKCE(S256)。同时支持动态客户端注册(RFC 7591)和客户端 ID 元数据文档。
- 注册名称:官方 MCP 注册表中的
money.whereitgoes/portfolio - 设置指南:whereitgoes.money/connect-ai
此仓库是托管(远程)MCP 服务的公开列表和文档。 无需在本地安装或运行任何内容。

功能
WhereItGoes 是一款只读加密货币投资组合跟踪器。你可以使用只读 API 密钥连接交易所,并通过公开地址连接钱包;它会重建你的交易和转账历史,并计算投资组合价值、盈亏和历史数据。MCP 服务会将相同的计算结果提供给 AI 客户端,让助手读取你的真实数据,而不是根据屏幕截图猜测。
应用已计算好每项数据并以 USD 计价。服务说明会要求模型报告工具返回的内容,而不是重新计算。
工具
共有 15 个工具:13 个读取工具和 2 个仅提议的写入工具。每个读取工具都会对应用自身的固定允许列表中的端点发出 GET 请求。涵盖多个相关问题的工具需要提供 view 参数,答案会嵌套在以该视图命名的键下。
| 分组 | 工具 |
|---|---|
| 从这里开始 | get_portfolio 视图 overview - 一次调用即可汇总价值、资产配置、集中度、30 天真实盈亏、目标偏离,以及同一时间段内的 BTC/ETH 数据 |
| 持有哪些资产 | get_portfolio、get_connections |
| 发生了什么 | get_movements、get_money_flows、get_changes、get_trading_activity |
| 表现如何 | get_performance、get_income、get_fees |
| 计划和提醒 | get_target_allocation、get_alerts |
| Pro 计划 | get_risk(回撤、波动率、夏普比率、相对 BTC 或 ETH 的贝塔;0-100 健康评分) |
| 日常管理 | list_profiles |
| 仅提议(由你批准) | set_target_allocation、propose_alert_change(Pro) |
每个投资组合工具都接受可选的 profile 参数,因此无需更改应用中的显示内容,一个问题就能读取指定名称的投资组合(例如“我的交易账户”)。带时间范围的视图还接受 period(last_24h、last_7d、last_30d、last_90d、ytd、all);省略时表示所有时间。若视图不接受某个参数,就会拒绝该参数,而不是忽略它。
工具参考
| 工具 | 查看次数 | 回答内容 |
|---|---|---|
get_portfolio | overview、holdings、recent_change | 当前状态:整个投资组合摘要;每项资产的数量、价值、权重、平均成本和盈亏;24h / 7d / 30d 的变动,以及上次同步完成的时间 |
get_performance | pnl、history、realized_by_pair | 某个时期的真实盈亏,已剔除你自己的存款和取款;每日价值序列(“我 6 月的资产价值是多少”);按交易对排名的已实现盈亏 |
get_risk | metrics、score | 专业版:回撤、波动率、夏普比率、贝塔,以及与 BTC 或 ETH 的相关性;0-100 的结构评分及各支柱子评分 |
get_movements | 搜索账本:存款、取款、转账、收入、交易,可按资产、平台、来源和状态筛选 | |
get_money_flows | capital_flow、deposits、transfers、fiat | 按月或按周统计以 USD 计价的资金流入和流出;交易所存款及其成本基础状态;与自有账户间存款匹配的取款;按本地货币统计的法币投入和兑现 |
get_income | by_category、by_asset | 按类别统计收入总额(质押、借贷、DeFi、奖励、空投);按资产统计一段时间内的收入 |
get_fees | 按平台、资产和类型统计费用,以 USD 计价 | |
get_trading_activity | asset_totals、calendar | 每项资产的累计买入和卖出总额;按日统计交易和资金变动次数、交易量和盈亏 |
get_changes | 某个时期值得关注的事件排名:大额资金流、配置变动、回撤、待办事项 | |
get_connections | exchanges、wallets、sync_status | 已连接的交易所(仅显示已掩码的密钥提示,绝不显示密钥);已跟踪的链上地址;同步正在运行还是排队中 |
get_target_allocation | 你设定的配置计划及其容差范围 | |
get_alerts | 你配置的价格和价值提醒 | |
list_profiles | 你账户中的投资组合,可作为 profile 传入 | |
set_target_allocation | 仅提议:草拟一份新计划,由你在浏览器中批准(需要 portfolio:write) | |
propose_alert_change | 仅提议,专业版:草拟新提醒、修改现有提醒或删除提醒(action = create、update、delete),由你在浏览器中批准(需要 portfolio:write) |
每个工具都声明了 outputSchema,并在 JSON 文本块之外返回 structuredContent,因此客户端可以读取带类型的字段(单位、货币和排序方式在架构中说明),而不必解析文本。超过 200 行的列表会被截断,答案会包含 truncated 字段和 <field>_note,说明保留了多少行以及保留了哪些行。
版本 1.2.0 重命名了 1.1.x 版本中的工具(从 26 个减少到 15 个,计入新增的 propose_alert_change)。如果你保存的提示词或配置中使用了旧工具名称:get_portfolio_snapshot、get_dashboard -> get_portfolio;get_pnl_overview、get_portfolio_history、get_pnl_by_symbol -> get_performance;get_risk_metrics、get_portfolio_score -> get_risk;get_capital_flow、get_deposits、get_transfers、get_fiat_stats -> get_money_flows;get_income_by_source、get_income_timeseries -> get_income;get_asset_trade_stats、get_activity_calendar -> get_trading_activity;get_venues、get_wallets、get_sync_status -> get_connections。
每个只读工具都标注了 readOnlyHint: true、destructiveHint: false、idempotentHint: true、openWorldHint: false。两个写入工具都标注了 readOnlyHint: false、destructiveHint: true,因此谨慎的客户端会在调用前询问,即使它们都不会在调用时应用任何更改。
免费账户调用 get_risk 的任一视图时,都会返回 upgrade_required 结果,而非错误,因此助手可以说明需要什么条件,而不必重试。
此外,还有两个可选的仅提议型工具,只有在连接时授予单独的
portfolio:write 范围后才能使用:set_target_allocation 会起草目标计划,propose_alert_change 会起草价格或价值提醒(创建、编辑或删除,包括是否同时通过电子邮件通知你)。调用这些工具不会更改任何内容:每个工具都会保存一项提议并返回链接,只有在你自己的浏览器中打开该链接、阅读由服务器呈现的变更前后对比,并点击 Apply 后,变更才会生效。提醒是 Pro 功能,因此免费账户调用 propose_alert_change 时会返回 upgrade_required,而不是起草任何内容;草稿会由应用提醒表单使用的同一验证器进行检查。请参阅
安全模型。

连接
你需要拥有一个 WhereItGoes 账户,并至少连接一个交易所或钱包,因为连接器会读取你已有的投资组合。如果还没有账户,请从这里开始。
Claude
- 打开 Settings > Connectors > Add custom connector。
- 粘贴
https://api.whereitgoes.money/api/mcp。 - 浏览器中会打开 WhereItGoes 授权页面。请批准。
ChatGPT
- 打开 Settings > Apps & Connectors > Advanced,并开启 developer mode。
- 使用 URL
https://api.whereitgoes.money/api/mcp创建连接器,并选择 OAuth 作为身份验证方式。 - 批准浏览器中打开的 WhereItGoes 授权页面。
Cursor 和其他 MCP 客户端
任何支持通过 Streamable HTTP 使用 MCP 并处理 OAuth 的客户端都可以。对于使用 JSON 配置的客户端:
{
"mcpServers": {
"whereitgoes": {
"url": "https://api.whereitgoes.money/api/mcp"
}
}
}
要先查看原始工具列表,请运行 npx @modelcontextprotocol/inspector 并将其指向该 URL。
然后可以询问:“我持有哪些资产”“上个月我存入了多少钱”“我支付了多少手续费”或“今年我的投资实际上是盈利还是亏损”。
安全模型
从设计上只读。 读取执行器会将 GET 硬编码到应用端点的允许列表中。它不能交易、提现、转账,不能连接或断开任何数据源,也不能读取你的交易所 API 密钥。连接器中不存在这些操作路径;它们并非只是被关闭的权限。
连接器令牌绝不会变成应用会话。 MCP 访问令牌使用与应用会话令牌不同的独立域进行 HMAC 签名,因此两种令牌无法相互验证。工具运行时,服务器会在内部为同一用户签发一个新的短期会话,并通过应用自身的身份验证和套餐检查重新分派请求;除 MCP 端点外,MCP 令牌在任何地方都毫无用处。测试会双向验证这种隔离。
严格的 OAuth。 仅支持 PKCE S256;redirect_uri 必须完全匹配,不支持前缀或通配符;未知客户端或未注册的重定向 URI 会直接终止流程,绝不会执行重定向;授权码只能使用一次,有效期为 60 秒;访问令牌有效期短,并绑定 MCP 端点作为其受众。
每次写入都需要人工确认。 只有在授权页面上明确请求并批准后,才会授予可选的 portfolio:write 范围;现有的只读连接无法获取该范围。即使获得该范围,写入工具也只会提交提议。只有你在自己的浏览器中、使用自己的会话,在 whereitgoes.money 上打开链接,并批准由服务器根据已存储的负载(而非模型编写的文本)呈现的变更前后对比后,变更才会生效。提议只能使用一次,并会在 10 分钟后过期。这样可以防止提示词注入的工具调用在你不知情的情况下写入任何内容。
租户范围。 每次调用都会重新核对所属账户和投资组合。每次调用时选择投资组合,不会改变应用自身当前激活的投资组合。
撤销访问权限
- 单个连接器:在应用中,Settings > Connections 会列出所有已连接的应用,以及批准时间和上次读取数据的时间。断开连接后,下一次调用就会失败;每次请求都会检查授权,而不是等到会话结束时才检查。
- 一次性全部撤销:退出所有设备上的登录,即可撤销所有连接器的授权。
- 删除账户会移除该账户的所有授权。
定价
所有账户都可免费使用该连接器,包括免费套餐,而且不会消耗我们的 AI 额度:由你的助手负责交互,WhereItGoes 只负责提供数据。Pro 工具仍然需要 Pro 方案,这与应用中的规则相同。
支持
此服务返回的任何内容都不构成投资建议。
许可证
此仓库的内容(文档和目录元数据)采用 MIT License 发布。WhereItGoes 服务本身是托管产品,并非开源。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。