mcp-crypto-price 3.5.12 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -17,6 +17,10 @@ A Model Context Protocol (MCP) server that provides comprehensive cryptocurrency
17
17
  - **BREAKING**: CoinCap v2 API removed. Now uses v3 API exclusively. A `COINCAP_API_KEY` is required (free tier available at [pro.coincap.io/dashboard](https://pro.coincap.io/dashboard))
18
18
  - Streamable HTTP transport added (while keeping STDIO compatibility)
19
19
  - Smithery CLI scripts to build and run the HTTP server
20
+ - **6 new tools**: `assets.search`, `market.global`, `assets.compare`, `analysis.candlestick`, `price.convert`, `assets.info`
21
+ - **Dot-notation tool naming**: All tools organized into a navigable tree (`price.*`, `market.*`, `assets.*`, `analysis.*`)
22
+ - **Output schemas**: All tools now declare `outputSchema` with `structuredContent` for type-safe responses
23
+ - **MCP best practices**: `isError` flag on validation errors, server description, and `asset://{symbol}` resource template
20
24
 
21
25
  ## Usage
22
26
 
@@ -58,14 +62,15 @@ If your MCP client requires launching via `cmd.exe` on Windows:
58
62
  ### Development scripts
59
63
 
60
64
  ```bash
61
- npm run build # Compile TypeScript dist/
62
- npm run format # Format source files with Prettier
63
- npm run lint # Check for lint errors (ESLint + typescript-eslint)
64
- npm run lint:fix # Auto-fix lint errors
65
- npm run types:check # TypeScript type-check without emitting files
66
- npm test # Run all tests
67
- npm run test:coverage # Run tests with coverage report
68
- npm run inspector # Open MCP inspector for interactive debugging
65
+ pnpm dev # Development (HTTP server with hot reload via Smithery CLI)
66
+ pnpm build # Compile TypeScript dist/
67
+ pnpm format # Format source files with Prettier
68
+ pnpm lint # Check for lint errors (ESLint + typescript-eslint)
69
+ pnpm lint:fix # Auto-fix lint errors
70
+ pnpm types:check # TypeScript type-check without emitting files
71
+ pnpm test # Run all tests with Vitest
72
+ pnpm test:coverage # Run tests with coverage report (Vitest)
73
+ pnpm inspector # Open MCP inspector for interactive debugging
69
74
  ```
70
75
 
71
76
  ### Run as Streamable HTTP server
@@ -75,27 +80,27 @@ You can run the server over HTTP for environments that support MCP over HTTP str
75
80
  - Dev server (recommended during development):
76
81
 
77
82
  ```bash
78
- npm run dev
83
+ pnpm dev
79
84
  ```
80
85
 
81
86
  - Build and run the HTTP server:
82
87
 
83
88
  ```bash
84
89
  # Build (outputs to dist/)
85
- npm run build
90
+ pnpm build
86
91
 
87
92
  # Start the HTTP server
88
- npm run start:http
93
+ pnpm start:http
89
94
  ```
90
95
 
91
96
  - Build and run the STDIO server:
92
97
 
93
98
  ```bash
94
99
  # Build (outputs to dist/)
95
- npm run build
100
+ pnpm build
96
101
 
97
102
  # Start the STDIO server
98
- npm run start:stdio
103
+ pnpm start:stdio
99
104
  ```
100
105
 
101
106
  The server listens on port 3000 by default (override with `PORT`). For clients that connect over HTTP (e.g. Smithery, Claude.ai), pass your API key as a query parameter:
@@ -123,7 +128,7 @@ Without a valid API key, all tools will return an error with instructions on how
123
128
 
124
129
  ## Note for Smithery CLI users
125
130
 
126
- This MCP server works directly via `npx` (configs above) and does not require Smithery.
131
+ This MCP server works directly via `pnpm dlx` (configs above) and does not require Smithery.
127
132
 
128
133
  If you do use the Smithery CLI, authenticate with `smithery auth login` or by setting `SMITHERY_API_KEY` in your environment. Recent versions of the Smithery CLI do not support passing API keys via `--key` (or older `--profile` patterns).
129
134
 
@@ -131,7 +136,7 @@ Launch Claude Desktop to start using the crypto analysis tools.
131
136
 
132
137
  ## Tools
133
138
 
134
- #### get-crypto-price
139
+ #### price.get
135
140
 
136
141
  Gets current price and 24h stats for any cryptocurrency, including:
137
142
  - Current price in USD
@@ -140,7 +145,14 @@ Gets current price and 24h stats for any cryptocurrency, including:
140
145
  - Market cap
141
146
  - Market rank
142
147
 
143
- #### get-market-analysis
148
+ #### price.convert
149
+
150
+ Converts a cryptocurrency amount into any fiat currency:
151
+ - Uses real-time price data and USD-based exchange rates
152
+ - Parameters: `symbol` (e.g. `BTC`), `amount` (default 1), `currency` (default `usd`)
153
+ - Example: 2.5 BTC in EUR
154
+
155
+ #### market.analysis
144
156
 
145
157
  Provides detailed market analysis including:
146
158
  - Top 5 exchanges by volume
@@ -148,16 +160,31 @@ Provides detailed market analysis including:
148
160
  - Volume distribution analysis
149
161
  - VWAP (Volume Weighted Average Price)
150
162
 
151
- #### get-historical-analysis
163
+ #### market.global
152
164
 
153
- Analyzes historical price data with:
154
- - Customizable time intervals (5min to 1 day)
155
- - Support for up to 30 days of historical data
156
- - Price trend analysis
157
- - Volatility metrics
158
- - High/low price ranges
165
+ Provides an overview of the entire cryptocurrency market:
166
+ - Total market capitalization across all assets
167
+ - 24-hour trading volume
168
+ - Number of active cryptocurrencies
169
+ - Bitcoin dominance percentage
170
+ - Top gainers and losers
171
+
172
+ #### market.rates
173
+
174
+ Returns USD-based conversion rates for fiat currencies and cryptocurrencies:
175
+ - All fiat currency rates (USD base)
176
+ - Top 10 cryptocurrency rates
177
+ - Optional `slug` parameter (e.g. `euro`, `bitcoin`) for a single rate lookup
178
+
179
+ #### market.exchanges
159
180
 
160
- #### get-top-assets
181
+ Lists top cryptocurrency exchanges ranked by 24h volume:
182
+ - Exchange name, rank, and 24h volume in USD
183
+ - Number of trading pairs and market share percentage
184
+ - Optional `exchangeId` parameter (e.g. `binance`) for single exchange details
185
+ - Optional `limit` parameter (1–50, default 10)
186
+
187
+ #### assets.top
161
188
 
162
189
  Lists top cryptocurrencies ranked by market cap, including:
163
190
  - Current price in USD
@@ -165,7 +192,38 @@ Lists top cryptocurrencies ranked by market cap, including:
165
192
  - Market cap and rank
166
193
  - Configurable result count (1–50, default 10)
167
194
 
168
- #### get-technical-analysis
195
+ #### assets.search
196
+
197
+ Searches for cryptocurrencies by name or symbol with fuzzy matching:
198
+ - Returns matching assets with symbol, name, price, and rank
199
+ - Configurable result count (1–50, default 10)
200
+ - Example: search "bit" returns Bitcoin, Bitcoin Cash, BitTorrent, etc.
201
+
202
+ #### assets.info
203
+
204
+ Returns detailed metadata for a single cryptocurrency:
205
+ - ID, rank, symbol, and name
206
+ - Price, 24h change, market cap, and volume
207
+ - Circulating supply and max supply
208
+ - VWAP (24h)
209
+
210
+ #### assets.compare
211
+
212
+ Compares 2–5 cryptocurrencies side by side:
213
+ - Price, 24h change, market cap, volume, and rank for each asset
214
+ - Comma-separated symbols (e.g. `BTC,ETH,SOL`)
215
+ - Highlights best performer by 24h change
216
+
217
+ #### analysis.historical
218
+
219
+ Analyzes historical price data with:
220
+ - Customizable time intervals (5min to 1 day)
221
+ - Support for up to 30 days of historical data
222
+ - Price trend analysis
223
+ - Volatility metrics
224
+ - High/low price ranges
225
+
226
+ #### analysis.technical
169
227
 
170
228
  Returns the latest technical indicators for any cryptocurrency:
171
229
  - SMA (Simple Moving Average) with period
@@ -174,20 +232,33 @@ Returns the latest technical indicators for any cryptocurrency:
174
232
  - MACD with signal line, histogram, and Bullish/Bearish label
175
233
  - VWAP (Volume Weighted Average Price, 24h)
176
234
 
177
- #### get-rates
235
+ #### analysis.candlestick
178
236
 
179
- Returns USD-based conversion rates for fiat currencies and cryptocurrencies:
180
- - All fiat currency rates (USD base)
181
- - Top 10 cryptocurrency rates
182
- - Optional `slug` parameter (e.g. `euro`, `bitcoin`) for a single rate lookup
237
+ Retrieves OHLCV candlestick data from a specific exchange:
238
+ - Open, high, low, close, and volume for each candle
239
+ - Configurable exchange (e.g. `binance`), quote currency (e.g. `usd`), and interval (`5m`, `15m`, `1h`, `6h`, `1d`)
240
+ - Supports 1–30 days of historical candles
183
241
 
184
- #### get-exchanges
242
+ ## Resources
185
243
 
186
- Lists top cryptocurrency exchanges ranked by 24h volume:
187
- - Exchange name, rank, and 24h volume in USD
188
- - Number of trading pairs and market share percentage
189
- - Optional `exchangeId` parameter (e.g. `binance`) for single exchange details
190
- - Optional `limit` parameter (1–50, default 10)
244
+ The server exposes the following MCP resources:
245
+
246
+ - **`info://server`** Server name and version metadata
247
+ - **`asset://{symbol}`** Cryptocurrency asset information by symbol (e.g. `asset://BTC`), returned as JSON
248
+
249
+ ## Prompts
250
+
251
+ The server exposes the following MCP prompts that clients can invoke:
252
+
253
+ | Prompt | Args | Description |
254
+ |--------|------|-------------|
255
+ | `analyze-crypto` | `symbol` | Comprehensive analysis: price, market, historical trends |
256
+ | `compare-cryptocurrencies` | `symbols` | Compare 2-5 cryptos side-by-side |
257
+ | `market-overview` | — | Global market snapshot: metrics, top assets, top exchanges |
258
+ | `crypto-conversion` | `symbol`, `amount?`, `currency?` | Convert crypto amount to fiat |
259
+ | `exchange-analysis` | `symbol` | Exchange landscape analysis for a crypto |
260
+ | `technical-analysis` | `symbol` | Full technical analysis: indicators, candles, trends |
261
+ | `crypto-screener` | `query` | Search and screen cryptos for opportunities |
191
262
 
192
263
  ## Sample Prompts
193
264
 
@@ -199,10 +270,24 @@ Lists top cryptocurrency exchanges ranked by 24h volume:
199
270
  - "What are the technical indicators for ETH right now?"
200
271
  - "What's the current EUR to USD exchange rate?"
201
272
  - "Which crypto exchanges have the highest 24h volume?"
202
-
203
- ## Project Inspiration
204
-
205
- This project was inspired by Alex Andru's [coincap-mcp](https://github.com/QuantGeekDev/coincap-mcp) project.
273
+ - "Search for cryptocurrencies matching 'sol'"
274
+ - "Give me a global overview of the crypto market"
275
+ - "Compare BTC, ETH, and SOL side by side"
276
+ - "Show me 1-hour candlestick data for BTC on Binance over the last 3 days"
277
+ - "Convert 2.5 BTC to EUR"
278
+ - "Get detailed info about the Ethereum asset"
279
+ - "Generate a comprehensive analysis of a cryptocurrency covering price, market, and historical trends"
280
+ - "Find all cryptocurrencies with 'bit' in their name and show me their current prices"
281
+ - "What's the market cap ranking and circulating supply of Cardano?"
282
+ - "Compare the top 3 stablecoins and show which has the highest volume"
283
+ - "Show me how Bitcoin has performed over the past 30 days with daily candles"
284
+ - "Convert 100 SOL to GBP and show the exchange rate"
285
+ - "Give me a full market snapshot: global metrics, top gainers, and BTC dominance"
286
+ - "What are the best and worst performing cryptos in the last 24 hours?"
287
+ - "Show me 15-minute candlestick data for ETH on Coinbase over the last 2 days"
288
+ - "Compare DeFi tokens: UNI, AAVE, COMP, and MKR"
289
+ - "What's the VWAP and max supply of Bitcoin?"
290
+ - "Search for layer-2 tokens and compare the top results"
206
291
 
207
292
  ## License
208
293
 
package/dist/homepage.js CHANGED
@@ -290,7 +290,7 @@ export function renderHomepage() {
290
290
  </div>
291
291
  <div class="metric">
292
292
  <strong>CLI example</strong>
293
- <code>npx @smithery/cli install mcp-crypto-price --client claude</code>
293
+ <code>pnpm dlx @smithery/cli install mcp-crypto-price --client claude</code>
294
294
  </div>
295
295
  <div class="metric">
296
296
  <strong>Remote endpoint</strong>