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.
Removed "index_tools"; changed the definition of "check_pool", "estimate_lp", "find_active_pools" and 1 more (6 tools before, 5 now)
Use this when the user asks about one real liquidity pool, such as "volume and fee ⟨8 unchanged words⟩ is this pool APR a spike?". Pass pool_id (apoolDefiLlamaidUUID), or chain plus token_a and token_b,(symbolsfororexampletokenchainaddresses)"ethereum", token_a "WETH", token_b "USDC".OptionallyDopassnotatrypricepool_addressrange,first:holding_days,theandopengasindexorhasexitnoamountspoolforcontracttheaddresses,fee-versus-ILsoestimate.it always returns needs_tokens. Returns 1-day and 7-day volume and fee APR, ⟨21 unchanged words⟩ covers them, and an informational position-type label.ASymbolspoolthatcontractmatchaddressseveralisfeenottiersinreturnthestatusindex:ambiguous with theanswerpoolssaysinneeds_tokensother_tiers.andThewhatoptionaltorangepassfieldsinstead.(price_lower,Notprice_upper,financialprice_now,adviceholding_days,andcapital_usd,itgas_usd,doesexit_cost_usd)notaddrecommendtheenteringsameorfee-versus-impermanent-lossleavingestimate as estimate_lp, at this pool's fee APR. For aposition.pure what-if with no pool, use estimate_lp.
{"additionalProperties":false,"description":"Send pool_id alone, or chain plus token_a and token_b, for example {\"chain\": \"ethereum\", \"token_a\": \"WETH\", \"token_b\": \"USDC\"}. pool_address alone always returns needs_tokens.","properties":{"capital_usd":{"description":"Position ⟨24 unchanged words⟩ "description":"Chain name or short alias,suchusedaswith token_a and token_b: ethereum, base, arbitrum, optimism, polygon, bsc, avalanche, solana, zksync, linea, gnosis, scroll, mantle, celo, sonic, orsolanasui. Aliases such as eth, arb, op, bnb, matic, avax, and sol also work","maxLength":40,"minLength":2,"type ⟨63 unchanged words⟩ :"Pool contract address. The open yields indexdoes nothaslistno pool contractaddresses;addresses,passsotokenthisaddressesalways
before
{"properties":{"active_range":{"additionalProperties":true,"type":"object"},"apr_flag":{"enum":["real","spike","unconfirmed"],"type":"string"},"apr_flag_reason":{"type":"string"},"as_of":{"type":["string","null"]},"depth_note":{"type":"string"},"estimate":{"additionalProperties":true,"type":"object"},"message":{"type":"string"},"notice":{"type":"string"},"other_tiers":{"items":{"properties":{"chain":{"type":"string"},"exposure":{"type":["string","null"]},"fee_rate":{"type":["number","null"]},"il_risk":{"type":["string","null"]},"pool_id":{"type":"string"},"pool_meta":{"type":["string","null"]},"project":{"type":"string"},"published_apy":{"properties":{"apy":{"type":["number","null"]},"apy_base":{"type":["number","null"]},"apy_base_7d":{"type":["number","null"]},"apy_reward":{"type":["number","null"]},"outlier":{"type":"boolean"}},"required":["apy","apy_base","apy_reward","apy_base_7d","outlier"],"type":"object"},"symbol":{"type":"string"},"tokens":{"items":{"type":"string"},"type":"array"},"tvl_usd":{"type":["number","null"]},"windows":{"properties":{"fee_apr_percent_1d":{"type":["number","null"]},"fee_apr_percent_7d":{"type":["number","null"]},"volume_usd_1d":{"type":["number","null"]},"volume_usd_7d":{"type":["number","null"]}},"required":["volume_usd_1d","volume_usd_7d","fee_apr_percent_1d","fee_apr_percent_7d"],"type":"object"}},"required":["pool_id","chain","project","symbol","tvl_usd","fee_rate","windows","published_apy","tokens"],"type":"object"},"type":"array"},"pool":{"properties":{"chain":{"type":"string"},"exposure":{"type":["string","null"]},"fee_rate":{"type":["number","null"]},"il_risk":{"type":["string","null"]},"pool_id":{"type":"string"},"pool_meta":{"type":["string","null"]},"project":{"type":"string"},"published_apy":{"properties":{"apy":{"type":["number","null"]},"apy_base":{"type":["number","null"]},"apy_base_7d":{"type":["number","null"]},"apy_reward":{"type":["number","null"]},"outlier":{"type":"boolean"}},"required":["apy","apy_base","apy_reward","apy_base_7d","outlier"],"type":"object"},"symbol":{"type":"string"},"tokens":{"items":{"type":"string"},"type":"array"},"tvl_usd":{"type":["number","null"]},"windows":{"properties":{"fee_apr_percent_1d":{"type":["number","null"]},"fee_apr_percent_7d":{"type":["number","null"]},"volume_usd_1d":{"type":["number","null"]},"volume_usd_7d":{"type":["number","null"]}},"required":["volume_usd_1d","volume_usd_7d","fee_apr_percent_1d","fee_apr_percent_7d"],"type":"object"}},"required":["pool_id","chain","project","symbol","tvl_usd","fee_rate","windows","published_apy","tokens"],"type":"object"},"position_type":{"enum":["fee-earning","accumulating at lows","disguised token holding"],"type":"string"},"position_type_reason":{"type":"string"},"price_trend":{"items":{"additionalProperties":true,"type":"object"},"type":"array"},"risk_checklist":{"items":{"properties":{"id":{"type":"string"},"message":{"type":"string"},"name":{"type":"string"},"status":{"enum":["ok","warning","unknown"],"type":"string"},"triggered":{"type":"boolean"}},"required":["id","name","triggered","status","message"],"type":"object"},"type":"array"},"sources":{"items":{"additionalProperties":true,"type":"object"},"type":"array"},"status":{"enum":["ok","not_found","ambiguous","needs_tokens","unavailable"],"type":"string"},"token_risk":{"items":{"additionalProperties":true,"type":"object"},"type":"array"},"warnings":{"items":{"type":"string"},"type":"array"}},"required":["status","apr_flag","sources","as_of","notice"],"type":"object"}Estimate fees versus impermanent loss. Use this when the user givesa price range or a later price, a holding period,numbersandfor afee APR,what-if and wants to know whether swap fees cover impermanent loss, gas, and exit cost. It needs no pool and reads no live data. Pass price_now, holding_days, andfee_apr_percent.fee_apr_percent,Passfor example price_now 2500, holding_days 14, fee_apr_percent 40. Add price_lower and price_upper for a concentrated range, or omitthemboth for the full-range formula. Optionally pass price_later, ⟨4 unchanged words⟩ Returns the formula, the fee fraction, theILimpermanent loss fraction, whether fees coverILit
⟨21 unchanged words⟩ fee pools on Base with real volume".OptionallyAllpassarguments are optional: chains,a minimummin_volume_usd_1d1-day(defaultvolume50000),a minimummin_fee_percentfee(defaultpercent0.05), andalimitup(defaultto5,8.at most 8).
⟨24 unchanged words⟩ or a feature request to the maintainers ofthesethetools.tools on this server. Send it when a tool is missing, a ⟨36 unchanged words⟩ name. Returns a ticket id. Feedback is forthesethe tools on this server only: it is not a chat, and ⟨20 unchanged words⟩
⟨66 unchanged words⟩ ,"tool":{"description":"Optional: the exact name of the tool on this server that the feedback is about,forasexampletools/list
Index and search openkrill MCP tools by task and keyword — LinkedIn recruiter jobs feedback broken links: search openkrill MCP tools by task. Use this to find a tool for recruiter search, LinkedIn keywords, jobs, feedback, a missing tool, bug reports, broken links, CVEs, packages, a domain check, or any other task. Lists tool name, a plain task phrase, and the MCP URL to connect. Feedback itself is submit_feedback on this same server.
Certificate recorded, valid to 2026-12-30
Authorization not required
Unknown → Live
First tool surface recorded: 6 tools (server version 1.0.0)
https://lpcheck.openkrill.app/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 6 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
after
{"properties":{"active_range":{"description":"The open index does not publish the current tick band","properties":{"message":{"type":"string"},"status":{"enum":["not_in_index"],"type":"string"}},"required":["status","message"],"type":"object"},"apr_flag":{"description":"real: steady trading. spike: a short burst, not a steady rate. unconfirmed: no 7-day comparison, do not call it real","enum":["real","spike","unconfirmed"],"type":"string"},"apr_flag_reason":{"type":"string"},"as_of":{"description":"ISO 8601 UTC time of the yields index read, or null when nothing was read","type":["string","null"]},"depth_note":{"type":"string"},"estimate":{"description":"Fee-versus-impermanent-loss estimate, present only when holding_days and price_now were passed","properties":{"assumptions":{"items":{"type":"string"},"type":"array"},"break_even_line":{"type":"string"},"break_even_prices":{"description":"Later prices where the net result crosses zero, from a sample","items":{"type":"number"},"type":"array"},"cost_fraction":{"description":"(gas_usd + exit_cost_usd) / capital_usd. null without capital_usd","type":["number","null"]},"exit_cost_usd":{"type":["number","null"]},"fee_fraction":{"description":"Expected fee income over the holding period, as a fraction of the position: 0.0153 means 1.53%","type":"number"},"fees_cover_il_and_costs":{"description":"null without price_later","type":["boolean","null"]},"formula":{"type":"string"},"gas_usd":{"type":["number","null"]},"il_fraction_at_later":{"description":"Impermanent loss at price_later as a negative fraction. null without price_later","type":["number","null"]},"in_range_now":{"description":"Whether price_now is inside the range. null for the full-range formula","type":["boolean","null"]},"net_versus_holding_at_later":{"description":"fee_fraction + il_fraction_at_later - cost_fraction","type":["number","null"]},"sampled_edges":{"items":{"properties":{"il_fraction":{"type":"number"},"net_versus_holding":{"type":"number"},"price":{"type":"number"}},"required":["price","il_fraction","net_versus_holding"],"type":"object"},"type":"array"},"warnings":{"items":{"type":"string"},"type":"array"}},"type":"object"},"fee_apr_formula":{"type":"string"},"message":{"description":"What happened and what to pass next","type":"string"},"notice":{"type":"string"},"other_tiers":{"description":"Other matching pools or fee tiers. Pass one pool_id from here to read it","items":{"properties":{"chain":{"type":"string"},"exposure":{"type":["string","null"]},"fee_rate":{"description":"Swap fee as a fraction, not a percent: 0.003 means 0.3%. Read from pool_meta","minimum":0,"type":["number","null"]},"il_risk":{"type":["string","null"]},"pool_id":{"type":"string"},"pool_meta":{"description":"DefiLlama pool label, often the fee tier such as \"0.3%\"","type":["string","null"]},"project":{"type":"string"},"published_apy":{"properties":{"apy":{"type":["number","null"]},"apy_base":{"type":["number","null"]},"apy_base_7d":{"type":["number","null"]},"apy_reward":{"type":["number","null"]},"outlier":{"type":"boolean"}},"required":["apy","apy_base","apy_reward","apy_base_7d","outlier"],"type":"object"},"symbol":{"type":"string"},"tokens":{"items":{"type":"string"},"type":"array"},"tvl_usd":{"description":"Total value locked in the pool, in USD","type":["number","null"]},"windows":{"properties":{"fee_apr_percent_1d":{"description":"Fee APR in percent from 1-day volume: volume x fee_rate x 365 / TVL x 100","type":["number","null"]},"fee_apr_percent_7d":{"description":"Fee APR in percent from 7-day volume, annualized the same way","type":["number","null"]},"volume_usd_1d":{"description":"Trading volume over the last day, in USD","type":["number","null"]},"volume_usd_7d":{"description":"Trading volume over the last 7 days, in USD","type":["number","null"]}},"required":["volume_usd_1d","volume_usd_7d","fee_apr_percent_1d","fee_apr_percent_7d"],"type":"object"}},"required":["pool_id","chain","project","symbol","tvl_usd","fee_rate","windows","published_apy","tokens"],"type":"object"},"type":"array"},"pool":{"properties":{"chain":{"type":"string"},"exposure":{"type":["string","null"]},"fee_rate":{"description":"Swap fee as a fraction, not a percent: 0.003 means 0.3%. Read from pool_meta","minimum":0,"type":["number","null"]},"il_risk":{"type":["string","null"]},"pool_id":{"type":"string"},"pool_meta":{"description":"DefiLlama pool label, often the fee tier such as \"0.3%\"","type":["string","null"]},"project":{"type":"string"},"published_apy":{"properties":{"apy":{"type":["number","null"]},"apy_base":{"type":["number","null"]},"apy_base_7d":{"type":["number","null"]},"apy_reward":{"type":["number","null"]},"outlier":{"type":"boolean"}},"required":["apy","apy_base","apy_reward","apy_base_7d","outlier"],"type":"object"},"symbol":{"type":"string"},"tokens":{"items":{"type":"string"},"type":"array"},"tvl_usd":{"description":"Total value locked in the pool, in USD","type":["number","null"]},"windows":{"properties":{"fee_apr_percent_1d":{"description":"Fee APR in percent from 1-day volume: volume x fee_rate x 365 / TVL x 100","type":["number","null"]},"fee_apr_percent_7d":{"description":"Fee APR in percent from 7-day volume, annualized the same way","type":["number","null"]},"volume_usd_1d":{"description":"Trading volume over the last day, in USD","type":["number","null"]},"volume_usd_7d":{"description":"Trading volume over the last 7 days, in USD","type":["number","null"]}},"required":["volume_usd_1d","volume_usd_7d","fee_apr_percent_1d","fee_apr_percent_7d"],"type":"object"}},"required":["pool_id","chain","project","symbol","tvl_usd","fee_rate","windows","published_apy","tokens"],"type":"object"},"position_type":{"enum":["fee-earning","accumulating at lows","disguised token holding"],"type":"string"},"position_type_reason":{"type":"string"},"price_trend":{"description":"Price change per token from DefiLlama coins","items":{"properties":{"change_1d_percent":{"description":"Price change over 1 day, in percent","type":["number","null"]},"change_7d_percent":{"description":"Price change over 7 days, in percent","type":["number","null"]},"points":{"description":"How many price points the change uses","type":"integer"},"status":{"description":"unsupported: no public source covers this chain","enum":["ok","unavailable","unsupported"],"type":"string"},"token":{"type":"string"}},"required":["token","status","change_1d_percent","change_7d_percent","points"],"type":"object"},"type":"array"},"risk_checklist":{"items":{"properties":{"id":{"type":"string"},"message":{"type":"string"},"name":{"type":"string"},"status":{"enum":["ok","warning","unknown"],"type":"string"},"triggered":{"type":"boolean"}},"required":["id","name","triggered","status","message"],"type":"object"},"type":"array"},"sources":{"items":{"properties":{"as_of":{"description":"ISO 8601 UTC time of the yields index read, or null when nothing was read","type":["string","null"]},"name":{"type":"string"},"note":{"type":"string"},"url":{"type":"string"}},"required":["name","as_of"],"type":"object"},"type":"array"},"status":{"description":"ok: one pool read. ambiguous: several pools, see other_tiers. needs_tokens: pass token addresses or a pool id. not_found: no match. unavailable: a source did not answer","enum":["ok","not_found","ambiguous","needs_tokens","unavailable"],"type":"string"},"token_risk":{"description":"GoPlus token-security flags per token, when the chain is covered","items":{"properties":{"buy_tax":{"description":"GoPlus scale, where 1 means 100%","type":["number","null"]},"cannot_buy":{"type":["boolean","null"]},"freeze_or_blacklist":{"type":["boolean","null"]},"holder_count":{"type":["number","null"]},"honeypot":{"type":["boolean","null"]},"mintable":{"type":["boolean","null"]},"notes":{"items":{"type":"string"},"type":"array"},"sell_tax":{"description":"GoPlus scale, where 1 means 100%","type":["number","null"]},"severe":{"description":"True when a severe flag is set, such as honeypot or cannot-buy","type":"boolean"},"status":{"description":"unsupported: no public source covers this chain","enum":["ok","unavailable","unsupported"],"type":"string"},"token":{"type":"string"},"top10_holder_percent":{"description":"Share held by the 10 largest holders, in percent","type":["number","null"]},"top_holder_percent":{"description":"Share held by the largest holder, in percent","type":["number","null"]},"trading_cooldown":{"type":["boolean","null"]},"transfer_pausable":{"type":["boolean","null"]},"trusted":{"type":["boolean","null"]}},"required":["token","status","severe","notes"],"type":"object"},"type":"array"},"warnings":{"items":{"type":"string"},"type":"array"}},"required":["status","apr_flag","sources","as_of","notice"],"type":"object"}⟨38 unchanged words⟩ "description":"Annualized fee APR in percent,suchnotasa fraction: 40 means 40%. For example the 1-day fee APR from check_pool","maximum" ⟨21 unchanged words⟩ "How many days the fee APR is applied, a whole number from 1 to 365, such as 14","maximum":365,"minimum":1,"type ⟨41 unchanged words⟩ price_now":{"description":"Current price, quote token per base token, such as 2500 for ETH in USDC","exclusiveMinimum":0,"type":"number"} ⟨18 unchanged words⟩
{"description":"Bad input, such as a price of 0 or price_lower above price_upper, is refused with invalid_input and a message instead of this shape","properties":{"assumptions":{"items":{"type ⟨4 unchanged words⟩ {"type":"string"},"break_even_prices":{"description":"Later prices where the net result crosses zero, from a sample","items":{"type":"number"},"type":"array"},"cost_fraction":{"description":"(gas_usd + exit_cost_usd) / capital_usd. null without capital_usd","type":["number","null"]},"exit_cost_usd ⟨4 unchanged words⟩ {"type":"string"},"fee_fraction":{"description":"Expected fee income over the holding period, as a fraction of the position: 0.0153 means 1.53%","type":"number"},"fees_cover_il_and_costs":{"description":"null without price_later","type":["boolean","null"]},"formula ⟨4 unchanged words⟩ "number","null"]},"il_fraction_at_later":{"description":"Impermanent loss at price_later as a negative fraction. null without price_later","type":["number","null"]},"in_range_now":{"description":"Whether price_now is inside the range. null for the full-range formula","type":["boolean","null"]},"net_versus_holding_at_later":{"description":"fee_fraction + il_fraction_at_later - cost_fraction","type":["number","null"]},"notice":{"type":"string"},"sampled_edges":{"items":{"additionalPropertiesproperties":true{"il_fraction":{"type":"number"},"net_versus_holding":{"type":"number"},"price":{"type":"number"}},"required":["price","il_fraction","net_versus_holding"],"type":"object"},"type":"array ⟨22 unchanged words⟩
⟨3 unchanged words⟩ :{"chains":{"description":"Optional chainnames.names, such as [\"base\"] or [\"ethereum\", \"arbitrum\"]. Supported: ethereum, base, arbitrum, optimism, polygon, bsc, avalanche, solana, zksync, linea, gnosis, scroll, mantle, celo, sonic, or sui. Omit to scan every chain in the index" ⟨30 unchanged words⟩ "description":"Minimum swap fee in percent, not a fraction: 0.3 means 0.3%. Read from pool metadata. Default 0.05","maximum":20 ⟨4 unchanged words⟩ },"min_volume_usd_1d":{"description":"Minimum 1-dayvolume.volume in USD. Default5000050000. Raise it, for example to 1000000, to skip small pools with a one-day spike","minimum":0,"type":"number"} ⟨2 unchanged words⟩
{"properties":{"as_of":{"description":"ISO 8601 UTC time of the yields index read, or null when nothing was read","type":["string","null"]},"count":{"type":"integer"},"fee_apr_formula":{"type":"string"},"message":{"type":"string"},"note":{"type":"string"},"notice":{"type":"string"},"pools":{"description":"Pools ranked by 1-day fee APR, highest first. Check tvl_usd and apr_flag before leading with one","items":{"additionalPropertiesproperties":true{"apr_flag":{"description":"real: steady trading. spike: a short burst, not a steady rate. unconfirmed: no 7-day comparison, do not call it real","enum":["real","spike","unconfirmed"],"type":"string"},"apr_flag_reason":{"type":"string"},"chain":{"type":"string"},"exposure":{"type":["string","null"]},"fee_rate":{"description":"Swap fee as a fraction, not a percent: 0.003 means 0.3%. Read from pool_meta","minimum":0,"type":["number","null"]},"il_risk":{"type":["string","null"]},"pool_id":{"type":"string"},"pool_meta":{"description":"DefiLlama pool label, often the fee tier such as \"0.3%\"","type":["string","null"]},"project":{"type":"string"},"published_apy":{"properties":{"apy":{"type":["number","null"]},"apy_base":{"type":["number","null"]},"apy_base_7d":{"type":["number","null"]},"apy_reward":{"type":["number","null"]},"outlier":{"type":"boolean"}},"required":["apy","apy_base","apy_reward","apy_base_7d","outlier"],"type":"object"},"symbol":{"type":"string"},"tokens":{"items":{"type":"string"},"type":"array"},"tvl_usd":{"description":"Total value locked in the pool, in USD","type":["number","null"]},"windows":{"properties":{"fee_apr_percent_1d":{"description":"Fee APR in percent from 1-day volume: volume x fee_rate x 365 / TVL x 100","type":["number","null"]},"fee_apr_percent_7d":{"description":"Fee APR in percent from 7-day volume, annualized the same way","type":["number","null"]},"volume_usd_1d":{"description":"Trading volume over the last day, in USD","type":["number","null"]},"volume_usd_7d":{"description":"Trading volume over the last 7 days, in USD","type":["number","null"]}},"required":["volume_usd_1d","volume_usd_7d","fee_apr_percent_1d","fee_apr_percent_7d"],"type":"object"}},"required":["pool_id","chain","project","symbol","tvl_usd","fee_rate","windows","published_apy","tokens","apr_flag","apr_flag_reason"],"type":"object"},"type":"array"},"sources":{"items":{"additionalPropertiesproperties":true{"as_of":{"description":"ISO 8601 UTC time of the yields index read, or null when nothing was read","type":["string","null"]},"name":{"type":"string"},"note":{"type":"string"},"url":{"type":"string"}},"required":["name","as_of"],"type":"object"},"type":"array"},"status":{"description":"unavailable: the yields index could not be read; try again later","enum":["ok","unavailable"],"type ⟨10 unchanged words⟩