OptimistFi
REMOTE · MCP.OPTIMISTFI.COM
Perpetual futures across 40 venues, perps prop firms and sourced theses on 6,100+ US stocks.
Available components
Last scanned (16 hours ago)
Scores higher than 63% of remote servers
Reachable. Last reached 22 Oct 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 Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- 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 Usability57
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 7290 tokens (~428/item across 17 items; 17 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 Management10
- Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (35% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 17 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 18 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.
- 22 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.
- 20 Oct 26 +1
- Tool “get_perps_market” rewrote its description, which is the text the model reads security
- Tool “get_prop_firms” rewrote its description, which is the text the model reads security
- Stability: unverified → 0.03 ▲ functional
- “get_perps_market” reworded the description of “parameters” cosmetic
- “get_perps_market” reworded the description of “view” cosmetic
- 19 Oct 26 70
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 22 Oct 2026 · Probed https://mcp.optimistfi.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.optimistfi.com | CN=WE1,O=Google Trust Services,C=US | 26 Aug 2026 | 24 Nov 2026 | ECDSA 256 | ECDSA-SHA256 | e1240fd79b2a52e10e0ec4afdb5b19a4 |
| SANs: mcp.optimistfi.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.optimistfi.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| optimistfi.com. | 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 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.optimistfi.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.optimistfi.com/mcp | HTTPS enforced | 301 | https://mcp.optimistfi.com/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 →
answer Financial answer ~197
A stock's full read in one call: the standing investment case, valuation off its filed financials, and the latest quarter. Use when the user asks: is X a buy; is X cheap; what are X's earnings; how was X's quarter; did X beat. response_mode=plain for beginners. Not for: several companies → compare. Args: entity; response_mode.
| Name | Type | Req | Description |
|---|---|---|---|
| entity | string | yes | The company: a ticker (AAPL, BRK.B), a company name (Apple) or an SEC CIK. |
| reading_level | – | – | With response_mode plain, who the explanation is written for: 5 a complete beginner, 10 a general reader, 13 an informed investor (unset reads as 13, with precise figures). |
| response_mode | string | – | "standard" (default): the full read with the investment case; "plain": a short beginner-friendly explanation at the reading_level grade. |
No output schema declared.
No examples provided.
compare Compare companies ~186
Two or more companies side by side: each one's valuation, investment case, and what supports or challenges it, so the comparison rests on the cases, not just ratios. Use when the user asks: X vs Y; which is the better buy; is X or Y more defensive. response_mode=plain for beginners. Not for: one company → answer. Args: entities (2-5).
| Name | Type | Req | Description |
|---|---|---|---|
| entities | array | yes | Two to five companies or tickers to set side by side. |
| reading_level | – | – | With response_mode plain, who the explanation is written for: 5 a complete beginner, 10 a general reader, 13 an informed investor (unset reads as 13, with precise figures). |
| response_mode | string | – | "standard" (default): the full read with the investment case; "plain": a short beginner-friendly explanation at the reading_level grade. |
No output schema declared.
No examples provided.
get_calendar Upcoming dated events ~170
What is ahead for a company, nearest first: the next earnings date projected from its own filing cadence (held, not rolled, marked overdue when lapsed) and trial readouts. Use when the user asks: when does X report next; what's coming up for X. Not for: past events → get_filings; what the earnings were → answer. Args: entity; types; limit.
| Name | Type | Req | Description |
|---|---|---|---|
| entity | string | yes | The company: a ticker (AAPL, BRK.B), a company name (Apple) or an SEC CIK. |
| limit | integer | – | Most events, nearest first to return. |
| types | – | – | Kinds of dated event: "corporate_event" (projected earnings dates) and "fda_event" (clinical trial readouts); unset returns both. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | array | yes | – |
No examples provided.
get_capital_returns Dividends & buybacks ~211
How a company returns capital: dividend-rate history with each raise or cut, buyback authorizations beside the cash actually spent, splits and name changes. Forward ex-dates are not served. Use when the user asks: did X raise its dividend; is X buying back stock; has X cut it. Args: entity; kind = dividends | buybacks | actions.
| Name | Type | Req | Description |
|---|---|---|---|
| entity | string | yes | The company: a ticker (AAPL, BRK.B), a company name (Apple) or an SEC CIK. |
| kind | string | – | "dividends" (default): the declared per-share dividend over time, each raise or cut named; "buybacks": repurchase authorisations beside the cash actually spent; "actions": stock splits and name chang… |
| limit | integer | – | Most records to return. |
| periods | integer | – | How many of the latest filed periods to read (usually quarters). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | array | yes | – |
No examples provided.
get_congress_trades Congressional trades ~155
US House stock-trade disclosures (STOCK Act) by ticker or by member, dated by transaction. Use when the user asks: which members of Congress traded X; what did a named member buy; is Congress selling X. Not for: company insiders → get_insider_trades. Args: ticker or member; limit.
| Name | Type | Req | Description |
|---|---|---|---|
| chamber | string | – | "house" (default): US House disclosures by ticker or member. |
| entity | – | – | A company name, instead of a ticker. |
| limit | integer | – | Most trades, newest first to return. |
| member | – | – | A House member's name: what that member traded (House only). |
| ticker | – | – | A stock ticker: which members traded it. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | array | yes | – |
No examples provided.
get_filings SEC filings & events ~254
A company's own disclosures: filed 8-K events, its press releases, the text of those 8-Ks, and governance red flags (late filings, auditor changes, selling clusters). Use when the user asks: any red flags at X; what did X announce; latest 8-K from X. Not 10-K/10-Q sections. Args: entity; kind = events | press_releases | event_text | red_flags.
| Name | Type | Req | Description |
|---|---|---|---|
| end | – | – | Window end, YYYY-MM-DD. |
| entity | string | yes | The company: a ticker (AAPL, BRK.B), a company name (Apple) or an SEC CIK. |
| kind | string | – | "events" (default): filed 8-K events and how significant; "press_releases": the company's own releases; "event_text": the text of the latest filed events; "red_flags": late filings, auditor changes a… |
| limit | integer | – | Most records to return, newest first. For events it counts the 8-K filings; the declared dividends, insider trades and sentiment reading beside them come in addition, up to as many of each. |
| start | – | – | Window start, YYYY-MM-DD. |
No output schema declared.
No examples provided.
get_insider_trades Insider transactions ~162
Form 4 insider transactions for one company, newest first: who, role, code (P buy, S sell, A grant, M exercise, F tax), shares and dollar value. Use when the user asks: are insiders buying X; did X's CEO sell; insider activity at X. Not for: Congress → get_congress_trades. Args: entity; start; end; limit.
| Name | Type | Req | Description |
|---|---|---|---|
| end | – | – | Latest transaction date, YYYY-MM-DD. |
| entity | string | yes | The company: a ticker (AAPL, BRK.B), a company name (Apple) or an SEC CIK. |
| limit | integer | – | Most transactions, newest first to return. |
| start | – | – | Earliest transaction date, YYYY-MM-DD. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | array | yes | – |
No examples provided.
get_perps Perpetual futures ~181
One perp market right now, venue by venue: price and premium to the index or stock, open interest, funding, max leverage, liquidation levels, whale trades, positioning; a stock perp's weekend move. Use when the user asks: X funding rate; where do X longs get liquidated. Not for: trends or book depth → get_perps_history. Args: entity.
| Name | Type | Req | Description |
|---|---|---|---|
| entity | string | yes | The market: a ticker or symbol (NVDA, BTC, XAU), a company name (Tesla) or a common asset name (bitcoin, gold, crude oil). |
| max_age_s | number | – | Trading mode: maximum age of the venue's book in seconds, default 3. |
| mode | string | – | research: detailed hourly evidence; trading: bounded fresh order-book reads on supported venues, never an hourly-price fallback. |
No output schema declared.
No examples provided.
get_perps_desk Perps desk — news, traders and wallets ~265
OptimistFi's perps desk: its stories, the traders directory with checked calls, and the Hyperliquid wallets it covered. Use when the user asks: latest perps news on X; is trader Y worth following. Args: view; market; trader; wallet; limit.
| Name | Type | Req | Description |
|---|---|---|---|
| dex | string | – | account view only: Hyperliquid builder dex name, e.g. xyz; empty reads the main dex. |
| limit | integer | – | Rows, up to 25. |
| market | – | – | news and traders: one market (BTC, NVDA, gold). |
| max_age_s | number | – | account only: maximum source age in seconds, default 3. A stale or undated account is unavailable. |
| trader | – | – | traders: one trader by name or X handle. |
| view | string | – | news: the desk's published perps stories, newest first. traders: the perps traders directory, with the desk's checked calls on each. wallets: the Hyperliquid wallets the desk has covered, with their… |
| wallet | – | – | wallets: one 0x address; adds what it holds now. |
No output schema declared.
No examples provided.
get_perps_history Perpetual futures — history ~174
One perp market over time (1d to 90d): price, open interest, funding, taker buying vs selling, big accounts' net position; plus the latest book depth (±0.5/1/2%) and big accounts' P&L and leverage. Use when the user asks: X funding this week; are whales adding to X; how deep is X's book. Args: entity; window.
| Name | Type | Req | Description |
|---|---|---|---|
| entity | string | yes | The market: a ticker or symbol (NVDA, BTC, XAU), a company name (Tesla) or a common asset name (bitcoin, gold, crude oil). |
| window | string | – | How far back: 1d (hourly steps), 7d (4-hourly), 30d or 90d (daily). |
No output schema declared.
No examples provided.
get_perps_market Perpetual futures — whole market ~3,880
Perps market research and sized trade costs. trade/cost: BTC/ETH entry, holding and exit dollars from fresh books. Funding, OI, whales and advanced supplied-data studies. Use when the user asks: what does my position cost; where can I trade 100x. Not for: one market overview → get_perps. Args: view; workflow; parameters; market; venue.
| Name | Type | Req | Description |
|---|---|---|---|
| asset_class | – | – | Only this kind of market; unset reads every class. |
| indicator | – | – | indicators view: which one (td, atr, rsi, ma, ema, macd and boll read one market, named by market; the _list ones every market; coinbase_premium is Coinbase's BTC-USD against OKX's BTC-USDT; bitfinex… |
| interval | – | – | indicators view: the bar length for a market's indicator or a list (default 1h). |
| leverage | – | – | leverage view only: the leverage, one of 5, 10, 20, 50, 100, 200 or 500. |
| limit | integer | – | Rows per list, up to 25. |
| margin | – | – | funding_matrix only: stablecoin-margined markets (settled in a dollar stablecoin or US dollars), coin-margined (settled in the market's own coin), or either (each position takes a coin or a stablecoi… |
| market | – | – | One market (BTC, NVDA, gold) for whales, funding_gaps, funding_matrix, premium, new_listings, movers, market_overview, oi_caps, funding_heatmap, rsi, hl_cohorts, position_changes, twaps, liquidation_… |
| min_usd | – | – | whales and liquidation_feed: smallest trade or liquidation in USD; funding_gaps and premium: smallest open interest per listing (default $100K), an open-interest floor; open interest is not order-boo… |
| offset | integer | – | Rows to skip in each list: with limit, pages through a list's full length (count gives it where a view reports one; funding_matrix pages every row, the other views reach 2,000). |
| parameters | – | – | Validated workflow inputs. trade analysis=cost: market BTC/ETH, sizesUsd (1-6 sizes), side long/short, holdingHours, maxAgeSeconds default 3; live Hyperliquid/Lighter books, optional feeOverridesBps,… |
| period | – | – | week_in_numbers: a week, 2026-W42 (Monday 00:00 to Monday 00:00 UTC); venue_scorecard: a month, 2026-10. Unset: the latest closed one; the current one is served marked preview. |
| proven | boolean | – | whales only: true keeps the trades of proven whales, accounts whose large positions kept winning after they were picked. |
| section | – | – | hyperliquid view only: one section in full; unset gives every section's headline. stats: users, volume, open interest. validators: stake, commission, uptime, the active set, total staked over time. s… |
| side | – | – | whales and liquidation_feed: buys or sells (a short liquidated counts as a buy, a long as a sell). |
| venue | – | – | One venue id (hyperliquid, dydx, aster, lighter, gmx, …) for whales, new_listings, exchanges, open_interest (that venue's markets, with longs and shorts on a pool venue), large_orders, orderbook_heat… |
| view | string | – | trending: where open interest is building over window (1h, 4h or 24h; dollars added, which move with price as well as positions), and the most active markets. movers: the largest price moves up and d… |
| window | string | – | Look-back for liquidations, whales, new_listings, liquidation_feed, footprint (1h, 4h or 24h), cvd (24h hourly, 7d in four-hour steps), trending (positions building over 1h, 4h or 24h), position_chan… |
| workflow | – | – | Optional workflow inside this existing tool. trade: fresh supported books. carry: explicit economics; analysis=compare ranks equal-delta spot/perp/dated scenarios. funding: stored settlements or anal… |
No output schema declared.
No examples provided.
get_prop_firms Prop firms for perpetual futures ~301
Perps prop firms from their own pages: rules, challenge prices and live codes, country, platforms, assets, max allocation; a named firm's on-chain hedge book, reserves or payouts. Use when the user asks: prop firm rules; X discount code; cheapest $50K challenge; can Propr pay. Args: firm; rule; account_usd; country; asset; on_chain; max_price_usd.
| Name | Type | Req | Description |
|---|---|---|---|
| account_usd | – | – | Only challenges of this account size in dollars (50000): each firm's challenges at that size, cheapest to get funded first (the price after any live code plus any fee due on passing), and the firm's… |
| asset | – | – | Only firms that offer this asset class. |
| country | – | – | Only firms based in this country: where the firm says it operates, else where its contracting company is registered (United Arab Emirates or UAE, United States or US, Cayman Islands). |
| firm | – | – | One firm by name (Breakout, HyroTrader, Propr): its full record, every challenge and its dated rule changes. Unset: a short record per firm. |
| max_price_usd | – | – | Only firms whose cheapest published evaluation costs this much or less, in dollars (100). |
| on_chain | – | – | true: only firms whose trades execute on an on-chain venue. |
| rule | – | – | Only firms on one of OptimistFi's rule lists, by its slug. |
No output schema declared.
No examples provided.
get_thesis Investment thesis ~255
The standing investment case for a stock: the thesis, its testable claims with the condition that breaks each, the bear case, catalysts, whether it still holds. Use when the user asks: what's the bull case for X; what would break X's thesis; is X's story holding up. response_mode=plain for beginners. Not for: valuation → answer. Args: entity; view.
| Name | Type | Req | Description |
|---|---|---|---|
| entity | string | yes | The company: a ticker (AAPL, BRK.B), a company name (Apple) or an SEC CIK. |
| reading_level | – | – | With response_mode plain, who the explanation is written for: 5 a complete beginner, 10 a general reader, 13 an informed investor (unset reads as 13, with precise figures). |
| response_mode | string | – | "standard" (default): the full read with the investment case; "plain": a short beginner-friendly explanation at the reading_level grade. |
| view | string | – | "case" (default): the thesis, its testable claims, the bear case and catalysts; "review": the case re-checked against the latest filings; "story": whether the company's own narrative in its releases… |
No output schema declared.
No examples provided.
get_thesis_impact Thesis impact of an event ~274
One metric's recent quarters read against the investment case: the claim it tests, whether it supports or challenges it, and what it cannot prove. item=earnings covers revenue, profit and EPS. Use when the user asks: what do X's earnings mean for the thesis. response_mode=plain for beginners. Not for: the full read → answer. Args: entity; item.
| Name | Type | Req | Description |
|---|---|---|---|
| entity | string | yes | The company: a ticker (AAPL, BRK.B), a company name (Apple) or an SEC CIK. |
| item | string | – | The figure to read against the case: "earnings" (revenue, net income and diluted EPS together) or one metric: revenue, net_income, eps_diluted, gross_margin, operating_margin, net_margin, free_cash_f… |
| reading_level | – | – | With response_mode plain, who the explanation is written for: 5 a complete beginner, 10 a general reader, 13 an informed investor (unset reads as 13, with precise figures). |
| response_mode | string | – | "standard" (default): the full read with the investment case; "plain": a short beginner-friendly explanation at the reading_level grade. |
Structured output declared, but exposes no named fields.
No examples provided.
get_track_record Track record ~194
OptimistFi's dated track record on a company: each time a filing crossed or held its thesis's break condition. A crossing whose thesis predates the filing is a genuine call, dated before the event. Use when the user asks: has OptimistFi been right on X; did X's thesis break. response_mode=plain for beginners. Args: entity.
| Name | Type | Req | Description |
|---|---|---|---|
| entity | string | yes | The company: a ticker (AAPL, BRK.B), a company name (Apple) or an SEC CIK. |
| reading_level | – | – | With response_mode plain, who the explanation is written for: 5 a complete beginner, 10 a general reader, 13 an informed investor (unset reads as 13, with precise figures). |
| response_mode | string | – | "standard" (default): the full read with the investment case; "plain": a short beginner-friendly explanation at the reading_level grade. |
No output schema declared.
No examples provided.
resolve_entity Resolve a company or ticker ~98
Resolve a ticker, company name or CIK to the canonical company (name, ticker, CIK, FIGI), confirming which company a name means before other tools run. Use when the user asks: which company is X; what's the ticker for X; is X listed. Args: query.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | A company name, ticker or SEC CIK to identify; returns its name, ticker, CIK and FIGI. |
Structured output declared, but exposes no named fields.
No examples provided.
what_changed What changed recently ~220
What has happened for a company since a date, read against its case: the latest quarter's earnings, filings and 8-K events, insider trades, capital returns, price move. Use when the user asks: what changed with X; catch me up on X. response_mode=plain for beginners. Not for: the standing case → get_thesis. Args: entity; since.
| Name | Type | Req | Description |
|---|---|---|---|
| entity | string | yes | The company: a ticker (AAPL, BRK.B), a company name (Apple) or an SEC CIK. |
| reading_level | – | – | With response_mode plain, who the explanation is written for: 5 a complete beginner, 10 a general reader, 13 an informed investor (unset reads as 13, with precise figures). |
| response_mode | string | – | "standard" (default): the full read with the investment case; "plain": a short beginner-friendly explanation at the reading_level grade. |
| since | – | – | Window start as an ISO date (YYYY-MM-DD); unset reads the last 30 days. |
No output schema declared.
No examples provided.
How do I install the OptimistFi MCP server?
OptimistFi is a hosted endpoint at https://mcp.optimistfi.com/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.optimistfi.com
claude mcp add --transport http com-optimistfi-optimistfi 'https://mcp.optimistfi.com/mcp'
What is the OptimistFi MCP server?
OptimistFi is an MCP server listed in the public MCP registry as com.optimistfi/optimistfi. Perpetual futures across 40 venues, perps prop firms and sourced theses on 6,100+ US stocks. This page covers its hosted endpoint (https://mcp.optimistfi.com/mcp).
Is the OptimistFi MCP server safe to use?
OptimistFi scores 72 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 OptimistFi MCP server expose?
OptimistFi exposes 17 tools: what_changed, resolve_entity, get_calendar, get_capital_returns, get_filings, and 12 more. Their descriptions and schemas cost roughly 7,177 tokens of context every time the server is loaded.
Does the OptimistFi MCP server require authentication?
No. We connected to OptimistFi without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the OptimistFi MCP server still maintained?
OptimistFi is still listed as active in the MCP registry. We last reached this channel on 22 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.