Reported issues for truss44-mcp-crypto-price
Pod holds 19 of 23 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to truss44-mcp-crypto-price.
Most discussed
Add homepage landing page for MCP crypto tool
Create a dedicated homepage at for the MCP crypto price server.
Scope
- Serve a single-page landing page from the root route
- Keep the homepage in a separate module so stays focused on routing
- Highlight MCP tool features, install/use guidance, Smithery, GitHub, CoinCap, and the project logo
- Include creator attribution in the footer
Notes
- The page should remain a static HTML response
- The MCP protocol routes and discovery metadata should continue to work unchanged
- CoinCap refe
Read the thread · 2026-03-24 · closed · 2 comments
fix: HTTP server 404 and API key not applied when connecting with query parameters
Bug Report
Problem
When connecting to the MCP HTTP server and providing a COINCAP_API_KEY via query parameter (e.g. /mcp?coincapApiKey=xxx), two bugs cause the connection to fail with a 404.
Root Causes
Bug 1 — URL route matching breaks with query parameters
In src/http.ts, routes are matched against req.url directly:
if (req.url === '/mcp' || req.url === '/') {
req.url includes the full query string, so /mcp?coincapApiKey=xxx never equals '/mcp'. Th
Read the thread · 2026-03-21 · closed · 2 comments
Feature: support asset lookup by name in addition to symbol
Summary
Allow users to look up cryptocurrencies by their full name (e.g., "Bitcoin", "Ethereum") in addition to their ticker symbol (e.g., "BTC", "ETH").
Motivation
Users interacting through natural language often say "what's the price of Bitcoin?" rather than "what's the price of BTC?". Currently, passing "Bitcoin" as the symbol argument returns "Could not find cryptocurrency with symbol BITCOIN" because the lookup does an exact match against the ticker field.
Proposed change
Read the thread · 2026-03-21 · closed · 2 comments
Feature: add get-top-assets tool to list top coins by market cap
Summary
Add a new MCP tool get-top-assets that returns the top N cryptocurrencies ranked by market cap, without requiring the user to already know a symbol.
Motivation
Currently all three tools require the user to know a specific coin symbol upfront. There's no discovery mechanism — a user can't ask "what are the top 10 coins right now?" without already knowing what to look for. This is a common first question when doing crypto research.
Proposed tool spec
Tool name: `get-top
Read the thread · 2026-03-21 · closed · 2 comments
Improvement: validate v3 API response shape before caching
Problem
makeCoinCapRequest casts the v3 API response directly to the expected type without any validation:
const data = await v3Response.json() as T;
setCacheData(cacheKey, data);
return data;
CoinCap v3 (rest.coincap.io/v3) is a distinct API version that may return a different JSON schema than v2 (api.coincap.io/v2). For example, v3 may wrap responses differently, rename fields, or change data types. If the shapes differ, the mismatch will propagate silently — the response
Read the thread · 2026-03-21 · closed · 2 comments
Bug: SERVER_CONFIG.version is hardcoded and out of sync
Problem
src/config/index.ts hardcodes the server version:
export const SERVER_CONFIG = {
name: "mcp-crypto-price",
version: "2.1.0", // hardcoded
} as const;
The current package.json version is 2.1.5. The MCP server advertises 2.1.0 to clients during the initialize handshake, which is stale and will continue drifting further with every release.
Suggested Fix
Import the version from package.json at build time instead of hardcoding it:
import { createRe
[Read the thread](https://github.com/truss44/mcp-crypto-price/issues/117) · 2026-03-21 · closed · 2 comments
### Improvement: add unit tests for tool handlers
## Problem
The test suite covers `src/services/coincap.ts` and `src/services/formatters.ts`, but there are no tests for the three tool handler functions:
- `handleGetPrice` (`src/tools/price.ts`)
- `handleGetMarketAnalysis` (`src/tools/market.ts`)
- `handleGetHistoricalAnalysis` (`src/tools/historical.ts`)
The handlers contain meaningful logic: symbol lookup, null-checking API results, error formatting, and Zod schema parsing. These paths are currently untested.
## What to test
- Valid symb
[Read the thread](https://github.com/truss44/mcp-crypto-price/issues/119) · 2026-03-21 · closed · 2 comments
### Bug: asset lookup fails for coins outside top 100
## Problem
All three tool handlers look up a coin by calling `getAssets()` and filtering the result by symbol:
```ts
// src/tools/price.ts (and market.ts, historical.ts)
const assetsData = await getAssets();
const asset = assetsData.data.find(
(a) => a.symbol.toUpperCase() === upperSymbol
);
The CoinCap /assets endpoint defaults to returning only the top 100 assets by market cap (limit=100). Any coin ranked below #100 will not appear in the response, causing the tool to return:
Read the thread · 2026-03-21 · closed · 2 comments
Most recent
MCP best-practice fixes: isError on validation, server description, resource templates
Feature Request
Apply MCP 2025-11-25 spec best practices that are currently missing.
1. isError on validation errors (SEP-1303)
Input validation errors should be returned as tool execution errors with isError: true rather than throwing protocol errors. This enables model self-correction.
2. Server description field
The spec now supports an optional description on server info during initialization. Add a brief description to the McpServer constructor.
3. Resource template
Read the thread · 2026-07-02 · closed · 1 comment
Add get-asset-info tool for detailed asset metadata
Feature Request
Add a new get-asset-info MCP tool that returns full asset details including supply, max supply, VWAP, change percentages, and asset ID.
Current State
The get-crypto-price tool returns a formatted summary but omits supply, maxSupply, and the asset ID (which users need for other calls).
Proposed Tool
- Name:
get-asset-info - Input:
symbol(string) — cryptocurrency symbol or name - Output: Full asset metadata: id, name, symbol, rank, price, supply,
Read the thread · 2026-07-02 · closed · 0 comments
Add get-price-conversion tool for multi-currency price conversion
Feature Request
Add a new get-price-conversion MCP tool that converts any cryptocurrency price to a user-specified fiat or crypto currency (EUR, GBP, JPY, BTC, ETH, etc.).
Current State
All prices are returned in USD only. The get-rates tool returns conversion rates but users must manually compute converted prices.
Proposed Tool
- Name:
get-price-conversion - Input:
symbol(string) — crypto to convert,currency(string) — target currency symbol - Output: Price
Read the thread · 2026-07-02 · closed · 0 comments
Add get-candlestick-data tool for OHLCV candle data
Feature Request
Add a new get-candlestick-data MCP tool that returns open/high/low/close/volume candles for a given exchange pair and interval.
Current State
The get-historical-analysis tool only returns price points, not full OHLCV candles. CoinCap has a /candles endpoint that is not currently used.
Proposed Tool
- Name:
get-candlestick-data - Input:
exchange(string),baseId(string),quoteId(string),interval(enum),days(number, 1-30) - Output: O
Read the thread · 2026-07-02 · closed · 0 comments
Add compare-crypto tool for side-by-side cryptocurrency comparison
Feature Request
Add a new compare-crypto MCP tool that compares price, 24h change, volume, market cap, and rank for 2-5 cryptocurrencies in a single call.
Current State
Users must call get-crypto-price multiple times and manually compare results.
Proposed Tool
- Name:
compare-crypto - Input:
symbols(string) — comma-separated list of 2-5 symbols - Output: Comparison table with price, 24h change, volume, market cap, rank
- Breaking changes: None — new tool on
Read the thread · 2026-07-02 · closed · 0 comments
Add get-global-metrics tool for overall crypto market overview
Feature Request
Add a new get-global-metrics MCP tool that returns total market cap, 24h volume, BTC dominance, and number of active cryptocurrencies.
Current State
No global market overview tool exists. Users can only query individual assets.
Proposed Tool
- Name:
get-global-metrics - Input: None
- Output: Total market cap, total 24h volume, BTC dominance %, active asset count
- Breaking changes: None — new tool only
Why
CoinMarketCap has `get_global_metri
Read the thread · 2026-07-02 · closed · 0 comments
Add search-assets tool for fuzzy cryptocurrency search
Feature Request
Add a new search-assets MCP tool that allows users to fuzzy search for cryptocurrencies by name, symbol, or partial match.
Current State
The searchAsset function exists internally in src/services/coincap.ts but is not exposed as a public tool. Users can only get price info for a single matched asset.
Proposed Tool
- Name:
search-assets - Input:
query(string) — search by name, symbol, or partial match - Output: Multiple matching assets with id,
Read the thread · 2026-07-02 · closed · 0 comments
Add MCP tool annotations and parameter descriptions to HTTP discovery
This issue tracks improvements to the MCP server metadata for better client discovery and usability.
Changes
Tool Annotations
Added MCP tool annotations to all tools in the HTTP discovery server card (src/http.ts):
get-crypto-priceget-market-analysisget-historical-analysisget-top-assets
Each tool now includes:
title: Human-readable titlereadOnlyHint: true (tools only read data)destructiveHint: false (no destructive operations)idempotentHint: true
Read the thread · 2026-03-23 · closed · 1 comment
fix: CoinCap v3 API schema drift breaks all tools (nullable rank, renamed fields)
Bug Report
Summary
All four MCP tools (get-crypto-price, get-market-analysis, get-historical-analysis, get-top-assets) are broken due to schema drift between the code and the current CoinCap v3 API spec.
Root Cause
The CoinCap v3 API has drifted from what the code expects in several ways:
rankfield is now nullable ("nullable": truein the API spec) — Our Zod schema hadrank: z.string()(non-nullable). Any asset with anullrank triggers a Zod parse error i
Read the thread · 2026-03-21 · closed · 1 comment
feat: Remove CoinCap v2 API support, require API key for v3
Summary
The CoinCap v2 API (api.coincap.io/v2) has been sunset and is no longer available. Only the v3 API (rest.coincap.io/v3) remains operational. This MCP server currently tries v3 first and falls back to v2 — that fallback is now broken.
Changes Required
- Remove all v2 API code: Remove
COINCAP_API_V2_BASE, the v2 fallback logic inmakeCoinCapRequest(), and all v2 references - Make
COINCAP_API_KEYrequired: The v3 API requires an API key. If none is provided, tools
Read the thread · 2026-03-21 · closed · 1 comment
feat: replace Smithery with native MCP HTTP transport for Coolify deployment
Summary
Remove the Smithery dependency and replace it with a native StreamableHTTPServerTransport from @modelcontextprotocol/sdk. This enables direct Docker deployment without needing the Smithery CLI toolchain.
Changes
- Add
src/http.ts— new HTTP entry point usingStreamableHTTPServerTransport(stateless, listens onPORTenv var, defaults to3000) - Update
Dockerfile— build withtsc, copydist/, expose port3000, runnode dist/http.js - **Update `package
Read the thread · 2026-03-21 · closed · 1 comment
The remaining reports are on the project's issue tracker.