Provides AI assistants with real-time and historical market data for over 500 crypto, equities, FX, and commodities assets.
Also known as pyth-network/pyth-crosschain, mcp
- Stars
- 255
- Tools
- 6
- Downloads, 30 days
- —
- Latest version
- 0.3.2
- Last commit
- Nov 13, 2026
- License
- —
What is Pyth Pro MCP?
Pyth Pro provides AI assistants with real-time and historical market data for over 500 crypto, equities, FX, and commodities assets. It exposes 6 tools, such as get_symbols, get_latest_price, get_historical_price.
Summary generated from the project's README
About Pyth Pro MCP server
Pyth Pro MCP Server provides AI assistants with access to real-time and historical market data for over 500 price feeds. This includes assets across crypto, equities, FX, and commodities. Developers can integrate this server into various environments including Claude Code, Claude Desktop, Cursor, and VS Code by connecting to a remote HTTP endpoint or running a local stdio version.
Users must provide their own Pyth Pro API key via an Authorization Bearer header or an environment variable to access most features. The server includes specific tools such as get_latest_price for current valuations, get_historical_price for point-in-time snapshots, and get_candlestick_data for OHLC bars. It also offers get_symbols to discover available feeds and convert_date_to_timestamp for time formatting. This setup allows an AI to perform complex financial analysis and market monitoring directly within a chat interface.
What you can do with it
- 1Retrieve current asset pricesAsk the assistant to find the live market value for a specific cryptocurrency or stock.
- 2Analyze historical price trendsRequest a summary of how an asset price has changed over a specific period.
- 3Generate financial chartsInstruct the AI to fetch candlestick data for technical analysis or charting purposes.
- 4Discover available market feedsSearch for specific instrument types or available futures contracts within the Pyth network.
Written from the project's README. Every use case is checked against a quote from it.
How to install Pyth Pro MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall Pyth Pro MCP in Claude Code
$ claude mcp add --transport http mcp https://mcp.pyth.network/mcpInstall Pyth Pro MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mcp": {
"url": "https://mcp.pyth.network/mcp"
}
}
}Install Pyth Pro MCP in VS Code
.vscode/mcp.json
{
"servers": {
"mcp": {
"type": "http",
"url": "https://mcp.pyth.network/mcp"
}
}
}Install Pyth Pro MCP in VS Code CLI
$ code --add-mcp '{"name":"mcp","type":"http","url":"https://mcp.pyth.network/mcp"}'Install Pyth Pro MCP in Codex
$ codex mcp add mcp --url https://mcp.pyth.network/mcpInstall Pyth Pro MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.mcp] url = "https://mcp.pyth.network/mcp"
Install Pyth Pro MCP in Gemini CLI
$ gemini mcp add -s user --transport http mcp https://mcp.pyth.network/mcpInstall Pyth Pro MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"mcp": {
"url": "https://mcp.pyth.network/mcp",
"type": "http"
}
}
}Pyth Pro MCP tools 6
Detected from the READMEget_symbolsget_latest_priceget_historical_priceget_price_rangeget_candlestick_dataconvert_date_to_timestamp
| get_symbols | — | |
| get_latest_price | — | |
| get_historical_price | — | |
| get_price_range | — | |
| get_candlestick_data | — | |
| convert_date_to_timestamp | — |
Configuration
PYTH_AUTH_HEADERPYTH_PRO_ACCESS_TOKEN
| Name | Description | |
|---|---|---|
| PYTH_AUTH_HEADER | — | |
| PYTH_PRO_ACCESS_TOKEN | — |
Automated checks
Ran Nov 12, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work · What to fix for more points
- Source repository linked and reachablePass
- Open source license (OSI)No licenseFinding
- Commit or release in the last yearPass
- Package name not close to a popular packageNot checked
- Remote endpoint uses HTTPSPass
- Destructive tools are labelledPass
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesNot checked
README
View on GitHubPyth Pro MCP Server
MCP server that gives AI assistants access to real-time and historical market data from Pyth — 500+ price feeds across crypto, equities, FX, commodities, and more.
Hosted at https://mcp.pyth.network/mcp
Quick Start
Each snippet sends your own Pyth Pro API key as an Authorization: Bearer header, so you set it once (see Access Token).
Claude Code
claude mcp add --transport http pyth https://mcp.pyth.network/mcp --header "Authorization: Bearer YOUR_TOKEN"
This adds Pyth only to the folder you run the command in. To use it in every project, add --scope user; any project you open can then call the price tools with your key.
Claude Desktop
Claude Desktop connects to remote servers as custom connectors, which can send your key as a header only where Anthropic's request-headers beta is enabled. To set the key once on any plan, bridge with mcp-remote (needs Node.js) in claude_desktop_config.json (Claude menu bar → Settings… → Developer → Edit Config):
{
"mcpServers": {
"pyth": {
"command": "npx",
"args": ["-y", "mcp-remote@0.14.3", "https://mcp.pyth.network/mcp", "--header", "Authorization:${PYTH_AUTH_HEADER}"],
"env": { "PYTH_AUTH_HEADER": "Bearer YOUR_TOKEN" }
}
}
}
mcp-remote is a community package, not maintained by Pyth, and it handles your key; the snippet pins the version we tested.
Or add https://mcp.pyth.network/mcp as a custom connector: on Free, Pro or Max under Customize → Connectors → Add custom connector; on Team or Enterprise an Owner adds it under Organization settings → Connectors → Add → Custom, and members click Connect under Customize → Connectors. With the request-headers beta, choose No sign-in and add an authorization header Bearer YOUR_TOKEN (on Team and Enterprise plans the Owner sets it for the whole organization, so everyone shares that key); otherwise pass the key per call.
Cursor
Add to ~/.cursor/mcp.json (global, so the key stays out of your repo):
{
"mcpServers": {
"pyth": {
"url": "https://mcp.pyth.network/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}
To keep the key out of the file, write "Bearer ${env:PYTH_PRO_ACCESS_TOKEN}" and set that variable in your shell profile or system environment.
VS Code
Add to ~/.copilot/mcp-config.json, a user-level file that VS Code's chat and its Agent Host sessions both read. It holds your key in plain text, so never copy it into a repository. (VS Code's ${input:...} prompt avoids that, but Agent Host sessions do not receive .vscode/mcp.json servers that use it.)
{
"mcpServers": {
"pyth": {
"type": "http",
"url": "https://mcp.pyth.network/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" },
"tools": ["*"]
}
}
}
Other Clients
Any MCP client that supports Streamable HTTP: connect to https://mcp.pyth.network/mcp with the header Authorization: Bearer YOUR_TOKEN.
Tools
| Tool | Description | Auth Required |
|---|---|---|
get_symbols |
Search and list price feeds; filter by asset type, instrument type or futures chain | Optional (adds Pro-only feeds and an entitled flag per feed) |
get_latest_price |
Real-time prices for one or more feeds | Yes (access token) |
get_historical_price |
Point-in-time price snapshots | Yes (access token) |
get_price_range |
Every price update within a window of up to 60 seconds | Yes (access token) |
get_candlestick_data |
OHLC candlestick bars for charting and analysis | Yes (access token) |
convert_date_to_timestamp |
Convert date strings to Unix timestamps | No |
Tip: Use
get_symbolsfirst to discover available feeds. Price tools accept full symbols (Crypto.BTC/USD) or bare pairs (BTC/USD). A bare pair resolves to the live spot feed when there is one, otherwise to the only remaining match (e.g.BTC/USDT→ the Binance funding-rate feed); if several remain, the error lists them.
Access Token
Every user brings their own Pyth Pro access token. It is required for get_latest_price, get_historical_price, get_price_range and get_candlestick_data. get_symbols works without one, but with a token it also lists feeds visible only to Pro keys and marks each feed entitled: true/false (whether your token can query it right now). convert_date_to_timestamp never needs one.
- Get a token: Acquire an API key
- Give the server your token in one of three ways. A token passed on a call wins over a configured one.
- Configure it once for the hosted server: send it as an
Authorization: Bearerheader from your MCP client (see Quick Start), so your assistant does not handle it on every call. - Configure it once for a local stdio server: set
PYTH_PRO_ACCESS_TOKENin the server'senvblock in your client config (see Local stdio config). - Per call: the
access_tokentool parameter. Your assistant asks for it when no token is configured. Clients that cannot send headers (e.g. Claude Desktop custom connectors without the request-headers beta) use this.
- Configure it once for the hosted server: send it as an
- The server never has a key of its own: the hosted server ignores
PYTH_PRO_ACCESS_TOKENin its own environment and only uses the key each user sends. - A 401 means the token is invalid or expired. A 403 means the token is valid but your plan is not entitled to that feed; the error names the entitlement group required.
- Only feeds in state
stablereturn prices. Requested feeds that come back without a price (e.g.betaorcoming_soonfeeds, or a channel faster than the feed'smin_channel) are listed inmissing_feed_ids.
Example Queries
Try these with any connected AI assistant:
- "What's the current price of Bitcoin?"
- "Show me the ETH/USD price history for the last 24 hours"
- "Compare the prices of gold and silver right now"
- "Get daily candlestick data for AAPL over the past week"
- "What crypto price feeds are available on Pyth?"
- "Show every BTC/USD price update in the 30 seconds after 14:30 UTC today"
- "Which VIX futures contracts does Pyth have?"
Local Development
For contributors working on the MCP server itself.
Build
pnpm --filter @pythnetwork/mcp build
MCP Inspector
Run the inspector to interactively test tools:
npx @modelcontextprotocol/inspector --cli -- pnpm --filter @pythnetwork/mcp start:stdio:dev
Local stdio config
To connect a client to a local build via stdio:
{
"mcpServers": {
"pyth-mcp": {
"command": "node",
"args": ["<path-to-repo>/apps/mcp/dist/index.js"],
"env": { "PYTH_PRO_ACCESS_TOKEN": "YOUR_TOKEN" }
}
}
}
Environment Variables
| Variable | Default | Description |
|---|---|---|
PYTH_CHANNEL |
fixed_rate@200ms |
Default price channel: real_time, fixed_rate@50ms, fixed_rate@200ms or fixed_rate@1000ms |
PYTH_LOG_LEVEL |
info |
Log level (debug/info/warn/error) |
PYTH_REQUEST_TIMEOUT_MS |
10000 |
HTTP request timeout |
PYTH_PRO_ACCESS_TOKEN |
— | Your own token, stdio only. Ignored by the HTTP server. |
Links
Pyth Pro MCP questions
How do I add Pyth Pro MCP to Claude Code?
Run claude mcp add --transport http mcp https://mcp.pyth.network/mcp in your terminal. Add --scope user to make it available in every project.
How do I add Pyth Pro MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does Pyth Pro MCP provide?
It exposes 6 tools, including get_symbols, get_latest_price, get_historical_price, get_price_range, get_candlestick_data.
Do I need an API key to use the server?
Yes, an access token is required for most tools like getting latest, historical, or candlestick prices, though searching for symbols is optional.
How can I find out which price feeds are available?
You can use the get_symbols tool to search and list available price feeds, which can be filtered by asset or instrument type.
Can I use this with Claude Desktop?
Yes, you can connect via custom connectors or by using the mcp-remote bridge to pass your authorization header.