Price Service MCP
# Price Service MCP
A Model Context Protocol (MCP) server that provides cryptocurrency price data retrieval capabilities. This server connects to BitwaveCorp's price service API to fetch real-time and historical cryptocurrency prices.
## Features
- **get_price**: Fetch cryptocurrency price data with customizable parameters
- **health_check**: Check the health status of the price service
- Support for multiple exchanges (Coinbase, Binance, Kraken)
- Historical price data with timestamp support
- Multiple time resolutions (1m, 5m, 15m, 1h, 4h, 1d)
- Configurable fiat currency conversion
## Installation
```bash
npm install
npm run build
```
## Usage
### Development
```bash
npm run dev
```
### Production
```bash
npm run build
npm start
```
## Tools
### get_price
Retrieve cryptocurrency price data from the price service.
**Parameters:**
- `fromSym` (required): Cryptocurrency symbol (e.g., "BTC", "ETH")
- `timestampSEC` (optional): Unix timestamp in seconds for historical price
- `service` (optional): Price service to use ("coinbase", "binance", "kraken") - default: "coinbase"
- `resolution` (optional): Time resolution ("1m", "5m", "15m", "1h", "4h", "1d") - default: "1d"
- `toFiat` (optional): Target fiat currency - default: "USD"
- `timezone` (optional): Timezone for timestamp - default: "UTC"
**Example:**
```json
{
"fromSym": "BTC",
"service": "coinbase",
"toFiat": "USD"
}
```
### health_check
Check the health status of both the MCP server and the underlying price service.
**Parameters:** None
## Configuration for Claude Desktop
Add this to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"price-service": {
"command": "node",
"args": ["/path/to/price-service-mcp/build/index.js"]
}
}
}
```
## API Endpoint
The MCP server connects to: `https://price-svc-utyjy373hq-uc.a.run.app`
## Development
1. Clone the repository
2. Install dependencies: `npm install`
3. Build the project: `npm run build`
4. Run in development mode: `npm run dev`
## License
MIT
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.TDQS
Scored across 2 tools
The two tools have completely distinct purposes: get_price retrieves cryptocurrency price data, while health_check monitors the service's operational status. There is no overlap or ambiguity in their functions, making it easy for an agent to select the correct tool for each task.
Both tools follow a consistent verb_noun naming pattern (get_price, health_check), using clear and descriptive verbs that align with their actions. The naming is uniform and predictable across the tool set.
With only two tools, the server feels under-scoped for a price service domain. While get_price is essential, the tool set lacks operations like historical price retrieval, multi-asset queries, or market data analysis, making it too limited for typical cryptocurrency price service workflows.
The tool set is severely incomplete for a cryptocurrency price service. It includes basic price fetching and health monitoring but misses critical operations such as historical price data, price comparisons, or support for multiple cryptocurrencies, which are standard expectations in this domain.