Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "get_market_state", "get_market_states", "get_state_definitions" and 1 more
Use when the user asks about the current market state (trend or momentum) of a crypto asset on any timeframe from 1 minute to 1 month. Returns state data only: no prices, forecasts or trade signals. Current DAMO market state of one symbol across ⟨37 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Get DAMO market state"}
Use when the user asks about several crypto assets at once. Same as get_market_state for up to 50 symbols in one call.{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Get DAMO market state for several symbols"}
Use when the user asks what DAMO's states, codes or layers mean. The 4 permanent DAMO states and codes, timeframe ⟨12 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"DAMO state definitions"}
Use to check whether DAMO covers an asset and which symbol name to use. Symbols covered by DAMO, with available layers and ⟨5 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List DAMO symbols"}
Changed the definition of "get_market_state" and "get_market_states"
⟨74 unchanged words⟩ :"boolean"},"symbol":{"description":"SymbolTicker, e.g.BTCUSDTBTCUSDT.(BinanceBTC,USDⓈ-Mbtc,perpetualBTC/USDT,naming)BTC-PERP and coin names like Bitcoin are also accepted. Not a sentence: on a wrong symbol the error lists did_you_mean.","maxLength":40,"type":"string"},"timeframes":{" ⟨46 unchanged words⟩
Changed the definition of "get_market_state"
⟨17 unchanged words⟩ plus a 10-value vector in fixed timeframe order. as_of is when DAMO last wrote the record; each timeframe's candle close is in states[tf].candle_close (live: candle_close_expected).
Changed the definition of "get_market_state" and "get_market_states"
{"properties":{"as_of":{"description":"verified:timewhenofDAMOthelastlatestwroteclosedthiscandlerecord (UTC). Each timeframe's own close time is states[tf].candle_close","type":"string"},"chain_head":{ ⟨14 unchanged words⟩ "},"observed_at":{"description":"live:observationwhentimeDAMO observed the forming candles
Certificate changed, valid to 2027-01-11
Changed the definition of "get_market_state", "get_market_states", "get_state_definitions" and 1 more
before
—after
{"properties":{"as_of":{"description":"verified: time of the latest closed candle (UTC)","type":"string"},"chain_head":{"type":"object"},"citation":{"type":"string"},"engine_version":{"type":"string"},"layer":{"enum":["verified","live"],"type":"string"},"observed_at":{"description":"live: observation time (UTC)","type":"string"},"proof":{"description":"Ed25519 signature when proof=true","type":"object"},"quota":{"type":"object"},"quota_remaining":{"type":"integer"},"stale":{"type":"boolean"},"states":{"additionalProperties":{"type":"object"},"description":"full format: per-timeframe state, code, candle status and record fields","type":"object"},"symbol":{"type":"string"},"vector":{"description":"State codes in timeframe order (1 bull_momentum, 2 weakening, 3 bear_momentum, 4 recovery); null = not requested or not available","items":{"maximum":4,"minimum":1,"type":["integer","null"]},"type":"array"},"vector_order":{"items":{"type":"string"},"type":"array"}},"required":["symbol","layer","vector","citation"],"type":"object"}Changed the definition of "get_market_state" and "get_market_states"
{"properties":{"format":{"default":"full","description":"compact = symbol, layer, time, vector, short citation and remaining quota only. full = per-timeframe state, seq, hash and engine version (for citing and checking).","enum":["full","compact"],"type":"string"},"layer":{"default":"verified","description":"verified ⟨13 unchanged words⟩ ["verified","live"],"type":"string"},"proof":{"default":false,"description":"Also put DAMO's Ed25519 signature in the result body as 'proof'.","type":"boolean"},"symbol":{"description":"Symbol, ⟨55 unchanged words⟩
Certificate recorded, valid to 2027-01-04
Authorization not required
Changed the definition of "get_market_state" and "get_market_states"
⟨29 unchanged words⟩ USDⓈ-M perpetual naming)","type":"string"},"timeframes":{"description":"Optional. Only these timeframes are returned and counted against the quota (case-sensitive: 1m = minute, 1M = month). Omit for all 10.","items":{"enum":["1m","5m","15m","1h","4h","12h","1d","3d","1w","1M"],"type":"string"},"type":"array","uniqueItems":true}},"required":["symbol"],"type":"object"}
⟨35 unchanged words⟩ },"maxItems":50,"type":"array"},"timeframes":{"description":"Optional. Only these timeframes are returned and counted against the quota (case-sensitive: 1m = minute, 1M = month). Omit for all 10.","items":{"enum":["1m","5m","15m","1h","4h","12h","1d","3d","1w","1M"],"type":"string"},"type":"array","uniqueItems":true}},"required":["symbols"],"type":"object"}
Unknown → Live
First tool surface recorded: 4 tools (server version 1.3.1)
https://api.damolive.com/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 13 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨75 unchanged words⟩ ,"symbols":{"items":{"description":"SymbolTicker, e.g.BTCUSDTBTCUSDT.(BinanceBTC,USDⓈ-Mbtc,perpetualBTC/USDT,naming)BTC-PERP and coin names like Bitcoin are also accepted. Not a sentence: on a wrong symbol the error lists did_you_mean.","maxLength":40,"type":"string"},"maxItems":50, ⟨49 unchanged words⟩
⟨41 unchanged words⟩ ":{"as_of":{"description":"verified:timewhenofDAMOthelastlatestwroteclosedthiscandlerecord (UTC). Each timeframe's own close time is states[tf].candle_close","type":"string"},"chain_head":{ ⟨14 unchanged words⟩ "},"observed_at":{"description":"live:observationwhentimeDAMO observed the forming candles (UTC)","type":"string"}," ⟨89 unchanged words⟩
before
—after
{"properties":{"citation":{"type":"string"},"count":{"type":"integer"},"errors":{"items":{"properties":{"error":{"type":"string"},"message":{"type":"string"},"symbol":{"type":"string"}},"type":"object"},"type":"array"},"layer":{"enum":["verified","live"],"type":"string"},"proof":{"type":"object"},"quota":{"type":"object"},"quota_remaining":{"type":"integer"},"results":{"items":{"properties":{"as_of":{"description":"verified: time of the latest closed candle (UTC)","type":"string"},"chain_head":{"type":"object"},"citation":{"type":"string"},"engine_version":{"type":"string"},"layer":{"enum":["verified","live"],"type":"string"},"observed_at":{"description":"live: observation time (UTC)","type":"string"},"proof":{"description":"Ed25519 signature when proof=true","type":"object"},"quota":{"type":"object"},"quota_remaining":{"type":"integer"},"stale":{"type":"boolean"},"states":{"additionalProperties":{"type":"object"},"description":"full format: per-timeframe state, code, candle status and record fields","type":"object"},"symbol":{"type":"string"},"vector":{"description":"State codes in timeframe order (1 bull_momentum, 2 weakening, 3 bear_momentum, 4 recovery); null = not requested or not available","items":{"maximum":4,"minimum":1,"type":["integer","null"]},"type":"array"},"vector_order":{"items":{"type":"string"},"type":"array"}},"required":["symbol","layer","vector"],"type":"object"},"type":"array"}},"required":["layer","results"],"type":"object"}before
—after
{"properties":{"codes_are_permanent":{"type":"boolean"},"states":{"items":{"properties":{"code":{"type":"integer"},"state":{"type":"string"}},"required":["code","state"],"type":"object"},"type":"array"},"timeframes":{"items":{"type":"string"},"type":"array"}},"required":["states"],"type":"object"}before
—after
{"properties":{"count":{"type":"integer"},"symbols":{"items":{"properties":{"layers":{"items":{"type":"string"},"type":"array"},"symbol":{"type":"string"},"timeframes":{"items":{"type":"string"},"type":"array"}},"required":["symbol"],"type":"object"},"type":"array"}},"required":["count","symbols"],"type":"object"}