Lucyd

Trade Bitcoin Up/Down prediction markets on Lucyd: markets, order books, orders, positions.

Should I use this

Quality & Safety

A
Description quality
94%
Schema completeness
86%
Naming quality
98%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'get_market' description lacks action verbin get_market

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,396Tokens (tool definitions)
~1.0 KBTypical response size
Moderate attention impact (1.09% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp": {
      "command": "npx",
      "args": [
        "@lucyd/mcp"
      ]
    }
  }
}

Runnable packages

npm@lucyd/mcp0.1.3stdio

Remote endpoints

https://mcp.lucyd.trade/mcpstreamable-http

What it can do

Tool inventory

Tools (9)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_market(market)

Full details of one market, including its rules and the ids of its up and down outcome tokens.

Input Schema

{
  "type": "object",
  "properties": {
    "market": {
      "description": "Market address (its id), from list_markets.",
      "type": "string"
    }
  },
  "required": [
    "market"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_order_book(market, outcome)

Order book of a market outcome: bids (best first) and asks with prices in USDC per token and sizes in tokens, plus best bid, best ask and mid. Buying down at p is the same book as selling up at 1 - p.

Input Schema

{
  "type": "object",
  "properties": {
    "market": {
      "description": "Market address.",
      "type": "string"
    },
    "outcome": {
      "description": "Outcome whose book to show: up or down. Default up.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "market"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_pnl_history(address, range)

Profit and loss over time of a wallet, as a series of points. Defaults to the configured wallet.

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "description": "Wallet address. Default: the configured wallet.",
      "type": [
        "string",
        "null"
      ]
    },
    "range": {
      "description": "Period: 1d, 1w, 1m or all. Default 1w.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_positions(limit, market, state, trader)

Positions of a wallet: tokens held per market and outcome, average price, current value and profit. Settled markets show the payout. Defaults to the configured wallet.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "How many positions, 1 to 100. Default 50.",
      "format": "uint32",
      "minimum": 0,
      "type": [
        "integer",
        "null"
      ]
    },
    "market": {
      "description": "Only this market address, or several comma separated.",
      "type": [
        "string",
        "null"
      ]
    },
    "state": {
      "description": "Market state filter: open, pending, settled or voided.",
      "type": [
        "string",
        "null"
      ]
    },
    "trader": {
      "description": "Wallet address. Default: the configured wallet.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_status

Health of the Lucyd service: API and database, settlement of ended markets on time, live trade stream. Use it when something looks stuck, e.g. a market is not resolving.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢get_trader_stats(address)

Stats of a wallet: total and realized profit, volume, markets traded, win rate. Defaults to the configured wallet.

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "description": "Wallet address. Default: the configured wallet.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_markets(limit, offset, order, period, state)

List prediction markets on Lucyd. Each market asks whether the BTC price will be Up or Down at its end date versus the strike (strike is the price times 1e8). Returns address (the market id), state, period, start and end dates, strike, winner and volume.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "How many markets to return, 1 to 100. Default 20.",
      "format": "uint32",
      "minimum": 0,
      "type": [
        "integer",
        "null"
      ]
    },
    "offset": {
      "description": "Skip this many markets, for paging.",
      "format": "uint32",
      "minimum": 0,
      "type": [
        "integer",
        "null"
      ]
    },
    "order": {
      "description": "Sort by end date: asc or desc. Default desc.",
      "type": [
        "string",
        "null"
      ]
    },
    "period": {
      "description": "Market period: 5m, 15m, 30m, 1h, 4h or Daily. Comma separated for several.",
      "type": [
        "string",
        "null"
      ]
    },
    "state": {
      "description": "Market state: open, pending (ended, waiting for result), settled or voided. Comma separated for several.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_trades(from, limit, market, to, trader)

Recent trades, newest first. Filter by market and/or trader. Amounts are in USDC and tokens.

Input Schema

{
  "type": "object",
  "properties": {
    "from": {
      "description": "Only trades after this time, unix seconds.",
      "format": "uint64",
      "minimum": 0,
      "type": [
        "integer",
        "null"
      ]
    },
    "limit": {
      "description": "How many trades, 1 to 100. Default 20.",
      "format": "uint32",
      "minimum": 0,
      "type": [
        "integer",
        "null"
      ]
    },
    "market": {
      "description": "Only trades on this market address.",
      "type": [
        "string",
        "null"
      ]
    },
    "to": {
      "description": "Only trades before this time, unix seconds.",
      "format": "uint64",
      "minimum": 0,
      "type": [
        "integer",
        "null"
      ]
    },
    "trader": {
      "description": "Only trades of this wallet. Use \"me\" for the configured wallet.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢top_traders(limit, sort)

Leaderboard of traders, best first.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "How many traders, 1 to 50. Default 10.",
      "format": "uint32",
      "minimum": 0,
      "type": [
        "integer",
        "null"
      ]
    },
    "sort": {
      "description": "Sort field: pnl, volume, markets or win_rate. Default pnl.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded9 tools