Skip to main content
Glama
zacacollier

Kraken Pro MCP

by zacacollier
README.md
# Kraken Pro MCP

A Model Context Protocol (MCP) server that provides real-time cryptocurrency market data from the Kraken Pro exchange.

## Overview

This MCP server exposes Kraken's public API as MCP tools, allowing AI assistants to fetch real-time cryptocurrency prices, trading pairs, and market data.

## Available Tools

| Tool | Description |
|------|-------------|
| `get_system_status` | Check if Kraken API is online and operational |
| `get_ticker` | Get real-time ticker data for a trading pair (e.g., XBTUSD, ETHUSD) |
| `get_asset_info` | List all available assets on Kraken with their details |

## Installation

```bash
pnpm install
```

## Development

Run in development mode with hot reload:

```bash
pnpm run dev
```

## Build

Compile TypeScript to JavaScript:

```bash
pnpm run build
```

## Usage

Start the MCP server:

```bash
pnpm start
```

The server runs on stdio and communicates via the Model Context Protocol.

### Claude Desktop

To use this server with Claude Desktop, add the following to your Claude Desktop configuration file:

**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`

```json
{
    "mcpServers": {
        "kraken-pro": {
            "command": "node",
            "args": [
                "<PATH TO REPO>/kraken-pro-mcp/dist/index.js"
            ]
        }
    }
}
```

Replace `<PATH TO REPO>` with the absolute path to this repository on your system.

### Development Mode

For development and testing new changes with hot reload, use the development mode instead:

```json
{
    "mcpServers": {
        "kraken-pro": {
            "command": "pnpm",
            "args": ["run", "dev"],
            "cwd": "<PATH TO REPO>/kraken-pro-mcp"
        }
    }
}
```

This will automatically restart the server when you make changes to the source code.

## Testing

```bash
# Run all tests in watch mode
pnpm test

# Run unit tests only (with mocks)
pnpm run test:unit

# Run acceptance tests (hits real Kraken API - rate limited)
pnpm run test:acceptance
```

## Linting & Formatting

```bash
# Check linting
pnpm run lint

# Format code
pnpm run format

# Run all checks (lint + format + organize imports)
pnpm run check
```

## Project Structure

```
src/
  index.ts           # MCP server entry point with tool registrations
  kraken-client.ts   # Kraken API client using native fetch
  types.ts           # Shared TypeScript interfaces
test/
  unit/              # Fast unit tests with mocked fetch
  acceptance/        # Slower integration tests hitting real API
```

## Technologies

- [Model Context Protocol](https://modelcontextprotocol.io/) - Protocol for AI tool integration
- [Zod](https://zod.dev/) - Schema validation
- TypeScript 5.9 with strict mode
- Vitest for testing
- Biome for linting and formatting

## License

ISC

Maintenance

ActivityInactive
ResponsivenessNo issues