# OptimistFi (remote · mcp.optimistfi.com)

Perpetual futures across 40 venues, perps prop firms and sourced theses on 6,100+ US stocks.

- Trust score: 72/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-22

## Components

- remote · `mcp.optimistfi.com`: 72/100 (this document), [markdown](https://verifymcp.io/servers/com-optimistfi-optimistfi/mcp.md), [page](https://verifymcp.io/servers/com-optimistfi-optimistfi/mcp)

## Channel facts

- Endpoint: `https://mcp.optimistfi.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.30.1`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-22.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 57/100
  - AI-judged instruction clarity (excellent).
  - 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.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 10/100
  - Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (35% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 17 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### 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.

### Claude

```bash
claude mcp add --transport http com-optimistfi-optimistfi 'https://mcp.optimistfi.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-optimistfi-optimistfi": {
      "url": "https://mcp.optimistfi.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-optimistfi-optimistfi": {
      "type": "http",
      "url": "https://mcp.optimistfi.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-optimistfi-optimistfi]
url = "https://mcp.optimistfi.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-optimistfi-optimistfi": {
      "type": "remote",
      "url": "https://mcp.optimistfi.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-optimistfi-optimistfi --url 'https://mcp.optimistfi.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-optimistfi-optimistfi:
    url: "https://mcp.optimistfi.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-optimistfi-optimistfi": {
      "Transport": "http",
      "Url": "https://mcp.optimistfi.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-optimistfi-optimistfi -t streamable-http -u 'https://mcp.optimistfi.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-optimistfi-optimistfi": {
      "type": "http",
      "url": "https://mcp.optimistfi.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-22 (score 72, +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.

### 2026-10-20 (score 71, +1)

- [security] 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
- [functional improvement] Stability: unverified → 0.03
- [cosmetic] “get_perps_market” reworded the description of “parameters”
- [cosmetic] “get_perps_market” reworded the description of “view”

### 2026-10-19 (score 70)

First indexed and scored.

## MCP tools (17)

### `what_changed` (~220 tokens)

What changed recently

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.

Input parameters:

- `entity` (string, required): 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.

### `resolve_entity` (~98 tokens)

Resolve a company or ticker

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.

Input parameters:

- `query` (string, required): A company name, ticker or SEC CIK to identify; returns its name, ticker, CIK and FIGI.

### `get_calendar` (~170 tokens)

Upcoming dated events

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.

Input parameters:

- `entity` (string, required): 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.

Output parameters:

- `result` (array)

### `get_capital_returns` (~211 tokens)

Dividends & buybacks

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.

Input parameters:

- `entity` (string, required): 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).

Output parameters:

- `result` (array)

### `get_filings` (~254 tokens)

SEC filings & events

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.

Input parameters:

- `end`: Window end, YYYY-MM-DD.
- `entity` (string, required): 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.

### `get_congress_trades` (~155 tokens)

Congressional trades

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.

Input parameters:

- `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.

Output parameters:

- `result` (array)

### `answer` (~197 tokens)

Financial answer

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.

Input parameters:

- `entity` (string, required): 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.

### `get_perps` (~181 tokens)

Perpetual futures

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.

Input parameters:

- `entity` (string, required): 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.

### `get_perps_history` (~174 tokens)

Perpetual futures — history

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.

Input parameters:

- `entity` (string, required): 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).

### `get_prop_firms` (~301 tokens)

Prop firms for perpetual futures

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.

Input parameters:

- `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.

### `get_perps_desk` (~265 tokens)

Perps desk — news, traders and wallets

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.

Input parameters:

- `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.

### `get_perps_market` (~3880 tokens)

Perpetual futures — whole market

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.

Input parameters:

- `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…

### `compare` (~186 tokens)

Compare companies

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).

Input parameters:

- `entities` (array, required): 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.

### `get_track_record` (~194 tokens)

Track record

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.

Input parameters:

- `entity` (string, required): 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.

### `get_thesis` (~255 tokens)

Investment thesis

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.

Input parameters:

- `entity` (string, required): 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…

### `get_thesis_impact` (~274 tokens)

Thesis impact of an event

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.

Input parameters:

- `entity` (string, required): 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.

### `get_insider_trades` (~162 tokens)

Insider transactions

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.

Input parameters:

- `end`: Latest transaction date, YYYY-MM-DD.
- `entity` (string, required): 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.

Output parameters:

- `result` (array)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-optimistfi-optimistfi/mcp#diagnostics

## Score history

- 2026-10-22: 72
- 2026-10-21: 71
- 2026-10-20: 71
- 2026-10-19: 70

## Common questions

### 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.

## Links

- Remote endpoint: https://mcp.optimistfi.com/mcp
- Repository: https://github.com/OptimistFi/optimistfi-mcp
- Website: https://optimistfi.com/mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-optimistfi-optimistfi/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-optimistfi-optimistfi/mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-optimistfi-optimistfi/mcp
