# OptimistFi

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

- name: com.optimistfi/optimistfi
- version: 1.30.1
- connection class: R0 (autonomous)
- trust: 100/100
- quality: 85/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.optimistfi%2Foptimistfi
- tools: https://api.protogrid.dev/v1/servers/com.optimistfi%2Foptimistfi/tools

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

## Connection (mcpServers)

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


## Trust

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

## Quality 85/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### 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: 93 (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`: 17 of 17 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- warn `tools.token_cost`: about 11,350 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 1 of the 7 days needed

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

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 17, about 11,350 tokens to load them all
- tool set hash: 083d519c329bbd1290d86fd1393bd3de
- tools last changed: 2026-10-19T18:22:21.187Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.optimistfi/optimistfi.svg)](https://protogrid.dev/servers/com.optimistfi/optimistfi)
- 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-19 `get_perps_market` changed (description, inputSchema) **meaning changed**
  - before: Perps across ~1,600 assets: trending, movers, funding, funding_gaps, premium, open_interest, liquidations, whales, new_listings, weekend, lean, leverage, builds, venues, market_series, funding_heatmap, returns, rsi, sessions. Use when the user asks: where can I trade 100x. Not for: one market → get_perps. Args: view; window; market; venue.
  - after: 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.
- 2026-10-19 `get_prop_firms` changed (description)
  - before: Perps prop firms from their own pages: rules, each challenge's price after any live code, discount codes, country, platforms, assets, max allocation. Use when the user asks: crypto prop firm rules; X discount code; cheapest $50K challenge; prop firms in the UAE. Args: firm; rule; account_usd; country; asset; on_chain; max_price_usd.
  - after: 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.
- 2026-10-19 `get_perps_market` changed (inputSchema)

Full history: https://api.protogrid.dev/v1/servers/com.optimistfi%2Foptimistfi/changes

## Remotes

- https://mcp.optimistfi.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (17)

- `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.
- `compare`: 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).
- `get_calendar`: 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.
- `get_capital_returns`: 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.
- `get_congress_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.
- `get_filings`: 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.
- `get_insider_trades`: 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.
- `get_perps`: 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.
- `get_perps_desk`: 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.
- `get_perps_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.
- `get_perps_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.
- `get_prop_firms`: 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.
- `get_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.
- `get_thesis_impact`: 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.
- `get_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.
- `resolve_entity`: 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.
- `what_changed`: 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.
