mcp-crypto-price 4.0.0 → 5.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,8 +17,8 @@ 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.*`)
20
+ - **6 new tools**: `assets-search`, `market-global`, `assets-compare`, `analysis-candlestick`, `price-convert`, `assets-info`
21
+ - **Hierarchical tool naming**: All tools organized into category-prefixed names (`price-*`, `market-*`, `assets-*`, `analysis-*`)
22
22
  - **Output schemas**: All tools now declare `outputSchema` with `structuredContent` for type-safe responses
23
23
  - **MCP best practices**: `isError` flag on validation errors, server description, and `asset://{symbol}` resource template
24
24
 
@@ -136,7 +136,7 @@ Launch Claude Desktop to start using the crypto analysis tools.
136
136
 
137
137
  ## Tools
138
138
 
139
- #### price.get
139
+ #### price-get
140
140
 
141
141
  Gets current price and 24h stats for any cryptocurrency, including:
142
142
  - Current price in USD
@@ -145,14 +145,14 @@ Gets current price and 24h stats for any cryptocurrency, including:
145
145
  - Market cap
146
146
  - Market rank
147
147
 
148
- #### price.convert
148
+ #### price-convert
149
149
 
150
150
  Converts a cryptocurrency amount into any fiat currency:
151
151
  - Uses real-time price data and USD-based exchange rates
152
152
  - Parameters: `symbol` (e.g. `BTC`), `amount` (default 1), `currency` (default `usd`)
153
153
  - Example: 2.5 BTC in EUR
154
154
 
155
- #### market.analysis
155
+ #### market-analysis
156
156
 
157
157
  Provides detailed market analysis including:
158
158
  - Top 5 exchanges by volume
@@ -160,7 +160,7 @@ Provides detailed market analysis including:
160
160
  - Volume distribution analysis
161
161
  - VWAP (Volume Weighted Average Price)
162
162
 
163
- #### market.global
163
+ #### market-global
164
164
 
165
165
  Provides an overview of the entire cryptocurrency market:
166
166
  - Total market capitalization across all assets
@@ -169,14 +169,14 @@ Provides an overview of the entire cryptocurrency market:
169
169
  - Bitcoin dominance percentage
170
170
  - Top gainers and losers
171
171
 
172
- #### market.rates
172
+ #### market-rates
173
173
 
174
174
  Returns USD-based conversion rates for fiat currencies and cryptocurrencies:
175
175
  - All fiat currency rates (USD base)
176
176
  - Top 10 cryptocurrency rates
177
177
  - Optional `slug` parameter (e.g. `euro`, `bitcoin`) for a single rate lookup
178
178
 
179
- #### market.exchanges
179
+ #### market-exchanges
180
180
 
181
181
  Lists top cryptocurrency exchanges ranked by 24h volume:
182
182
  - Exchange name, rank, and 24h volume in USD
@@ -184,7 +184,7 @@ Lists top cryptocurrency exchanges ranked by 24h volume:
184
184
  - Optional `exchangeId` parameter (e.g. `binance`) for single exchange details
185
185
  - Optional `limit` parameter (1–50, default 10)
186
186
 
187
- #### assets.top
187
+ #### assets-top
188
188
 
189
189
  Lists top cryptocurrencies ranked by market cap, including:
190
190
  - Current price in USD
@@ -192,14 +192,14 @@ Lists top cryptocurrencies ranked by market cap, including:
192
192
  - Market cap and rank
193
193
  - Configurable result count (1–50, default 10)
194
194
 
195
- #### assets.search
195
+ #### assets-search
196
196
 
197
197
  Searches for cryptocurrencies by name or symbol with fuzzy matching:
198
198
  - Returns matching assets with symbol, name, price, and rank
199
199
  - Configurable result count (1–50, default 10)
200
200
  - Example: search "bit" returns Bitcoin, Bitcoin Cash, BitTorrent, etc.
201
201
 
202
- #### assets.info
202
+ #### assets-info
203
203
 
204
204
  Returns detailed metadata for a single cryptocurrency:
205
205
  - ID, rank, symbol, and name
@@ -207,14 +207,14 @@ Returns detailed metadata for a single cryptocurrency:
207
207
  - Circulating supply and max supply
208
208
  - VWAP (24h)
209
209
 
210
- #### assets.compare
210
+ #### assets-compare
211
211
 
212
212
  Compares 2–5 cryptocurrencies side by side:
213
213
  - Price, 24h change, market cap, volume, and rank for each asset
214
214
  - Comma-separated symbols (e.g. `BTC,ETH,SOL`)
215
215
  - Highlights best performer by 24h change
216
216
 
217
- #### analysis.historical
217
+ #### analysis-historical
218
218
 
219
219
  Analyzes historical price data with:
220
220
  - Customizable time intervals (5min to 1 day)
@@ -223,7 +223,7 @@ Analyzes historical price data with:
223
223
  - Volatility metrics
224
224
  - High/low price ranges
225
225
 
226
- #### analysis.technical
226
+ #### analysis-technical
227
227
 
228
228
  Returns the latest technical indicators for any cryptocurrency:
229
229
  - SMA (Simple Moving Average) with period
@@ -232,7 +232,7 @@ Returns the latest technical indicators for any cryptocurrency:
232
232
  - MACD with signal line, histogram, and Bullish/Bearish label
233
233
  - VWAP (Volume Weighted Average Price, 24h)
234
234
 
235
- #### analysis.candlestick
235
+ #### analysis-candlestick
236
236
 
237
237
  Retrieves OHLCV candlestick data from a specific exchange:
238
238
  - Open, high, low, close, and volume for each candle
package/dist/http.js CHANGED
@@ -39,7 +39,7 @@ const serverCard = {
39
39
  },
40
40
  tools: [
41
41
  {
42
- name: 'price.get',
42
+ name: 'price-get',
43
43
  description: 'Get current price and 24h stats for a cryptocurrency',
44
44
  inputSchema: {
45
45
  type: 'object',
@@ -81,7 +81,7 @@ const serverCard = {
81
81
  },
82
82
  },
83
83
  {
84
- name: 'market.analysis',
84
+ name: 'market-analysis',
85
85
  description: 'Get detailed market analysis including top exchanges and volume distribution',
86
86
  inputSchema: {
87
87
  type: 'object',
@@ -138,7 +138,7 @@ const serverCard = {
138
138
  },
139
139
  },
140
140
  {
141
- name: 'analysis.historical',
141
+ name: 'analysis-historical',
142
142
  description: 'Get historical price analysis with customizable timeframe',
143
143
  inputSchema: {
144
144
  type: 'object',
@@ -197,7 +197,7 @@ const serverCard = {
197
197
  },
198
198
  },
199
199
  {
200
- name: 'assets.top',
200
+ name: 'assets-top',
201
201
  description: 'Get top cryptocurrencies ranked by market cap',
202
202
  inputSchema: {
203
203
  type: 'object',
@@ -250,7 +250,7 @@ const serverCard = {
250
250
  },
251
251
  },
252
252
  {
253
- name: 'analysis.technical',
253
+ name: 'analysis-technical',
254
254
  description: 'Get the latest technical indicators for a cryptocurrency including SMA, EMA, RSI, MACD, and VWAP',
255
255
  inputSchema: {
256
256
  type: 'object',
@@ -326,7 +326,7 @@ const serverCard = {
326
326
  },
327
327
  },
328
328
  {
329
- name: 'market.rates',
329
+ name: 'market-rates',
330
330
  description: "Get USD-based conversion rates for fiat currencies and cryptocurrencies. Optionally pass a slug (e.g. 'euro', 'us-dollar', 'bitcoin') to look up a single rate.",
331
331
  inputSchema: {
332
332
  type: 'object',
@@ -366,7 +366,7 @@ const serverCard = {
366
366
  },
367
367
  },
368
368
  {
369
- name: 'market.exchanges',
369
+ name: 'market-exchanges',
370
370
  description: "Get top cryptocurrency exchanges ranked by 24h volume. Optionally pass an exchangeId (e.g. 'binance', 'coinbase') to get details for a specific exchange.",
371
371
  inputSchema: {
372
372
  type: 'object',
@@ -423,7 +423,7 @@ const serverCard = {
423
423
  },
424
424
  },
425
425
  {
426
- name: 'assets.search',
426
+ name: 'assets-search',
427
427
  description: 'Search for cryptocurrencies by name, symbol, or partial match. Returns multiple matching assets with their ID, name, symbol, rank, and current price.',
428
428
  inputSchema: {
429
429
  type: 'object',
@@ -471,7 +471,7 @@ const serverCard = {
471
471
  },
472
472
  },
473
473
  {
474
- name: 'market.global',
474
+ name: 'market-global',
475
475
  description: 'Get a global overview of the cryptocurrency market including total market capitalization, 24-hour trading volume, Bitcoin dominance percentage, and the number of active cryptocurrencies.',
476
476
  inputSchema: {
477
477
  type: 'object',
@@ -500,7 +500,7 @@ const serverCard = {
500
500
  },
501
501
  },
502
502
  {
503
- name: 'assets.compare',
503
+ name: 'assets-compare',
504
504
  description: 'Compare 2-5 cryptocurrencies side-by-side including price, 24h change, volume, market cap, and rank. Pass symbols as a comma-separated list (e.g. "BTC,ETH,SOL").',
505
505
  inputSchema: {
506
506
  type: 'object',
@@ -555,7 +555,7 @@ const serverCard = {
555
555
  },
556
556
  },
557
557
  {
558
- name: 'analysis.candlestick',
558
+ name: 'analysis-candlestick',
559
559
  description: 'Get OHLCV candlestick data for a cryptocurrency from a specific exchange. Useful for charting and technical analysis.',
560
560
  inputSchema: {
561
561
  type: 'object',
@@ -623,7 +623,7 @@ const serverCard = {
623
623
  },
624
624
  },
625
625
  {
626
- name: 'price.convert',
626
+ name: 'price-convert',
627
627
  description: 'Convert a cryptocurrency amount to any fiat currency (e.g. USD, EUR, JPY). Uses real-time exchange rates for accurate conversions.',
628
628
  inputSchema: {
629
629
  type: 'object',
@@ -673,7 +673,7 @@ const serverCard = {
673
673
  },
674
674
  },
675
675
  {
676
- name: 'assets.info',
676
+ name: 'assets-info',
677
677
  description: 'Get detailed metadata for a cryptocurrency including ID, rank, supply, max supply, VWAP, market cap, and 24h volume.',
678
678
  inputSchema: {
679
679
  type: 'object',
package/dist/index.js CHANGED
@@ -37,7 +37,7 @@ export function createServer({ config, }) {
37
37
  },
38
38
  ],
39
39
  });
40
- server.registerTool('price.get', {
40
+ server.registerTool('price-get', {
41
41
  title: 'Get Crypto Price',
42
42
  description: 'Get real-time price, 24-hour change percentage, trading volume, and market cap for any cryptocurrency by symbol or name.',
43
43
  inputSchema: GetPriceArgumentsSchema.shape,
@@ -53,7 +53,7 @@ export function createServer({ config, }) {
53
53
  const result = await handleGetPrice(args);
54
54
  return result;
55
55
  });
56
- server.registerTool('market.analysis', {
56
+ server.registerTool('market-analysis', {
57
57
  title: 'Get Market Analysis',
58
58
  description: 'Get detailed market analysis for a cryptocurrency including the top 5 exchanges by volume, price per exchange, and volume distribution percentages.',
59
59
  inputSchema: GetMarketAnalysisSchema.shape,
@@ -69,7 +69,7 @@ export function createServer({ config, }) {
69
69
  const result = await handleGetMarketAnalysis(args);
70
70
  return result;
71
71
  });
72
- server.registerTool('analysis.historical', {
72
+ server.registerTool('analysis-historical', {
73
73
  title: 'Get Historical Analysis',
74
74
  description: 'Get historical price data for a cryptocurrency with trend analysis including period high/low, price change percentage, and volatility metrics over a customizable timeframe.',
75
75
  inputSchema: GetHistoricalAnalysisSchema.shape,
@@ -85,7 +85,7 @@ export function createServer({ config, }) {
85
85
  const result = await handleGetHistoricalAnalysis(args);
86
86
  return result;
87
87
  });
88
- server.registerTool('assets.top', {
88
+ server.registerTool('assets-top', {
89
89
  title: 'Get Top Assets',
90
90
  description: 'Get the top cryptocurrencies ranked by market cap, with real-time price, 24-hour change percentage, and market cap for each asset.',
91
91
  inputSchema: GetTopAssetsSchema.shape,
@@ -101,7 +101,7 @@ export function createServer({ config, }) {
101
101
  const result = await handleGetTopAssets(args);
102
102
  return result;
103
103
  });
104
- server.registerTool('analysis.technical', {
104
+ server.registerTool('analysis-technical', {
105
105
  title: 'Get Technical Analysis',
106
106
  description: 'Get the latest technical indicators for a cryptocurrency including SMA, EMA, RSI, MACD, and VWAP to assess momentum, trend direction, and overbought/oversold conditions.',
107
107
  inputSchema: GetTechnicalAnalysisSchema.shape,
@@ -117,7 +117,7 @@ export function createServer({ config, }) {
117
117
  const result = await handleGetTechnicalAnalysis(args);
118
118
  return result;
119
119
  });
120
- server.registerTool('market.rates', {
120
+ server.registerTool('market-rates', {
121
121
  title: 'Get Currency Rates',
122
122
  description: "Get USD-based conversion rates for fiat currencies and cryptocurrencies. Optionally pass a slug (e.g. 'euro', 'us-dollar', 'bitcoin') to look up a single rate.",
123
123
  inputSchema: GetRatesSchema.shape,
@@ -133,7 +133,7 @@ export function createServer({ config, }) {
133
133
  const result = await handleGetRates(args);
134
134
  return result;
135
135
  });
136
- server.registerTool('market.exchanges', {
136
+ server.registerTool('market-exchanges', {
137
137
  title: 'Get Exchanges',
138
138
  description: "Get top cryptocurrency exchanges ranked by 24h volume. Optionally pass an exchangeId (e.g. 'binance', 'coinbase') to get details for a specific exchange including volume, trading pairs, and market share.",
139
139
  inputSchema: GetExchangesSchema.shape,
@@ -149,7 +149,7 @@ export function createServer({ config, }) {
149
149
  const result = await handleGetExchanges(args);
150
150
  return result;
151
151
  });
152
- server.registerTool('assets.search', {
152
+ server.registerTool('assets-search', {
153
153
  title: 'Search Crypto Assets',
154
154
  description: 'Search for cryptocurrencies by name, symbol, or partial match. Returns multiple matching assets with their ID, name, symbol, rank, and current price.',
155
155
  inputSchema: SearchAssetsSchema.shape,
@@ -165,7 +165,7 @@ export function createServer({ config, }) {
165
165
  const result = await handleSearchAssets(args);
166
166
  return result;
167
167
  });
168
- server.registerTool('market.global', {
168
+ server.registerTool('market-global', {
169
169
  title: 'Get Global Metrics',
170
170
  description: 'Get a global overview of the cryptocurrency market including total market capitalization, 24-hour trading volume, Bitcoin dominance percentage, and the number of active cryptocurrencies.',
171
171
  inputSchema: GetGlobalMetricsSchema.shape,
@@ -181,7 +181,7 @@ export function createServer({ config, }) {
181
181
  const result = await handleGetGlobalMetrics(args);
182
182
  return result;
183
183
  });
184
- server.registerTool('assets.compare', {
184
+ server.registerTool('assets-compare', {
185
185
  title: 'Compare Cryptocurrencies',
186
186
  description: 'Compare 2-5 cryptocurrencies side-by-side including price, 24h change, volume, market cap, and rank. Pass symbols as a comma-separated list (e.g. "BTC,ETH,SOL").',
187
187
  inputSchema: CompareCryptoSchema.shape,
@@ -197,7 +197,7 @@ export function createServer({ config, }) {
197
197
  const result = await handleCompareCrypto(args);
198
198
  return result;
199
199
  });
200
- server.registerTool('analysis.candlestick', {
200
+ server.registerTool('analysis-candlestick', {
201
201
  title: 'Get Candlestick Data',
202
202
  description: 'Get OHLCV candlestick data for a cryptocurrency from a specific exchange. Useful for charting and technical analysis.',
203
203
  inputSchema: GetCandlestickDataSchema.shape,
@@ -213,7 +213,7 @@ export function createServer({ config, }) {
213
213
  const result = await handleGetCandlestickData(args);
214
214
  return result;
215
215
  });
216
- server.registerTool('price.convert', {
216
+ server.registerTool('price-convert', {
217
217
  title: 'Get Price Conversion',
218
218
  description: 'Convert a cryptocurrency amount to any fiat currency (e.g. USD, EUR, JPY). Uses real-time exchange rates for accurate conversions.',
219
219
  inputSchema: GetPriceConversionSchema.shape,
@@ -229,7 +229,7 @@ export function createServer({ config, }) {
229
229
  const result = await handleGetPriceConversion(args);
230
230
  return result;
231
231
  });
232
- server.registerTool('assets.info', {
232
+ server.registerTool('assets-info', {
233
233
  title: 'Get Asset Info',
234
234
  description: 'Get detailed metadata for a cryptocurrency including ID, rank, supply, max supply, VWAP, market cap, and 24h volume.',
235
235
  inputSchema: GetAssetInfoSchema.shape,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-crypto-price",
3
- "version": "4.0.0",
3
+ "version": "5.0.0",
4
4
  "description": "A Model Context Protocol (MCP) server that provides real-time cryptocurrency data and analysis through CoinCap's API. Features include price tracking, market analysis, and historical trends.",
5
5
  "license": "MIT",
6
6
  "author": {