Skip to main content
Glama
sholtomaud

Independent Reserve MCP Server

by sholtomaud
README.md
# Independent Reserve MCP Server

This Model Context Protocol (MCP) server provides real-time cryptocurrency data from the Independent Reserve exchange to AI assistants. It allows you to ask questions about cryptocurrency prices and market data.
> test
## Features

- **Real-time Ticker Data**: Get the latest price, bid, ask, and volume for any currency pair.
- **Real-time Order Book Data**: View the current buy and sell orders.
- **Automatic Reconnection**: The client will automatically reconnect if the connection is lost.
- **Easy to Use**: Exposes simple tools that an AI can understand.

## Project Structure

- `server.py`: The main MCP server that handles tool calls from the AI.
- `ir_client.py`: The WebSocket client that connects to the Independent Reserve API and manages data streams.
- `requirements.txt`: The Python dependencies for the project.
- `.env.example`: An example file for configuring your API keys.
- `README.md`: This file.

## Setup

1. **Clone this repository**:
   ```bash
   git clone <your-repo-url>
   cd independentreserve-mcp
   ```

2. **Install Python dependencies**:
   ```bash
   pip install -r requirements.txt
   ```

3. **Configure API Keys (Optional)**:
   - For public data (tickers, order books), no API key is needed.
   - If you want to add private data features later (like account balances), create a `.env` file in the project root.
   - Copy `.env.example` to `.env` and fill in your Independent Reserve API keys.
     ```bash
     cp .env.example .env
     ```
     Then edit `.env` with your credentials.

## Usage

Once the server is running, you can ask questions like:

- "What is the current price of Bitcoin in USD?"
- "Show me the order book for ETH/AUD."

The server provides the following tools:

- `get_ticker(primary_currency, secondary_currency)`: Gets the latest ticker information.
- `get_order_book(primary_currency, secondary_currency)`: Gets the latest order book data.

## Connecting to Claude Desktop

To use this server with Claude Desktop, you need to add it to your Claude configuration file.

1. **Find your Claude Desktop config file**:
   - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
   - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

2. **Add the server configuration**:
   Open the file and add the following `mcpServers` object. Make sure to replace `/path/to/your/independentreserve-mcp` with the absolute path to the project folder on your computer.
   ```json
   {
     "mcpServers": {
       "independentreserve": {
         "command": "python",
         "args": [
           "/path/to/your/independentreserve-mcp/server.py"
         ],
         "env": {
           "IR_API_KEY": "your_api_key_if_needed",
           "IR_API_SECRET": "your_api_secret_if_needed"
         }
       }
     }
   }
   ```

3. **Restart Claude Desktop**.
   After restarting, Claude will automatically connect to your new MCP server. You can now start asking it about cryptocurrency prices from Independent Reserve!

## Next Steps and Improvements

- **Authentication**: Implement the signed message logic to subscribe to private channels like balance, orders, and trades. This would require adding new tools like `get_my_balance`.
- **Smarter Subscriptions**: Instead of subscribing every time a tool is called, the client could be smarter. For example, if the AI asks for the BTC/USD ticker, it could stay subscribed to it for a few minutes in case of follow-up questions.
- **Error Handling**: Add more robust error handling for invalid currency pairs or API errors.
- **More Data**: Add a tool for `get_recent_trades`.

## Disclaimer

This project is for educational purposes only. It is not intended to be used for financial advice.