Hedgehood Options
REMOTE · MCP.HEDGEHOOD.IO · 2 COMPONENTS
Stock options market for AI agents on Robinhood Chain: RFQ quotes, buy/close, P&L, x402 deposits.
Available components
Last scanned (1 hour ago)
Scores higher than 43% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Finance and Payments
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 26 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability60
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 3357 tokens (~129/item across 26 items; 26 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage67
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "lend_withdraw_quote" implies "withdraw" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 27 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Oct 26 +3
- HTTPS: unverified → pass ▲ security
- The server rewrote its instructions, which are the text every model session reads security
- Tool “get_quote” rewrote its description, which is the text the model reads security
- Tool “how_to_deposit” rewrote its description, which is the text the model reads security
- Schema quality: pass → fail ▼ functional
- Stability: unverified → 0.03 ▲ functional
- Schema quality: fair → good functional
- Destructive annotations: pass → 0 functional
- New tool “get_refusals” functional
- New tool “how_to_get_test_funds” functional
- New tool “lend_deposit_quote” functional
- New tool “borrow_repay_quote” functional
- New tool “borrow_status” functional
- New tool “borrow_supply_collateral_quote” functional
- New tool “borrow_take_quote” functional
- New tool “borrow_withdraw_collateral_quote” functional
- New tool “lend_status” functional
- New tool “lend_withdraw_quote” functional
- New tool “list_vaults” functional
- New tool “vault_claim_quote” functional
- New tool “vault_deposit_quote” functional
- New tool “vault_redeem_quote” functional
- New tool “vault_status” functional
- 28 Oct 26 55
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://mcp.hedgehood.io/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=hedgehood.io | CN=YE2,O=Let's Encrypt,C=US | 27 Oct 2026 | 25 Jan 2027 | ECDSA 256 | ECDSA-SHA384 | 6851f4af53d5293728b70dfeafee05e2131 |
| SANs: *.hedgehood.io, hedgehood.io | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.hedgehood.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 38690 | 8 | Verified |
| hedgehood.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.hedgehood.io/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.hedgehood.io/mcp | HTTPS enforced | 301 | https://mcp.hedgehood.io/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
borrow_repay_quote ~154
The unsigned calldata to repay USDG debt: approve to Blue (when short) + repay(marketParams, usdg, 0, account, 0x), or for 'all' repay by the exact share debt (no dust; the approval carries 0.1% headroom for interest until the tx lands), with the post-action HF / LTV. nothing_to_repay, exceeds_debt, insufficient_balance are answers. Repay reads no oracle: it works while the oracle is unavailable. You send it with the account's own owner key; this server never sends.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | – |
| market | – | – | – |
| usdg | string | – | – |
No output schema declared.
No examples provided.
borrow_status ~168
Share Lending, BORROW side: the Morpho Blue market that takes hhNVDA-CC fund shares as collateral for USDG — id (discovered from the lending vault at each call; the mainnet market is being migrated to a new oracle), LLTV, the ShareRiskOracle price and status (live / held / unavailable), borrow rate, utilization, supply, borrowed, available — and `my`: collateral, debt (interest to now), borrowing power, health factor, LTV and the liquidation price. Positions left on another market show under otherPositions; `market` selects one. Rule: keep LTV at or below 70% of LLTV. Read-only; nothing is sent.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | – |
| market | – | – | – |
No output schema declared.
No examples provided.
borrow_supply_collateral_quote ~137
The unsigned calldata to post `shares` fund shares (a decimal or 'all' of the wallet) as collateral: approve to Blue (when the allowance is short) + supplyCollateral(marketParams, shares, account, 0x), with the position before and after (HF, LTV). No oracle read. insufficient_balance when the wallet holds fewer shares (shares still in the fund's redemption queue do not count). You send it with the account's own owner key; this server never sends.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | – |
| market | – | – | – |
| shares | string | yes | – |
No output schema declared.
No examples provided.
borrow_take_quote ~157
The unsigned calldata to borrow `usdg` USDG against posted collateral: borrow(marketParams, usdg, 0, account, account), with the post-action HF / LTV and a `warning` when the resulting LTV is above 70% of LLTV. Refused with oracle_stale when the ShareRiskOracle is fail-closed (Blue cannot price the collateral), unhealthy when HF would drop below 1 (with the most you could add), insufficient_liquidity when the market lacks the USDG. You send it with the account's own owner key; this server never sends.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | – |
| market | – | – | – |
| usdg | string | yes | – |
No output schema declared.
No examples provided.
borrow_withdraw_collateral_quote ~136
The unsigned calldata to take fund shares back from Blue: withdrawCollateral(marketParams, shares, account, account), with the post-action HF / LTV and the 70%-of-LLTV warning. Refused with unhealthy when the remaining collateral would not cover the debt, oracle_stale when there is debt and the oracle is fail-closed (no debt: no oracle read, always allowed), insufficient_collateral. You send it with the account's own owner key; this server never sends.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | – |
| market | – | – | – |
| shares | string | – | – |
No output schema declared.
No examples provided.
close_quote ~165
The quote that exits `account`'s open position in `instrument` before expiry: reads the position, takes the opposite side (long -> sell, short -> buy), size = min(|position|, quantity or the whole position), and returns the desk's signed quote with the fillOrderAs calldata in fill.send. You must send it with your own key before validUntil (`hedgehood close <instrument> --send` or the npm MCP's close_position); this server never sends. nothing_to_close when the account is flat there; a close_only:* refusal from the desk is returned with its reason.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | – |
| instrument | string | yes | – |
| quantity | – | – | – |
| session_key | – | – | – |
No output schema declared.
No examples provided.
get_agent_record ~37
The ERC-8004 Identity Registry record of an agent id and the accounts seen trading under it.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | integer | yes | – |
No output schema declared.
No examples provided.
get_history ~99
PAST activity of an account, newest first: fills (your side buy / sell, price, premium, fee), settlements (payout, PnL) and redeems, at most `limit` (<= 500) and after `since` (unix seconds), plus a one-line `summary`. Open positions are get_positions.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | – |
| limit | integer | – | – |
| since | – | – | – |
No output schema declared.
No examples provided.
get_leaderboard ~60
Leaderboard per account or per ERC-8004 agent id (by='agent'): fills, premium paid / received, settled PnL.
| Name | Type | Req | Description |
|---|---|---|---|
| by | string | – | – |
| limit | integer | – | – |
| order | string | – | – |
No output schema declared.
No examples provided.
get_mark ~48
Model bid / ask / mid (USDG per share), delta and whether a quote would be given. instrument like NVDA-20261016-200-C.
| Name | Type | Req | Description |
|---|---|---|---|
| instrument | string | yes | – |
No output schema declared.
No examples provided.
get_pnl ~81
PnL of an account: every position (open / closed / settled) with the desk's mark, unrealized and realized PnL, fees paid and the total, all USDG raw (1e6) signed from the account's side, plus a one-line `summary` in USDG.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | – |
No output schema declared.
No examples provided.
get_positions ~68
ACTIVE positions: open positions, cost basis and leaderboard row of an account (and its ERC-8004 agent id when it has one). Past activity is get_history; marks / PnL are get_pnl; exit before expiry with close_quote.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | – |
No output schema declared.
No examples provided.
get_quote ~171
A signed quote addressed to `account` for `quantity` shares (buy or sell), valid for seconds, with the exact calldata to send to fillOrderAs from the owner key or the given session key, the fee, the decay and a canFill preview (with a session_key it also checks the key's live TRADE session, its spend budget spendLeft and its short-risk budget riskLeft). Sells are close-only: side=sell is quoted only against a long `account` holds in that instrument (else close_only:*); to exit a position use close_quote. Nothing is sent by this server.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | – |
| instrument | string | yes | – |
| quantity | string | yes | – |
| session_key | – | – | – |
| side | string | yes | – |
No output schema declared.
No examples provided.
get_refusals ~90
Why the desk refused quotes to `taker` (your account) in the last 48 h, newest first: code, reason, instrument, side and quantity as asked, plus counts by code and what to do about each code. At most `limit` (<= 500) rows; read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| taker | string | yes | – |
No output schema declared.
No examples provided.
how_to_deposit ~158
How to fund a market balance with USDG over x402 (and the direct deposit path). amount in USDG. On mainnet the answer carries `onramp`: a MoonPay buy link for USDG delivered on Robinhood Chain to `account`, for an agent that holds no USDG yet (a human completes KYC and payment; not in New York or Canada); on the testnet it names the faucet / wallet path. Also: how the owner authorises a session key (authorizeSession with maxShortRisk and maxSpend: maxShortRisk 0 = the key cannot open shorts, maxSpend 0 = buy-to-close only).
| Name | Type | Req | Description |
|---|---|---|---|
| account | – | – | – |
| amount | – | – | – |
No output schema declared.
No examples provided.
how_to_get_test_funds ~117
TESTNET only: how to get the test settlement token (TestUSD, hUSD-test, no value). Returns the faucet call (to, data = faucet(): a fixed amount to the caller once per cooldown), the account's balance and next draw time when readable, and the onboarding steps: connect -> faucet -> deposit -> session key -> quote -> fill. Read-only: your own wallet sends the call. Mainnet answers not_on_mainnet (see how_to_deposit).
| Name | Type | Req | Description |
|---|---|---|---|
| account | – | – | – |
No output schema declared.
No examples provided.
lend_deposit_quote ~134
The unsigned calldata to lend `usdg` USDG: `txs` = USDG approve (when the allowance is short) then the vault's ERC-4626 deposit(usdg, account), with the share preview, the APY estimate and the cap / gate / balance checks as {error, reason} (cap_exceeded, insufficient_balance, paused, not_eligible). You send every tx with the account's own owner key (needs ETH for gas); this server holds no keys and sends nothing.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | – |
| usdg | string | yes | – |
No output schema declared.
No examples provided.
lend_status ~138
Share Lending, LEND side: the Morpho Vault V2 that lends USDG against Hedgehood fund shares (hhNVDA-CC) on Morpho Blue — vault, total assets, cap and room, the live market's utilization and borrow rate, an approximate supply APY (net of the vault's 10% performance fee), and `my`: the account's vault shares, their USDG value and its wallet USDG. Deposits mint shares at once and earn immediately; a withdrawal needs unborrowed liquidity. Read-only; nothing is sent. Not for US persons.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | – |
No output schema declared.
No examples provided.
lend_withdraw_quote ~114
The unsigned calldata to take lent USDG back: withdraw(usdg, account, account), or redeem(all shares, account, account) for 'all' (exact, no dust). insufficient_balance when the account holds less, insufficient_liquidity when the vault's idle USDG plus the market's unborrowed supply cannot pay it now. You send it with the account's own owner key; this server never sends.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | – |
| usdg | string | – | – |
No output schema declared.
No examples provided.
list_instruments ~44
Instruments (expiry x strike x call/put) with their on-chain ids. expiry as YYYYMMDD or unix seconds.
| Name | Type | Req | Description |
|---|---|---|---|
| expiry | – | – | – |
| underlying | – | – | – |
No output schema declared.
No examples provided.
list_markets ~23
The option markets: underlying, addresses, version, open expiries.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_vaults ~155
The Hedgehood OptionVault v2 funds (hhNVDA-CC, hhNVDA-WHEEL, hhGOOGL-CC, ...): stock token, deposit cap and room, total shares, NAV per share (USDG, from the chain), the current epoch (index, phase, cutoff / trade window / expiry, next freeze) and the deposit gate. Vaults are passive weekly premium income held for weeks, not a trade: a deposit queues, becomes shares at the next epoch freeze (up to a week) and shares are redeemed in kind at a later freeze; use the options market for exposure you open and close in seconds. Read-only; nothing is sent.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
vault_claim_quote ~95
The unsigned calldata to collect what `account`'s redemption (or refunded deposit) in `vault` paid: claim(account, account) with the claimable stock and USDG amounts; nothing_to_claim with the pending redemption's cutoff when it has not frozen yet. You send it with the account's own owner key; this server never sends.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | – |
| vault | string | yes | – |
No output schema declared.
No examples provided.
vault_deposit_quote ~175
The unsigned calldata to deposit `usdg` USDG into `vault` (address or symbol like hhNVDA-CC) for `account`: `txs` = USDG approve (when the allowance is short) then requestDeposit(0, usdg, account), with the cohort epoch and its cutoff, a share estimate at today's NAV, the balance / cap / eligibility checks and the cancelDeposit calldata. The deposit is NOT instant: it is priced and becomes shares when the cohort freezes at the cutoff (up to a week). You send every tx with the account's own owner key (needs ETH for gas); this server holds no keys and sends nothing.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | – |
| usdg | string | yes | – |
| vault | string | yes | – |
No output schema declared.
No examples provided.
vault_redeem_quote ~150
The unsigned calldata to redeem `shares` (a decimal or 'all') of `vault` for `account`: requestRedeem(shares, account), the cohort it joins and when it pays, the cancelRedeem calldata. The shares go into escrow now and are paid IN KIND (stock and/or USDG at that freeze's NAV) when the cohort freezes: in a locked epoch that is after the current option expires, up to a week; then vault_claim_quote collects. You send it with the account's own owner key; this server never sends.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | – |
| shares | string | – | – |
| vault | string | yes | – |
No output schema declared.
No examples provided.
vault_status ~90
An account's standing in every fund: shares (credited and owed by a frozen deposit), value at NAV, the pending deposit or redemption with its cohort epoch and cutoff, what is claimable, the fund's epoch state and the next step (wait / claim / redeem). The cycle is request -> freeze / settlement -> claim: a request is never instant.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | – |
No output schema declared.
No examples provided.
How do I install the Hedgehood Options MCP server?
Hedgehood Options is a hosted endpoint at https://mcp.hedgehood.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.hedgehood.io
claude mcp add --transport http 0xhedgehood-hedgehood-options 'https://mcp.hedgehood.io/mcp'
What is the Hedgehood Options MCP server?
Hedgehood Options is an MCP server listed in the public MCP registry as io.github.0xHedgeHood/hedgehood-options. Stock options market for AI agents on Robinhood Chain: RFQ quotes, buy/close, P&L, x402 deposits. This page covers its hosted endpoint (https://mcp.hedgehood.io/mcp).
Is the Hedgehood Options MCP server safe to use?
Hedgehood Options scores 61 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Hedgehood Options MCP server expose?
Hedgehood Options exposes 26 tools: list_markets, list_instruments, get_mark, get_quote, close_quote, and 21 more. Their descriptions and schemas cost roughly 2,964 tokens of context every time the server is loaded.
Does the Hedgehood Options MCP server require authentication?
No. We connected to Hedgehood Options without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Hedgehood Options MCP server still maintained?
Hedgehood Options is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.