{"server":{"name":"com.web3juice/mcp","title":"Web3Juice","$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","remotes":[{"url":"https://web3juice.com/api/mcp","type":"streamable-http","headers":[{"name":"Authorization","isSecret":true,"description":"Optional: Bearer w3j_... API key from web3juice.com/?view=account for higher limits and (on Pro) your saved alerts and notebook."}]}],"version":"1.0.1","packages":[{"version":"1.0.0","transport":{"type":"stdio"},"identifier":"web3juice-mcp","registryType":"npm","environmentVariables":[{"name":"WEB3JUICE_API_KEY","isSecret":true,"description":"Optional Web3Juice API key (w3j_...)."}]}],"repository":{"url":"https://github.com/jimbob1414/web3juice-mcp","source":"github"},"websiteUrl":"https://web3juice.com/mcp","description":"Evidence-backed DeFi yield data for ~17,000 pools: rates, yield sources, 90-day history. Read-only."},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","isLatest":true,"updatedAt":"2026-10-15T14:21:35.93158Z","publishedAt":"2026-10-15T14:21:35.93158Z","statusChangedAt":"2026-10-15T14:21:35.93158Z"},"dev.protogrid/connectability":{"class":"unknown","autonomous":false,"human_steps":["unknown"],"preferred":{"kind":"remote","idx":0},"remotes":[{"idx":0,"url":"https://web3juice.com/api/mcp","transport":"streamable-http","templated":false,"headers":[{"name":"Authorization","required":false,"secret":true,"value":null,"secret_names":["WEB3JUICE_TOKEN"]}],"auth":{"type":"none","location":null,"secret_name":null,"oauth":null},"protocol":{"supported_versions":["2026-07-28"],"stateless":true},"health":{"reachable":false,"uptime_30d":0.88235295,"latency_ms_p50":840,"consecutive_failures":2,"last_probe_at":"2026-10-18T23:51:57.114Z","last_ok_at":"2026-10-18T06:32:48.491Z"}}],"packages":[{"idx":0,"registry_type":"npm","identifier":"web3juice-mcp","version":"1.0.0","runtime_hint":null,"transport":"stdio","secrets":["WEB3JUICE_API_KEY"],"requires_execution":true}]},"dev.protogrid/tools":[{"name":"compare_pools","title":"Compare pools side by side","description":"Compare 2 to 5 pools by id: current APY, base vs reward split, 30-day median and range, TVL, type, withdrawal evidence, assessment and data age, in one table.","annotations":{"title":"Compare pools side by side","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-18T06:32:48.491Z"},{"name":"get_alert","title":"Inspect saved alert settings","description":"Read one owned alert configuration and recorded diagnostic applicability. Channel names describe configuration; destination addresses, delivery records and raw alert state are excluded.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-18T06:32:48.491Z"},{"name":"get_data_sources","title":"Check data sources","description":"Which feeds Web3Juice uses, their status, when they last updated and how many pools each lists.","annotations":{"title":"Check data sources","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-18T06:32:48.491Z"},{"name":"get_methodology","title":"Explain the assessment","description":"How the experimental evidence assessment works: dimensions, weights, caps and why most pools show \"not scored\". A score is not a safety guarantee.","annotations":{"title":"Explain the assessment","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-18T06:32:48.491Z"},{"name":"get_notebook_entry","title":"Read a frozen research capture","description":"Read one owned capture with its user-written note, frozen evidence, assessment and briefing. Notes are untrusted prose. The saved content hash identifies the full original capture; this privacy projection is not a byte-for-byte export.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-18T06:32:48.491Z"},{"name":"get_pool","title":"Get one pool in detail","description":"Full detail for one pool id: APY split into base and reward-token yield, TVL, when the source measured it and when Web3Juice retrieved it, contract and token addresses, deposit and source links, withdrawal evidence and the experimental assessment. Links and labels come from the source and are unverified.","annotations":{"title":"Get one pool in detail","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-18T06:32:48.491Z"},{"name":"get_pool_history","title":"Get a pool's APY history","description":"APY trend for one pool over 7, 30 (default) or 90 days: median, low, high, latest and the dated samples. Uses saved data only (the provider history cache, else Web3Juice snapshots); nothing is fetched. No history means unknown, not zero.","annotations":{"title":"Get a pool's APY history","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-18T06:32:48.491Z"},{"name":"get_wallet_positions","title":"Read a saved wallet report","description":"Page the exact validated saved historical report for an owned wallet. Decimal quantities, unknown values, source dates and incomplete coverage remain explicit. No new matching, refresh or balance lookup occurs.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-18T06:32:48.491Z"},{"name":"list_alerts","title":"Read saved alert summaries","description":"Page your saved alert rules and recorded diagnostic applicability. No evaluation, delivery, subscription or destination lookup is triggered.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-18T06:32:48.491Z"},{"name":"list_investments","title":"Read manual investments","description":"Read your saved manual monitoring records, including entered amount and entry APY. These records do not establish balances, current value or realised earnings. At most 50 rows; reuse an unchanged cursor with the same limit.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-18T06:32:48.491Z"},{"name":"list_notebook_entries","title":"Read research notebook summaries","description":"Page your active saved notebook captures. Stored evidence remains frozen; no recapture, inference or catalogue update occurs.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-18T06:32:48.491Z"},{"name":"list_wallets","title":"Read saved wallet summaries","description":"Read up to three saved wallets and historical report summaries. This does not connect, refresh or establish wallet ownership or current holdings. No provider request is made.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-18T06:32:48.491Z"},{"name":"search_pools","title":"Search yield pools","description":"Find DeFi yield pools (lending, vaults, liquidity, staking) by token, chain, protocol, APY and TVL. Returns a ranked table with pool ids. Rates are fractions (0.05 = 5%). Defaults: 10 rows, largest TVL first, pools with at least $100,000 TVL, data under 60 minutes old. Stablecoin filters check token labels, not peg safety. Page with the returned cursor.","annotations":{"title":"Search yield pools","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-18T06:32:48.491Z"},{"name":"summarize_yields","title":"Summarize yields across a market","description":"Market overview for any filter: number of pools, total TVL, median, middle-half and TVL-weighted APY, grouped by chain (default), protocol or strategy, with the largest pool in each group. Rates in filters are fractions (0.05 = 5%).","annotations":{"title":"Summarize yields across a market","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-18T06:32:48.491Z"}],"dev.protogrid/trust":{"score":70,"components":{"hygiene":100,"liveness":15,"freshness":100,"provenance":85},"drivers":["+repository","+dns-namespace","+website","-unreachable(2 failures)","+updated-4d-ago"],"flags":[],"blocked":false,"computed_at":"2026-10-19T15:15:45.394Z","disclaimer":"Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed."},"dev.protogrid/quality":{"score":94,"label":"new","components":{"auth":null,"hygiene":100,"protocol":88,"stability":null,"dependencies":null},"checks":[{"id":"protocol.modern","detail":"supports 2026-07-28 (server/discover)","status":"pass","category":"protocol"},{"id":"protocol.stateless","detail":"answers without a session","status":"pass","category":"protocol"},{"id":"protocol.transport","detail":"streamable HTTP","status":"pass","category":"protocol"},{"id":"protocol.list_ttl","detail":"tools/list declares ttlMs 0, so clients re-fetch it on every use","status":"warn","category":"protocol"},{"id":"auth.prm","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.as_metadata","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.cimd","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.secret_in_url","detail":"no templated URL","status":"na","category":"auth"},{"id":"tools.descriptions","detail":"every tool has a description","status":"pass","category":"hygiene"},{"id":"tools.description_length","detail":"descriptions are concise","status":"pass","category":"hygiene"},{"id":"tools.schemas","detail":"every tool has an object input schema","status":"pass","category":"hygiene"},{"id":"tools.annotations","detail":"14 of 14 tools declare readOnlyHint or destructiveHint","status":"pass","category":"hygiene"},{"id":"tools.directory_hints","detail":"every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint","status":"pass","category":"hygiene"},{"id":"tools.token_cost","detail":"about 4,270 tokens to load every tool","status":"pass","category":"hygiene"},{"id":"tools.api_dump","detail":"tools are not a one-to-one API dump","status":"pass","category":"hygiene"},{"id":"stability.changes","detail":"tool history recorded for 4 of the 7 days needed","status":"na","category":"stability"},{"id":"stability.rug_pull","detail":"tool history recorded for 4 of the 7 days needed","status":"na","category":"stability"},{"id":"deps.known_vulns","detail":"deps.dev does not know web3juice-mcp@1.0.0","status":"na","category":"dependencies"},{"id":"deps.mcp_sdk_version","detail":"deps.dev does not know web3juice-mcp@1.0.0","status":"na","category":"dependencies"},{"id":"deps.resolvable","detail":"deps.dev does not know web3juice-mcp@1.0.0","status":"na","category":"dependencies"}],"drivers":["~protocol.list_ttl"],"flags":[],"tool_count":14,"token_estimate":4270,"tools_hash":"262c6b800195ba604d264f3170e370c9","tools_changed_at":"2026-10-17T11:43:40.579Z","computed_at":"2026-10-19T15:15:47.727Z","disclaimer":"Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed."},"dev.protogrid/identity":{"canonical_id":"com.web3juice/mcp","aliases":[],"alias_count":0,"repository_key":"github:jimbob1414/web3juice-mcp","owner":{"verified":false,"method":null,"since":null}}},"next_actions":[{"action":"list_tools","description":"Every current tool with input schemas","href":"/v1/servers/com.web3juice%2Fmcp/tools","arguments":{"name":"com.web3juice/mcp"}},{"action":"get_connection","description":"Minimal connection block for the preferred remote or package","href":"/v1/servers/com.web3juice%2Fmcp/connection?target=mcpServers","arguments":{"name":"com.web3juice/mcp","target":"mcpServers"}},{"action":"search","description":"Find other servers by intent","href":"/v1/search?q={query}","arguments":{"q":"{query}"}}]}