loomdesk
Ce que fait ce MCP
Analyzes tokenized stock liquidity pools and generates unsigned transactions for positions, ladders, pool openings, fee collection, and withdrawals.
Outils
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['pool'], 'properties': {'pool': {'type': 'string', 'minLength': 1, 'description': 'A stock symbol such as META, or a pool id / address'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['token'], 'properties': {'quote': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'ETH, USDG or an address: the pair asked about; the answer then says whether that exact pair has a pool, or that plan_build opens one'}, 'token': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'sort': {'enum': ['net_weekly', 'weekly_at_10', 'depth', 'fees_24h'], 'type': 'string', 'default': 'net_weekly'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 200, 'minimum': 1}, 'own_only': {'type': 'boolean', 'default': True, 'description': "Only LoomDesk's own pools (default). false lists every stock pool on the chain."}, 'min_depth_usdg': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Skip pools shallower than this.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 64}, 'leadersWindowSeconds': {'type': 'integer', 'maximum': 604800, 'minimum': 300}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['address'], 'properties': {'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['address'], 'properties': {'address': {'type': 'string', 'description': 'The wallet address'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['token', 'quote', 'payIn', 'amount', 'owner'], 'properties': {'pool': {'type': 'string', 'description': "A v4 pool of the token to build in, by id from ladder_pools: any pool, on the hook or not; the quote is then that pool's"}, 'owner': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'payIn': {'enum': ['ETH', 'USDG'], 'type': 'string'}, 'quote': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': "ETH, USDG, or the quote token's address"}, 'rungs': {'type': 'integer', 'maximum': 40, 'minimum': 1}, 'shape': {'enum': ['spot', 'curve', 'bidask', 'hybrid'], 'type': 'string'}, 'token': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'amount': {'type': 'string', 'pattern': '^\\d*\\.?\\d+$'}, 'copyOf': {'type': 'string', 'pattern': '^\\d+$'}, 'feePct': {'type': 'integer', 'maximum': 10, 'minimum': 1}, 'lowPct': {'type': 'number', 'maximum': 400, 'minimum': -98, 'description': 'needed unless fullRange'}, 'highPct': {'type': 'number', 'maximum': 500, 'minimum': -97}, 'referrer': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'fullRange': {'type': 'boolean'}, 'slippagePct': {'type': 'number', 'maximum': 50, 'minimum': 0.5}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['token', 'owner', 'lowPct', 'highPct'], 'properties': {'pool': {'type': 'string', 'description': 'A pool from ladder_pools; the default pool when left out'}, 'owner': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'rungs': {'type': 'integer', 'maximum': 40, 'minimum': 1}, 'shape': {'enum': ['spot', 'curve', 'bidask', 'hybrid'], 'type': 'string'}, 'split': {'type': 'boolean'}, 'token': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'copyOf': {'type': 'string', 'pattern': '^\\d+$', 'description': 'The id of a ladder on the current contract this one copies: its owner is paid 0.1% while it is open in the same pair.'}, 'lowPct': {'type': 'number', 'maximum': 400, 'minimum': -98}, 'highPct': {'type': 'number', 'maximum': 500, 'minimum': -97}, 'newPool': {'type': 'object', 'required': ['key', 'sqrtPriceX96'], 'properties': {'key': {'type': 'object', 'required': ['currency0', 'currency1', 'fee', 'tickSpacing', 'hooks'], 'properties': {'fee': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'hooks': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'currency0': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'currency1': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'tickSpacing': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}}, 'sqrtPriceX96': {'type': 'string', 'pattern': '^\\d+$'}}, 'description': "From plan_open_pool's `then`, for a pool being opened in the same plan: the ladder is laid out against its key and opening price. No split in it (it is empty): both amounts, or one for a one-sided ladder."}, 'referrer': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$', 'description': "The wallet that referred the owner: paid 0.1% of what goes in, out of the opening fee, and kept by the contract from the owner's first ladder on."}, 'fullRange': {'type': 'boolean', 'description': 'One position across every price instead of a band of rungs. Never out of range and needs no watching; very little of the money sits at the price, so it earns the least per dollar. Needs both amounts, or one amount with split: true. lowPct and highPct are ignored.'}, 'payWithEth': {'type': 'boolean', 'description': 'For a pool quoted in WETH: pay in plain ETH, wrapped inside the same transaction, with nothing to approve. Default: whenever the wallet holds less WETH than amountQuote.'}, 'amountQuote': {'type': 'string', 'pattern': '^\\d*\\.?\\d+$'}, 'amountToken': {'type': 'string', 'pattern': '^\\d*\\.?\\d+$'}, 'slippagePct': {'type': 'number', 'maximum': 50, 'minimum': 0.1}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ladderId', 'owner', 'action'], 'properties': {'on': {'type': 'boolean', 'description': 'close_once_filled only: false clears the rule'}, 'to': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$', 'description': 'Where the proceeds go; the owner when left out'}, 'owner': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'action': {'enum': ['collect', 'close_part', 'close', 'take_nfts', 'close_once_filled'], 'type': 'string'}, 'contract': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$', 'description': 'The LoomLadder the ladder lives in, from my_ladders; the current one when left out'}, 'ladderId': {'type': 'string', 'pattern': '^\\d+$'}, 'sharePct': {'type': 'number', 'maximum': 99, 'minimum': 1}, 'slippagePct': {'type': 'number', 'maximum': 50, 'minimum': 0.01}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['token', 'owner', 'side', 'price', 'amount'], 'properties': {'pool': {'type': 'string', 'description': 'A pool from ladder_pools; the default pool when left out'}, 'side': {'enum': ['buy', 'sell'], 'type': 'string'}, 'unit': {'enum': ['usd', 'quote'], 'type': 'string'}, 'owner': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'price': {'type': 'number', 'description': 'The limit price: dollars a token, or the pool\'s quote asset a token with unit "quote". A sell\'s is over the price now, a buy\'s under it.', 'exclusiveMinimum': 0}, 'rungs': {'type': 'integer', 'maximum': 40, 'minimum': 1, 'description': 'A range only; 5 when left out'}, 'shape': {'enum': ['spot', 'curve', 'bidask'], 'type': 'string', 'description': 'A range only. spot: even; curve: more where the order starts; bidask: more where it is complete'}, 'token': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'amount': {'type': 'string', 'pattern': '^\\d*\\.?\\d+$', 'description': 'Of the asset the order holds, as a decimal string: the token for a sell, the quote for a buy'}, 'copyOf': {'type': 'string', 'pattern': '^\\d+$'}, 'priceTo': {'type': 'number', 'description': 'Where the order is complete, further from the price than `price`. Left out: one rung, the narrowest the pool has.', 'exclusiveMinimum': 0}, 'referrer': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'payWithEth': {'type': 'boolean', 'description': 'A limit buy in a pool quoted in WETH: pay in plain ETH, wrapped inside the same transaction. Default: whenever the wallet holds less WETH than the amount.'}, 'acceptBuilt': {'type': 'boolean', 'description': 'Place it at the prices the pool can hold, however far they lie from the prices asked for'}, 'closeOnceFilled': {'type': 'boolean', 'description': "Default true: the plan's `then` says how to set the rule once the order is placed"}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['token', 'quote', 'feePct', 'owner'], 'properties': {'owner': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'quote': {'anyOf': [{'enum': ['ETH', 'USDG'], 'type': 'string'}, {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}], 'description': '"ETH", "USDG", or the address of the quote token: a tokenized stock, LOOM, or any token with an exit'}, 'token': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'feePct': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': "the pool's swap fee in percent: 1, 2, 3, 4 or 5"}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['from', 'to', 'amount', 'owner'], 'properties': {'to': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'ETH, USDG, a token symbol or address'}, 'from': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'ETH, USDG, a token symbol or address'}, 'owner': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'amount': {'type': 'string', 'pattern': '^\\d*\\.?\\d+$', 'description': 'how much of `from`, as a decimal string'}, 'slippagePct': {'type': 'number', 'maximum': 50, 'minimum': 0.1}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['pool', 'usdg'], 'properties': {'pool': {'type': 'string', 'minLength': 1, 'description': 'Symbol or pool id of a LoomDesk pool'}, 'usdg': {'type': 'number', 'description': 'USDG to put in, fee included, e.g. 250', 'exclusiveMinimum': 0}, 'range_pct': {'type': 'number', 'default': 5, 'maximum': 50, 'minimum': 0.5, 'description': 'Half-width of the range around the current price, in percent'}}}
Modifications récentes des outils
Serveurs MCP similaires
The Stall
Provides pay-per-call tools for YouTube keyword research and research on stocks, crypto, DeFi, options, and macroeconomic data.
Crank Protocol
Provides non-custodial Solana and EVM tools for swaps, derivatives, lending, staking, tokenized equities, bridging, and strategy …
x402-services
Provides on-chain, trading, and AI tools for Robinhood Chain.
FortFi Treasury MCP
Provides policy-controlled crypto treasury operations across chains, including wallets, payments, token discovery, swaps, bridges…
DeltaSignal ATLAS-7
Analyzes SEC and XBRL data for crypto-related public companies, including fundamentals, issuer signals, peer comparisons, stress …
intel
Provides multi-chain market intelligence, blockchain activity metrics, trading and portfolio planning, sanctions clearance, agent…
TradingCalc MCP: Options, Forex, Risk Stats, Prediction Markets, On-Chain & Crypto Futures
Performs deterministic calculations for crypto futures, funding, leverage, liquidation, position sizing, token swaps, on-chain ri…
Market Intelligence API
Analyzes crypto and tokenized-asset markets using DEX flows, perpetual positioning, smart-money activity, token risk, market news…