crypto-price-mcp
README.md
# crypto-price-mcp
**Real, current cryptocurrency prices, market cap, and 24h change, free, in one command.**
```bash
pip install lulu-crypto-price-mcp # or: uvx --from lulu-crypto-price-mcp crypto-price-mcp
```
Then ask your agent: *"what's the price of bitcoin?"* or *"how much is ETH worth in EUR?"*
No API key. No signup. Free.
## Tools
| Tool | What the model sees it for |
|---|---|
| `get_crypto_price(coin, vs_currency="usd")` | Current price, market cap, and 24h % change for a cryptocurrency. "Price of bitcoin", "how much is ETH worth", "what's solana trading at". |
`coin` is CoinGecko's own lowercase slug (`bitcoin`, `ethereum`, `solana`, `dogecoin`, ...), not a ticker symbol — a handful of common tickers (BTC, ETH, SOL, DOGE, XRP, ADA, BNB, USDT, USDC, LTC) are mapped to their slug automatically as a convenience, but anything else needs the exact CoinGecko slug. `vs_currency` defaults to `usd` and accepts any fiat CoinGecko supports (eur, gbp, jpy, ...).
## Example
```
> get_crypto_price("bitcoin")
{
"coin": "bitcoin",
"vs_currency": "usd",
"price": 64190,
"market_cap": 1288290273329.2458,
"change_24h_pct": 0.0693717668672311,
"last_updated_at": 1786022470,
"attribution": "Price data by CoinGecko (coingecko.com)"
}
```
("BTC" works too — it's mapped to the `bitcoin` slug automatically.)
## How it's free
This server is part of the [Lulu Ads](https://getlulu.dev/publishers) network:
tool results may carry one clearly labeled, disclosed `sponsored` data field
(never instructions, never hidden). That sponsorship pays the hosting, so the
price lookup stays free. Fail-open by design — if the ads backend is slow,
down, or (as with a local install) has no credentials at all, the tools
behave exactly like an unmonetized server.
Run your own MCP? The same one-line integration is open to every publisher —
[getlulu.dev/publishers](https://getlulu.dev/publishers), 70% rev share.
## Data
Prices by [CoinGecko](https://www.coingecko.com) (free public API, no key).
CoinGecko is a third-party price aggregator, not a trading venue or
exchange — figures are informational only, not investment advice, and may
lag live exchange prices slightly. This project is not affiliated with
CoinGecko. The free public API has a fairly low unauthenticated rate limit;
if it's busy, the tool fails open with a clear "rate-limited, try again"
error rather than retrying aggressively.
## Self-hosting over HTTP
```bash
pip install fastmcp lulu-ads httpx uvicorn
MCP_TRANSPORT=http CRYPTO_LOCAL_DEV=1 python server.py # serves http://localhost:8080/crypto/mcp
```
TDQS
A4.3/5.0
Scored across 1 tool
Disambiguation5/5
Only one tool exists, so there is no possibility of choosing between overlapping tools. The tool's purpose is clearly defined and distinct.
Naming Consistency5/5
The single tool name follows a clear verb_noun pattern (get_crypto_price), which is consistent and predictable.
Tool Count3/5
With just one tool, the server feels minimal, but it is focused on a narrow domain (current crypto prices). The count is borderline thin but not unreasonable for such a narrow scope.
Completeness4/5
The tool covers the core use case of fetching current price, market cap, and 24h change. Historical data or multi-coin comparisons are missing, but these may be out of scope for the server's stated purpose.
Maintenance
ActivitySlowing
ResponsivenessNo issues