Lucyd
Trade Bitcoin Up/Down prediction markets on Lucyd: markets, order books, orders, positions.
Should I use this
Quality & Safety
Findings (1)
- LOWin get_market
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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
0.1.3stdioRemote endpoints
https://mcp.lucyd.trade/mcpstreamable-httpWhat it can do
Tool inventory
Tools (9)
🟢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
Evidence