Skip to main content
Glama
Lulu-The-Narwhal

crypto-price-mcp

crypto-price-mcp

Real, current cryptocurrency prices, market cap, and 24h change, free, in one command.

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, ...).

Related MCP server: Crypto Trader MCP Tool

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 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, 70% rev share.

Data

Prices by CoinGecko (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

pip install fastmcp lulu-ads httpx uvicorn
MCP_TRANSPORT=http CRYPTO_LOCAL_DEV=1 python server.py   # serves http://localhost:8080/crypto/mcp

Available Tools

1 tool
get_crypto_priceA
Read-only

Current price, market cap, and 24h change for a cryptocurrency, from CoinGecko. Use for "price of bitcoin", "how much is ETH worth", "what's solana trading at" style questions. coin is CoinGecko's own lowercase slug (bitcoin, ethereum, solana, dogecoin, ...) -- 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 must be the exact slug, not a ticker. vs_currency defaults to "usd" and accepts any fiat CoinGecko supports (eur, gbp, jpy, ...). Returns price, market cap, and 24h % change; prices are informational only, not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYes
vs_currencyNousd

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds key behavior beyond the readOnly annotation: the coin parameter is a CoinGecko slug with automatic mapping for common tickers, vs_currency defaults to usd and accepts fiat, and the output is informational only. It also states the return fields, providing useful context not available in annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and usage, but it repeats the return fields ('Current price, market cap, and 24h change' and 'Returns price, market cap, and 24h % change'), which is redundant. Otherwise, it is structured and not overly verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, usage, both parameters, return data, data source, and a disclaimer. With an output schema present and annotations providing read-only safety, the description is complete for an agent to select and invoke the tool correctly. No major gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description fully explains both parameters. It clarifies that 'coin' is a lowercase slug, lists common tickers that are auto-mapped, and warns that anything else must be the exact slug. It also explains 'vs_currency' default and supported fiat currencies, compensating well for missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns current price, market cap, and 24h change for a cryptocurrency from CoinGecko, and provides explicit example questions like 'price of bitcoin'. Even though it lacks an explicit verb, it is unambiguous and specific, and the examples strengthen purpose clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says 'Use for ... style questions', giving clear when-to-use context. It does not specify when not to use or alternatives, but there are no sibling tools, so no exclusions are needed. This is clear contextual guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.1.0
    • First observedget_crypto_price

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

Related MCP Connectors

Related MCP Servers