CoinGecko Price MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CoinGecko Price MCP ServerWhat is the current price of Bitcoin in USD?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CoinGecko Price MCP Server
A simple Model Context Protocol (MCP) server that provides cryptocurrency pricing information using the CoinGecko API.
Features
get_crypto_price: A tool to fetch the current price of a cryptocurrency in a specific currency.
Inputs:
crypto_id: The CoinGecko ID of the cryptocurrency (e.g., 'bitcoin', 'ethereum').currency: The target currency for the price (e.g., 'usd', 'brl').
Related MCP server: Crypto Price MCP Server
Prerequisites
Node.js (v18 or higher recommended)
npm
Installation
Clone or navigate to the project repository.
Install dependencies:
npm install
Building the Project
Compile the TypeScript code to JavaScript:
npm run buildThe compiled output will be in the dist directory.
Usage
Testing Locally with MCP Inspector (The npx Way)
You can test the server interactively using the MCP Inspector. This allows you to inspect tools and resources and make tool calls directly.
Build the project first:
npm run buildRun the inspector using
npx, pointing it to your built server script:npx @modelcontextprotocol/inspector node dist/index.jsNote: On Windows, use a full path or ensuring valid path syntax if you encounter issues.
Open the URL provided in the terminal (usually
http://localhost:5173) to interact with your server.
Running Directly
You can run the server directly (it communicates via Stdio), but it is designed to be used by an MCP client (like Claude Desktop or the Inspector).
npm startDeveloping
To run the server in development mode (using tsx):
npm run devSetup with Claude Desktop
To use this server with Claude Desktop apps:
Locate your Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add the server configuration:
{ "mcpServers": { "coingecko_price": { "command": "node", "args": ["/absolute/path/to/mcp_coingecko_price_ts/dist/index.js"] } } }Remember to run
npm run buildafter making changes to the source code.You can run this mcp with stdio transport using npx command
{ "mcpServers": { "coingecko_price": { "command": "npx", "args": ["-y", "mcp_coingecko_price_ts"] } } }
Available Tools
1 toolget_crypto_priceGet Cryptocurrency PriceB
Get the current price of a cryptocurrency from CoinGecko.
| Name | Required | Description | Default |
|---|---|---|---|
| currency | Yes | ||
| crypto_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only reveals that this is a read-only price lookup from CoinGecko; it does not mention potential external API latency, rate limits, error behavior, freshness, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with no filler. Every word contributes: it names the action, the object, the tense ('current'), and the data source.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read operation the description states the core purpose and source, and the return value ('price') is implied. Still, without an output schema or any parameter documentation, the agent must guess at ID conventions and the response shape, leaving the overview incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description does not explain either parameter. 'cryptocurrency' hints at crypto_id, but the `currency` parameter is never mentioned and no formats, examples, or allowed values are given, so the description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the operation ('Get'), the target ('current price of a cryptocurrency'), and the source ('from CoinGecko'). It is specific and unambiguous, but there are no sibling tools to differentiate against, so it does not reach the top tier that requires distinction from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrasing 'current price' implies the tool is appropriate when a current, CoinGecko-sourced price is needed. However, it never states explicit when-to-use conditions, prerequisites, or situations where an alternative approach should be chosen.
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 tool update
v1.0.5- First observed
get_crypto_price
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or overlap with other tools. The purpose of get_crypto_price is singular and unambiguous.
The single tool name follows a clear verb_noun pattern (get_crypto_price). While there are no other tools for comparison, the name is self-consistent and matches standard conventions.
A single tool feels thin for a server purportedly covering CoinGecko, even if focused on price. While the scope is narrow, users may expect additional functions like historical prices or supported coin lists, making the count borderline.
The tool covers the core 'current price' use case, but lacks supporting functionality such as listing supported cryptocurrencies, specifying base currencies clearly, or providing historical data. This leaves notable but not critical gaps for the stated purpose.
Maintenance
Related MCP Connectors
Live and historical cryptocurrency prices via CoinGecko free API.
Free, keyless live cryptocurrency prices, market cap, and 24h change via CoinGecko.
CoinGecko MCP — wraps CoinGecko free API (no auth required)
CoinGecko-backed live prices, market caps, DeFi metrics — no per-user API key needed.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides cryptocurrency market data using the CoinGecko API21MIT
- FlicenseBqualityDmaintenanceA Model Context Protocol server that provides real-time cryptocurrency price fetching capabilities using the CoinGecko API. It enables LLMs to retrieve and process the latest price for any coin by its name or symbol.2-
- FlicenseAqualityDmaintenanceEnables LLM agents to fetch real-time cryptocurrency prices using the CoinGecko API, supporting multiple cryptocurrencies and fiat currencies.1-
- AlicenseNot gradedqualityDmaintenanceProvides real-time cryptocurrency data from CoinGecko, including prices, market data, historical data, and coin search.7 npmMIT