# Web3Juice

> Evidence-backed DeFi yield data for ~17,000 pools: rates, yield sources, 90-day history. Read-only.

- name: com.web3juice/mcp
- version: 1.0.1
- connection class: R0 (autonomous)
- trust: 94/100
- quality: 94/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.web3juice%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/com.web3juice%2Fmcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "web3juice": {
      "type": "http",
      "url": "https://web3juice.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${WEB3JUICE_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${WEB3JUICE_TOKEN}`.

## Trust

- hygiene: 100
- liveness: 96
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-90% +updated-5d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 94/100 (new)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 14 of 14 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 4,270 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 5 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: deps.dev does not know web3juice-mcp@1.0.0

- tools: 14, about 4,270 tokens to load them all
- tool set hash: 262c6b800195ba604d264f3170e370c9
- tools last changed: 2026-10-17T11:43:40.579Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.web3juice/mcp.svg)](https://protogrid.dev/servers/com.web3juice/mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-17 `get_alert` changed (outputSchema)
- 2026-10-16 `get_notebook_entry` added
  - 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.
- 2026-10-16 `list_notebook_entries` added
  - Page your active saved notebook captures. Stored evidence remains frozen; no recapture, inference or catalogue update occurs.
- 2026-10-16 `get_alert` added
  - Read one owned alert configuration and recorded diagnostic applicability. Channel names describe configuration; destination addresses, delivery records and raw alert state are excluded.
- 2026-10-16 `list_alerts` added
  - Page your saved alert rules and recorded diagnostic applicability. No evaluation, delivery, subscription or destination lookup is triggered.
- 2026-10-16 `get_wallet_positions` added
  - 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.
- 2026-10-16 `list_wallets` added
  - 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.
- 2026-10-16 `list_investments` added
  - 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.

Full history: https://api.protogrid.dev/v1/servers/com.web3juice%2Fmcp/changes

## Dependencies

- npm web3juice-mcp@1.0.0: unknown

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://web3juice.com/api/mcp (streamable-http, auth none, reachable true, uptime30d 0.9)

## Packages

- npm web3juice-mcp@1.0.0 secrets: WEB3JUICE_API_KEY

## Tools (14)

- `compare_pools`: 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.
- `get_alert`: Read one owned alert configuration and recorded diagnostic applicability. Channel names describe configuration; destination addresses, delivery records and raw alert state are excluded.
- `get_data_sources`: Which feeds Web3Juice uses, their status, when they last updated and how many pools each lists.
- `get_methodology`: How the experimental evidence assessment works: dimensions, weights, caps and why most pools show "not scored". A score is not a safety guarantee.
- `get_notebook_entry`: 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.
- `get_pool`: 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.
- `get_pool_history`: 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.
- `get_wallet_positions`: 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.
- `list_alerts`: Page your saved alert rules and recorded diagnostic applicability. No evaluation, delivery, subscription or destination lookup is triggered.
- `list_investments`: 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.
- `list_notebook_entries`: Page your active saved notebook captures. Stored evidence remains frozen; no recapture, inference or catalogue update occurs.
- `list_wallets`: 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.
- `search_pools`: 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.
- `summarize_yields`: 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%).
