关于 Pyth Pro Mcp
Pyth Pro MCP 是一个 MCP 服务,让 AI 助手可以获取 Pyth 提供的实时与历史市场数据,覆盖加密货币、股票、外汇和大宗商品等500多个价格源。它适合需要查询行情的开发者与分析人员,并通过用户自备的 Pyth Pro 访问令牌进行鉴权。
主要功能
- 01实时价格查询
- 02历史价格快照与价格区间查询
- 03K 线(OHLC)数据
- 04价格源搜索与筛选
- 05可选的令牌鉴权与权限标识
适用场景
- 01让 AI 助手查询加密货币或股票的当前价格
- 02获取某一时段的历史价格走势用于分析
- 03检索 VIX 期货等衍生品的可用价格源
MCP 相关
该项目是一个远程 MCP 服务,托管于 https://mcp.pyth.network/mcp,向 MCP 客户端暴露价格查询、K 线和价格源搜索等工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.pyth.network/mcpclaude mcp add --transport http pyth-network https://mcp.pyth.network/mcp{"mcpServers":{"pyth-network":{"type":"http","url":"https://mcp.pyth.network/mcp"}}}在 Cursor 中打开{"servers":{"pyth-network":{"type":"http","url":"https://mcp.pyth.network/mcp"}}}在 VS Code 中打开{"mcpServers":{"pyth-network":{"type":"http","url":"https://mcp.pyth.network/mcp"}}}{"mcpServers":{"pyth-network":{"serverUrl":"https://mcp.pyth.network/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
5| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| asset_type | enum | 否 | 按资产类型筛选:crypto、fx、equity、metal、rates、commodity、funding-ratecrypto | fx | equity | metal | rates | commodity | funding-rate |
| limit | integer | 否 | 每页结果数(默认 50,最多 200) |
| offset | integer | 否 | 分页偏移量(默认 0) |
| query | string | 否 | 文本筛选(例如,'BTC'、'gold'、'AAPL') |
详细介绍
Pyth Pro MCP 服务
MCP 服务让 AI 助手能够访问来自 Pyth 的实时和历史市场数据——涵盖加密货币、股票、外汇、商品等领域的 500 多个价格数据源。
托管地址:https://mcp.pyth.network/mcp
快速开始
每个代码片段都会通过 Authorization: Bearer 请求头发送你自己的 Pyth Pro API 密钥,因此只需设置一次(参见访问令牌)。
Claude Code
claude mcp add --transport http pyth https://mcp.pyth.network/mcp --header "Authorization: Bearer YOUR_TOKEN"
这只会将 Pyth 添加到你运行命令的文件夹中。若要在每个项目中使用,请添加 --scope user;之后你打开的任何项目都可以使用你的密钥调用价格工具。
Claude Desktop
Claude Desktop 通过自定义连接器连接远程服务;只有在启用 Anthropic 请求头测试版功能时,才能通过请求头发送你的密钥。若要在任何套餐中只设置一次密钥,请在 claude_desktop_config.json 中使用 mcp-remote(需要 Node.js)进行桥接(Claude 菜单栏 → 设置… → 开发者 → 编辑配置):
{
"mcpServers": {
"pyth": {
"command": "npx",
"args": ["-y", "[email protected]", "https://mcp.pyth.network/mcp", "--header", "Authorization:${PYTH_AUTH_HEADER}"],
"env": { "PYTH_AUTH_HEADER": "Bearer YOUR_TOKEN" }
}
}
}
mcp-remote 是社区软件包,并非由 Pyth 维护,而且它会处理你的密钥;此代码片段固定使用了我们测试过的版本。
你也可以将 https://mcp.pyth.network/mcp 添加为自定义连接器:Free、Pro 或 Max 套餐用户可通过 自定义 → 连接器 → 添加自定义连接器 添加;Team 或 Enterprise 套餐的 Owner 可通过 组织设置 → 连接器 → 添加 → 自定义 添加,成员则点击 自定义 → 连接器 下的 连接。如果启用了请求头测试版功能,请选择 无需登录 并添加 authorization 请求头 Bearer YOUR_TOKEN(Team 和 Enterprise 套餐由 Owner 为整个组织设置,因此所有人共用该密钥);否则,请在每次调用时传入密钥。
Cursor
添加到 ~/.cursor/mcp.json(全局配置,因此密钥不会进入你的代码库):
{
"mcpServers": {
"pyth": {
"url": "https://mcp.pyth.network/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}
若要避免将密钥写入文件,请填写 "Bearer ${env:PYTH_PRO_ACCESS_TOKEN}",并在 shell 配置文件或系统环境中设置该变量。
VS Code
添加到 ~/.copilot/mcp-config.json,这是一个用户级文件,VS Code 聊天和 Agent Host 会话都会读取。该文件以纯文本形式保存你的密钥,因此切勿将其复制到代码库中。(VS Code 的 ${input:...} 提示词可以避免这一点,但 Agent Host 会话不会接收使用该设置的 .vscode/mcp.json 服务。)
{
"mcpServers": {
"pyth": {
"type": "http",
"url": "https://mcp.pyth.network/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" },
"tools": ["*"]
}
}
}
其他客户端
任何支持 Streamable HTTP 的 MCP 客户端都可以连接到 https://mcp.pyth.network/mcp,并使用请求头 Authorization: Bearer YOUR_TOKEN。
工具
| 工具 | 描述 | 是否需要身份验证 |
|---|---|---|
get_symbols | 搜索和列出价格数据源;可按资产类型、工具类型或期货链筛选 | 可选(添加仅限 Pro 的数据源,并为每个数据源添加 entitled 标记) |
get_latest_price | 一个或多个数据源的实时价格 | 是(访问令牌) |
get_historical_price | 指定时间点的价格快照 | 是(访问令牌) |
get_price_range | 获取最多 60 秒时间窗口内的每次价格更新 | 是(访问令牌) |
get_candlestick_data | 用于图表和分析的 OHLC 蜡烛图数据 | 是(访问令牌) |
convert_date_to_timestamp | 将日期字符串转换为 Unix 时间戳 | 否 |
提示: 请先使用
get_symbols查找可用的数据源。价格工具接受完整符号(Crypto.BTC/USD)或简写交易对(BTC/USD)。如果存在现货数据源,简写交易对会解析为实时现货数据源;否则会解析为唯一剩余的匹配项(例如,BTC/USDT→ Binance 资金费率数据源);如果还有多个匹配项,错误信息会列出它们。
访问令牌
每位用户都需要提供自己的 Pyth Pro 访问令牌。get_latest_price、get_historical_price、get_price_range 和 get_candlestick_data 都需要访问令牌。get_symbols 无需令牌,但提供令牌后,它还会列出仅 Pro 密钥可见的数据源,并为每个数据源标记 entitled: true/false(表示你的令牌目前是否有权查询该数据源)。convert_date_to_timestamp 始终无需令牌。
- 获取令牌:获取 API 密钥
- 通过以下三种方式之一向服务提供令牌。调用时传入的令牌优先于已配置的令牌。
- 为托管服务配置一次:从 MCP 客户端发送
Authorization: Bearer标头(参见快速开始),这样助手就无需在每次调用时处理令牌。 - 为本地 stdio 服务配置一次:在客户端配置的服务
env块中设置PYTH_PRO_ACCESS_TOKEN(参见本地 stdio 配置)。 - 每次调用时传入:使用
access_token工具参数。如果未配置令牌,助手会向你询问。无法发送标头的客户端(例如未启用 request-headers beta 的 Claude Desktop 自定义连接器)请使用此方式。
- 为托管服务配置一次:从 MCP 客户端发送
- 服务本身不会持有密钥:托管服务会忽略自身环境中的
PYTH_PRO_ACCESS_TOKEN,只使用每位用户发送的密钥。 - 401 表示令牌无效或已过期。403 表示令牌有效,但你的套餐无权访问该数据源;错误信息会指出所需的权限组。
- 只有状态为
stable的数据源才会返回价格。请求的数据源如果未返回价格(例如状态为beta或coming_soon的数据源,或速度快于数据源min_channel的频道),会列在missing_feed_ids中。
示例查询
试试向任何已连接的 AI 助手提出以下问题:
- “比特币当前价格是多少?”
- “显示过去 24 小时的 ETH/USD 价格历史”
- “比较黄金和白银的当前价格”
- “获取 AAPL 过去一周的每日蜡烛图数据”
- “Pyth 上有哪些加密货币价格数据源?”
- “显示今天 UTC 时间 14:30 后 30 秒内每次 BTC/USD 价格更新”
- “Pyth 有哪些 VIX 期货合约?”
本地开发
适用于为 MCP 服务本身做贡献的开发者。
构建
pnpm --filter @pythnetwork/mcp build
MCP Inspector
运行 Inspector 以交互式测试工具:
npx @modelcontextprotocol/inspector --cli -- pnpm --filter @pythnetwork/mcp start:stdio:dev
本地 stdio 配置
通过 stdio 将客户端连接到本地构建版本:
{
"mcpServers": {
"pyth-mcp": {
"command": "node",
"args": ["<path-to-repo>/apps/mcp/dist/index.js"],
"env": { "PYTH_PRO_ACCESS_TOKEN": "YOUR_TOKEN" }
}
}
}
环境变量
| 变量 | 默认值 | 说明 |
|---|---|---|
PYTH_CHANNEL | fixed_rate@200ms | 默认价格频道:real_time、fixed_rate@50ms、fixed_rate@200ms 或 fixed_rate@1000ms |
PYTH_LOG_LEVEL | info | 日志级别(debug/info/warn/error) |
PYTH_REQUEST_TIMEOUT_MS | 10000 | HTTP 请求超时时间 |
PYTH_PRO_ACCESS_TOKEN | — | 你自己的令牌,仅用于 stdio。HTTP 服务会忽略此变量。 |
链接
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。