Skip to main content
Glama
kukapay

crypto-stocks-mcp

by kukapay
README.md
# Crypto Stocks MCP

An MCP server that tracks real-time data for major crypto-related stocks to help AI agents analyze blockchain investment opportunities.

![GitHub License](https://img.shields.io/github/license/kukapay/crypto-stocks-mcp) 
![Python Version](https://img.shields.io/badge/python-3.10%2B-blue)
![Status](https://img.shields.io/badge/status-active-brightgreen.svg)

## Features

- **List Crypto Stocks**: Retrieve a list of crypto-related stocks (e.g., Coinbase, MicroStrategy) in a table format.
- **Real-Time Prices**: Fetch the latest price for a specific stock, including ticker, company name, price, and timestamp.
- **Historical Data**: Access historical stock prices and trading volumes for a specified number of days.
- **Query Prompts**: Generate natural language prompts for querying stock information.

## Installation

### Prerequisites

- Python 3.10 or higher
- [uv](https://docs.astral.sh/uv/) (recommended) or `pip` for dependency management

### Setup

1. **Clone the Repository**:

   ```bash
   git clone https://github.com/kukapay/crypto-stocks-mcp.git
   cd crypto-stocks-mcp
   ```

2. **Install Dependencies**:

   Using `uv` (recommended):

   ```bash
   uv sync
   ```
   
3. **Install to Claude Desktop**:

    Install the server as a Claude Desktop application:
    ```bash
    uv run mcp install main.py --name "Crypto Stocks"
    ```

    Configuration file as a reference:

    ```json
    {
       "mcpServers": {
           "Crypto Stocks": {
               "command": "uv",
               "args": [ "--directory", "/path/to/crypto-stocks-mcp", "run", "main.py" ]
           }
       }
    }
    ```
    Replace `/path/to/crypto-stocks-mcp` with your actual installation path.
   
## Usage

### Example Interactions

Using an MCP-compatible client (e.g., Claude Desktop or MCP Inspector):

- **List All Stocks**:

  Prompt:
  > Show me all crypto-related stocks.

  Result:
  ```
  +----------+-------------------------------------+
  | Ticker   | Name                                |
  +==========+=====================================+
  | COIN     | Coinbase Global Inc.                |
  | MSTR     | MicroStrategy Incorporated          |
  | MARA     | Marathon Digital Holdings           |
  | ...      | ...                                 |
  +----------+-------------------------------------+
  ```

- **Get Real-Time Price**:

  Prompt:
  > What's the latest price for Coinbase?

  Result:
  ```
  +----------+-----------------------+---------+----------------------------+
  | Ticker   | Name                  | Price   | Timestamp                  |
  +==========+=======================+=========+============================+
  | COIN     | Coinbase Global Inc.  | 200.50  | 2025-08-07T17:15:00.123456|
  +----------+-----------------------+---------+----------------------------+
  ```

- **Fetch Historical Data**:

  Prompt:
  > Show me the historical prices for MicroStrategy over the past 30 days.
  
  Result:
  ```
  +------------+---------+----------+
  | Date       | Close   | Volume   |
  +============+=========+==========+
  | 2025-07-08 | 195.20  | 1200000  |
  | 2025-07-09 | 198.50  | 1300000  |
  | ...        | ...     | ...      |
  +------------+---------+----------+
  ```

- **Use Query Prompt**:

  Call the `stock_query` prompt with `COIN`:

  ```
  Get the latest price and historical data for Coinbase Global Inc. (COIN).
  ```


## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

TDQS

A3.7/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: get_historical_prices retrieves past data over a time range, get_stock_list provides available stocks, and get_stock_price gives current real-time data. There is no overlap in functionality that could cause confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case: get_historical_prices, get_stock_list, and get_stock_price. This uniformity makes the tool set predictable and easy to understand.

Tool Count3/5

With only 3 tools, the set feels thin for a crypto-stocks domain, lacking operations like search, update, delete, or more advanced analytics. However, it covers basic read operations adequately, placing it at the borderline of being under-scoped.

Completeness2/5

The tool set is significantly incomplete for a crypto-stocks server. It only provides read operations (get/list) with no ability to create, update, or delete data, and misses essential features like portfolio management, alerts, or detailed financial metrics, which are typical in this domain.

Maintenance

ActivityInactive
ResponsivenessUnresponsive