跳到主要内容
Developer属于 Developer 套餐。 查看套餐 · 获取密钥

历史数据库 MCP

历史数据库 MCP(简称 Data MCP)把我们的历史数据库交给 AI 代理:pump.fun、PumpSwap、Bonk 与 StonkFun(Raydium LaunchLab)、Meteora DBC 以及这些币迁移去的池子上的每一笔交易,pump.fun 联合曲线可追溯到 2025 年 3 月,外加直到最近几秒的实时交易。用平常的话提问,代理就从数据里回答:

  • 这个币上哪些钱包赚得最多,它们还在持有吗?
  • 这个钱包这个月赚了多少,按币分开算?
  • 给我看这个币自发射以来的 5 分钟 K 线,以及谁在第一分钟买入。
  • 找出名字叫"pepe"、交易最多的币。

这是获取 pump.fun 历史数据最快的方式:无需下载,也无需自己运行数据库。它是一个 Model Context Protocol(模型上下文协议)服务器,这是 AI 应用接入工具和数据的标准方式。Claude、Cursor、VS Code 以及任何其他 MCP 客户端都用一个 URL 加你的 API 密钥连接它。它用的正是驱动 shrine.trade 的同一份数据。随 Developer 套餐提供。

https://mcp.shrine.trade/mcp

先在 API 页面上试一试:每天 3 次免费提问,无需密钥。

连接​

你需要控制台里的 Developer 密钥,以 Authorization: Bearer sk_… 发送。不能设置请求头的客户端可以把它放在 URL 上:https://mcp.shrine.trade/mcp?key=sk_…。

claude mcp add --transport http shrine-data https://mcp.shrine.trade/mcp \
--header "Authorization: Bearer sk_…"

然后直接提问。代理看到下面的工具,挑出合适的那个,再读取答案。

你可以问什么​

这正是驱动 shrine.trade 的同一个数据库:交易者每天在那里使用的图表、钱包页面、盈亏和持有者视图都来自它。它收录每一笔交易及其钱包、方向、数量、价格和交易前端;开发者买入、捆绑、狙击和首次买入的标记;每一笔卖出的已实现利润;每个钱包的持仓和每日盈亏;谁给每个钱包打了第一笔 SOL、钱包何时创建;按创建者的发射记录;K 线;以及实时余额和持有者。所以问题可以问得多细都行。

代币

  • 这个币是谁创建的?他们还发过哪些币,表现如何?
  • 第一分钟的买入里有多少来自捆绑和狙击?
  • 哪些交易前端交易这个币最多:Axiom、GMGN、Photon?
  • 现在持有者有多集中?前 20 名里有多少是在第一分钟买入的?
  • 它用了多久迁移?迁移后一小时价格怎么走?

钱包

  • 这个钱包过去 30 天的胜率和平均持仓时间是多少?
  • 它还持有哪些币,成本多少,现在值多少?
  • 谁给这个钱包打了第一笔 SOL,它有多老,还有哪些钱包的第一笔 SOL 来自同一个来源?
  • 这个钱包是狙击手吗?它多常在一个币的头几秒买入?
  • 它用哪个交易前端,通常一笔买多少?

寻找交易者

  • 哪些钱包早早买入了本周交易量前 20 的币中的三个或更多?
  • 列出本月已实现利润超过 100 SOL、胜率高于 60% 的钱包。
  • 在不到 10 分钟的新币上,最赚钱的钱包是哪些?
  • 这个币上哪些钱包赚得最多,它们还在持有吗?

市场

  • 本月每天发射了多少币,其中多少比例完成了迁移?
  • 本周每个交易前端占多少交易量?
  • 昨天交易量最大的币是哪些,它们的顶级交易者是谁?
  • 开发者买入超过 5 SOL 的币,表现比其他币好吗?

你自己的交易

  • 过一遍我钱包上周的交易,指出我哪里卖早了。
  • 把我每个币的盈亏和同一批币上最好的 10 个交易者比一比。

代理会选一个工具,或者为没有现成工具的问题写 SQL,还能把多次调用串起来:先找到币,再找它们的交易者,再找这些交易者的其他钱包。

工具​

工具它回答什么
token_overview一个币的概况:名称、符号、创建者、发射和迁移的时间、在哪里交易、市值、成交量、持有者、最近 24 小时
token_trades一个币的交易,最新的在前,可按时间范围、方向或钱包筛选
token_candles1m、5m、15m、30m、1h、4h 或 1d 的 K 线
top_traders一个币按已实现利润或成交量排出的最佳交易者:SOL 流入和流出、仍持有的代币、首笔和末笔交易
top_holders一个币当前最大的持有者
wallet_trades一个钱包的交易,最新的在前,带每个币的符号
wallet_pnl一个钱包过去 N 天的已实现盈亏:按天、按币和总计
wallet_positions一个钱包现在持有什么(代币、成本、目前已实现的部分),或它开过的每一个仓位
search_tokens按名称或符号的一部分找币,交易最多的在前
data_coverage历史覆盖哪些日期,以及已知的缺口
list_tables, describe_table工具背后的表,它们的列、单位和示例查询
query工具没覆盖到的,用只读 SQL 查

时间参数接受 1h、24h、7d、日期(2026-10-31)或 ISO 时间。金额以 SOL 和整枚代币返回,地址为 base58。

其他一切用 SQL​

没有合适的工具时,代理就写 SQL。它用 list_tables 找到表,用 describe_table 读取列、单位和示例查询,再用 query 运行一条只读语句。地址写作 b58('<address>'),返回时为 base58:

SELECT wallet, min(ts) AS first_buy, sum(sol) / 1e9 AS sol_in
FROM trades
WHERE mint = b58('Gc6r…pump') AND buy = 1
GROUP BY wallet ORDER BY first_buy LIMIT 20

一个钱包在过去 30 天里平仓的持仓的胜率:

SELECT countIf(realized > 0) / count() AS win_rate, count() AS positions, sum(realized) AS realized_sol
FROM (
SELECT mint, start, argMax(realized, ver) AS realized, argMax(open, ver) AS open, argMax(last, ver) AS last
FROM wallet_coins WHERE wallet = b58('5Ln2…Qe7d') GROUP BY mint, start
)
WHERE open = 0 AND last >= now() - INTERVAL 30 DAY

过去 7 天每个交易前端的份额:

SELECT platform, count() AS trades, sum(sol) / 1e9 AS volume_sol
FROM trades WHERE ts >= now() - INTERVAL 7 DAY
GROUP BY platform ORDER BY volume_sol DESC

一个创建者发射过的币,最新的在前:

SELECT mint, created FROM token_launches
WHERE creator = b58('…') ORDER BY created DESC LIMIT 50

这些表覆盖按币和按钱包的交易、K 线、币及其名称、发射、每个钱包的持仓和每日数据、资金来源和转账,以及实时余额和持有者。describe_table 会给出每张表的列、单位和更多示例。

流式回放历史​

除了提问,同样的历史也能按时间顺序流回来:某些币、某些钱包或整个市场的每一笔交易,从 2025 年 3 月以来的任意时刻开始(最早的一段只有 pump.fun 联合曲线),按你读取的最快速度,或按实时的若干倍。用它把一天、一周或一个币的整个生命周期回放进你的机器人或回测。同一个密钥,同一个套餐。

wss://mcp.shrine.trade/stream?from=… WebSocket
https://mcp.shrine.trade/stream?from=… HTTP 上的 JSON 行
参数
from必填。7d、24h、日期(2026-10-01)、ISO 时间或 unix 秒/毫秒
to截止时间(不含)。默认:现在
mint最多 50 个币,用逗号分隔
wallet最多 50 个钱包,用逗号分隔
side只要 buy 或 sell
speed0:按你读取的最快速度(币和钱包的默认值)。N:实时的 N 倍,1 就按当时的节奏回放

不带 mint 或 wallet 就是整个市场。它最快是实时的 60 倍(一天 24 分钟),所有用户同时只能有一条,所以可能被占用;指定币或钱包就能按你读取的最快速度运行。

curl -N "https://mcp.shrine.trade/stream?from=2026-10-01&to=2026-10-02&mint=Gc6r…pump" \
-H "Authorization: Bearer sk_…" > day.jsonl

每行(或每条消息)一个 JSON 对象:

{"type":"trade","t":1793448946787,"slot":463685046,"signature":"3iLB…AGu","wallet":"Dnho…xd5v","mint":"27tv…pump","side":"buy","sol":0.00501,"tokens":176596.387645,"price":2.796e-8,"quote":"SOL","platform":"none","tags":["dev","first"],"realized":null,"fee":0.00001,"tip":0}
{"type":"progress","t":1793449389695}
{"type":"end","trades":24227,"to":1793730514778}
字段
t成交时间,unix 毫秒
slot、signature在链上的位置(最早的 pump.fun 交易上 signature 为 null)
wallet、mint、side谁、哪个币、buy 或 sell。最早的 pump.fun 交易上多数钱包显示为 unknown: 加一个 id
sol进出的 SOL,含手续费
tokens整数单位的代币数量
price每个完整代币的价格,以 quote 计(SOL、USD 或 token)
platform交易来自的前端(Axiom、GMGN、Photon 等),未知时为 none
tagsdev、bundle、sniper、first(该钱包对这个币的首次买入)
realized卖出时的已实现利润(SOL,平均成本法);买入为 null
fee、tip网络手续费和小费,SOL

节奏回放在等下一笔交易时会发 progress,带上回放的时钟;end 在流结束时给出发送的交易数;error 带 error 和 message。每个密钥同时只能有一条流:关掉它或等它结束,再开下一条。

它能做什么、不能做什么​

  • 它只读。 每个工具、每条 SQL 语句都是只读的。没有任何东西可以交易、签名、发送或更改,你的钱包、私钥和账户都与它毫不相干。
  • 只有你的密钥能打开它。 每个请求都按你的套餐检查;套餐已到期的密钥或已被替换的密钥会被拒绝。密钥只用来让你进入并统计你的用量。保管好它:任何拿到它的人都在用你的套餐。优先用请求头而不是 ?key=,因为 URL 可能会留在客户端的日志里。
  • 它只看得到公开的历史。 这些表是链上的交易、币、K 线、钱包的持仓和余额。里面没有任何关于其他 API 用户、他们的密钥、钱包或请求的信息。
  • 受你的套餐约束。 每个查询都有时间限制、读取量上限和行数上限,你的密钥有每分钟和同时进行的查询数限制。超出限制的查询会停下,代理会被告知如何收窄。

限额​

Developer
查询每分钟 60 次,同时 2 个
流同时 1 条;整个市场最快实时的 60 倍
单次查询时间30 s
每次返回行数2,000

超时或读取过多的查询会得到一个代理照着就能改的回答,比如"按币和时间范围过滤"。窄的工具(一个币、一个钱包、一个时间范围)在零点几秒内回答;跨越几个月的扫描需要更久。

不用 AI 客户端​

它就是 HTTP 上的普通 JSON-RPC,所以脚本可以直接调用一个工具:

curl -s https://mcp.shrine.trade/mcp \
-H "Authorization: Bearer sk_…" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"top_traders","arguments":{"mint":"Gc6r…pump","limit":5}}}'

答案的文本是 JSON:columns、rows、row_count,以及这次查询读取了多少。

错误​

状态码error原因
401api_key_required没有发送密钥
401unknown_key / key_disabled不是我们发的密钥,或已被一把新密钥取代
403plan_required这把密钥的套餐不包含 Data MCP;upgrade 链接到套餐页面

在工具调用内部,被拒绝或失败的查询会以工具错误返回,附一句直白的说明(本分钟查询太多、超出时间限制、表不存在),这样代理可以重试或换个做法。

数据

历史从 2025 年 3 月 14 日开始,随每一笔交易增长。最早的一段只有 pump.fun 联合曲线,从 Solana 账本解码:没有 PumpSwap 或其他池子的交易,没有签名,时间精确到区块的秒,多数钱包只有一个 id(unknown:1975d9be85242671:同一个 id 就是同一个钱包,也可以用来筛选钱包)。之后的一段包含所有发射台的每一笔交易,联合曲线和池子都有,并有 K 线和钱包盈亏。问 data_coverage 它包含哪些日期、每一段包含什么。从 2026 年 7 月起,交易上标注了前端(Axiom、GMGN、Photon 等)。

LimitsDeveloper 60 a minuteSee plans →