Felix MCP
NPM · FELIX-MCP · SCANNED SEP 25
Non-custodial trading infrastructure for AI agents across prediction markets, crypto, and options.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 35 of 125 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency19
- Repository check failed: no source repository is declared. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 22 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability88
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 12534 tokens (~94/item across 132 items; 125 tools + 7 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management80
- Stability observed for 24 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
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 7 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 126 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
How do I install the Felix MCP server?
Felix MCP runs locally as an npm package, launched with npx -y felix-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · felix-mcp
claude mcp add trade-felix-mcp -- npx -y felix-mcp
{
"mcpServers": {
"trade-felix-mcp": {
"command": "npx",
"args": [
"-y",
"felix-mcp"
]
}
}
} {
"servers": {
"trade-felix-mcp": {
"command": "npx",
"args": [
"-y",
"felix-mcp"
]
}
}
} codex mcp add trade-felix-mcp -- npx -y felix-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"trade-felix-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"felix-mcp"
],
"enabled": true
}
}
} openclaw mcp add trade-felix-mcp --command npx --arg -y --arg felix-mcp
mcp_servers:
trade-felix-mcp:
command: "npx"
args: ["-y", "felix-mcp"] {
"McpServers": {
"trade-felix-mcp": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"felix-mcp"
]
}
}
} assistant mcp add trade-felix-mcp -t stdio -c npx -a -y felix-mcp
{
"mcpServers": {
"trade-felix-mcp": {
"command": "npx",
"args": [
"-y",
"felix-mcp"
]
}
}
} 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.
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 24 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.
- 22 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.
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 25 Sept 2026 · Analysed npm/felix-mcp@2.0.110
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 125 packages
| Packages resolved | 125 |
|---|---|
| Stale | 35 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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 →
add_withdrawal_address ~101
Authorize a withdrawal address immediately. Felix prepares the exact destination, signs it with the local owner key, and activates it in one call; there is no waiting period and the key never leaves this process.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | Optional owned child account UUID. Reload the launcher key before targeting a child. |
| address | string | yes | 0x Polygon address to allowlist. |
| chain | string | – | Chain. Defaults to polygon. |
No output schema declared.
No examples provided.
agent_status ~35
Status, run count, PnL, and last decision for one deployed agent.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | Agent UUID. |
No output schema declared.
No examples provided.
approve_polymarket_wallet ~88
Locally sign and relay only the fixed pUSD/CTF exchange approval batch for the caller-owned deposit wallet. Requires FELIX_OWNER_PRIVATE_KEY in single-user stdio mode.
| Name | Type | Req | Description |
|---|---|---|---|
| dry_run | boolean | – | Read approval state without signing or submitting a relayer operation. |
| idempotency_key | string | – | Optional retry-safety key for preparation. Auto-generated when omitted. |
No output schema declared.
No examples provided.
archive_account ~73
Owner-pause and archive a flat child account, revoke every child key, and retain wallet and financial records for audit.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | Owned child account UUID. |
| confirm_account_id | string | yes | Must exactly repeat account_id. |
| idempotency_key | string | yes | Required stable archive workflow key. |
No output schema declared.
No examples provided.
backtest ~228
Backtest a compiled or hand-written strategy on real historical data before deployment. Returns the chart-ready summary by default. Use start_backtest for large histories. Use get_strategy_guide or felix://strategy/examples for the code contract and working examples.
| Name | Type | Req | Description |
|---|---|---|---|
| bars | integer | – | Historical bars; interval-specific limits apply and are validated locally. |
| capital | number | – | Starting capital. |
| detail | string | – | summary (default) or full raw result. |
| idempotency_key | string | – | Optional retry-safety key. Reuse the exact key after an interrupted synchronous request. |
| interval | string | – | 1m|5m|15m|1h|4h|1d |
| markets | array | – | Optional instruments/markets, max 4. |
| name | string | – | Display name, max 80 characters. |
| strategy | object | yes | Strategy from generate_strategy, or {config:{code:'def think(ctx): ...'}}. |
| years | number | – | Historical years. Overrides bars; use interval=1d for up to 40 years. |
No output schema declared.
No examples provided.
bring_home ~210
Return venue collateral to the original verified owner wallet. Omit amount_usd for a full prediction-market sweep. Crypto returns are long-running (usually 3-15 minutes), emit progress, and must be retried only with the same idempotency key after a client timeout. Derive has no caller-selected destination; prediction-market and crypto returns require the owner key locally.
| Name | Type | Req | Description |
|---|---|---|---|
| allow_high_fee_loss | boolean | – | Crypto only: explicitly accept the fixed venue fee when returning less than $10. Never enabled by default. |
| amount_usd | number | – | Amount to return. Omit to sweep the full spendable prediction-market balance. |
| idempotency_key | string | yes | Required workflow replay key. Reuse it after any timeout or restart. |
| resume_reconciliation | boolean | – | Crypto only: with a fresh workflow key, resume a prior confirmed venue withdrawal only when the owner-held Arbitrum balance matches the bounded post-fee amount. |
| venue | string | yes | Source market account. |
No output schema declared.
No examples provided.
cancel_exit_plan ~49
Cancel an armed exit plan. A plan already triggering cannot be cancelled.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotency_key | string | yes | Required retry-safety key. |
| position_id | string | yes | Owned position UUID. |
No output schema declared.
No examples provided.
cancel_order ~45
Request cancellation of an open/resting order. Filled paper orders are not cancellable; close the returned position_id instead.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | Open/resting order id. |
No output schema declared.
No examples provided.
close_position ~77
Close a caller-owned position by id. Derive closes use a durable asynchronous operation and bounded polling; never resubmit a pending close with a new key.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotency_key | string | – | Optional retry-safety key. Auto-generated when omitted. |
| position_id | string | yes | UUID position id returned by place_order or get_positions. |
No output schema declared.
No examples provided.
close_support_ticket ~56
Close a caller-owned support ticket. This does not delete its encrypted audit thread.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotency_key | string | – | Optional retry-safety key. Auto-generated when omitted. |
| ticket_id | string | yes | Support ticket UUID. |
No output schema declared.
No examples provided.
complete_hyperliquid_onboarding ~105
Submit the main wallet's exact approveAgent signature and verify the scoped API-wallet relationship on Hyperliquid.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | Optional caller-owned Felix subaccount UUID. |
| idempotency_key | string | – | Optional retry-safety key. Auto-generated when omitted. |
| onboarding_id | string | yes | Hyperliquid onboarding UUID. |
| signature | string | yes | 65-byte EIP-712 signature from the stated Hyperliquid main wallet. |
No output schema declared.
No examples provided.
complete_wallet_onboarding ~128
Verify and relay the owner's locally validated exact Safe module-enable and fallback-handler signatures, then link the client-owned wallet. Follow felix://getting-started.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | Optional child account UUID. |
| enable_signature | string | yes | 0x-prefixed 65-byte canonical Safe signature. |
| fallback_signature | string | yes | 0x-prefixed 65-byte canonical signature for the returned fallback_safetx. |
| idempotency_key | string | – | Optional retry-safety key. Auto-generated when omitted. |
| onboarding_id | string | yes | Onboarding UUID. |
No output schema declared.
No examples provided.
confirm_withdrawal_address ~69
Re-authorize a legacy withdrawal-address entry immediately with the local owner key. New addresses need only add_withdrawal_address.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | Optional owned child account UUID. Reload the launcher key before targeting a child. |
| addr_id | string | yes | Withdrawal address UUID. |
No output schema declared.
No examples provided.
create_account ~392
Create the normal real-money Felix account without spending chain gas on an empty wallet. The first call reserves an isolated identity and returns its Polygon deposit address. After at least $5 in accepted USDC is present, retry the exact same idempotency_key; Felix then locally authorizes the non-custodial Safe, mints an owner-signed live key, and activates it in about 60-120 seconds without exposing either private key. Emits progress every 15 seconds. Requires the registered local owner signer and launcher manage key. Cold start: felix://getting-started.
| Name | Type | Req | Description |
|---|---|---|---|
| accept_terms | boolean | yes | Must be true to confirm acceptance of Felix Terms of Service, Privacy Policy, and Risk Disclosure. |
| delegation_days | integer | – | Delegation duration in days. Defaults to 30; maximum 90. |
| string | – | Optional new email for the isolated child. Omit to generate an internal identity. | |
| idempotency_key | string | yes | Stable account-creation key. Reuse the exact value after any interruption. |
| label | string | – | Optional account/live-key label. |
| legal_version | string | – | Current Felix legal bundle version. Omit to use the version bundled with this MCP build. |
| lifetime_limit_usd | number | – | Optional Safe delegation lifetime safety ceiling. Defaults/maxes at $1B. |
| max_daily_loss_usd | number | – | Optional owner-authorized daily loss safety ceiling. Defaults/maxes at $100M. |
| max_daily_usd | number | – | Optional owner-authorized daily notional safety ceiling. Defaults/maxes at the account's $100M daily limit. |
| max_order_usd | number | – | Optional owner-authorized per-order safety ceiling. Defaults/maxes at the account's $10M operation limit. |
| resume_reconciliation | boolean | – | Set true only to resume this exact workflow after inspecting an interrupted attempt. |
No output schema declared.
No examples provided.
create_referral ~67
Create or fetch a referral code/rev-share link for the caller.
| Name | Type | Req | Description |
|---|---|---|---|
| label | string | – | Optional label/source, up to 60 characters. |
| rev_share_bps | integer | – | Referral rev-share in basis points, from 0 to 100. Defaults to 20. |
No output schema declared.
No examples provided.
create_support_ticket ~135
Open an encrypted two-way Felix support ticket. The ticket is account-scoped, idempotent, rate-limited, and readable only by this account and Felix support.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Problem area. Defaults to support. |
| context | object | – | Optional diagnostic identifiers only; never include secrets. |
| idempotency_key | string | – | Optional retry-safety key. Auto-generated when omitted. |
| message | string | yes | Problem description, 10-4000 characters. |
| severity | string | – | Severity. Defaults to medium. |
| subject | string | yes | Short problem summary, 4-160 characters. |
No output schema declared.
No examples provided.
create_webhook ~68
Create an HTTPS webhook for fills/positions/agent events. Returns signing_secret once.
| Name | Type | Req | Description |
|---|---|---|---|
| events | array | – | Events: order.filled, position.opened, position.closed, agent.decision, agent.error. |
| url | string | yes | Public HTTPS URL. No localhost/private IPs. |
No output schema declared.
No examples provided.
delete_webhook ~26
Delete a webhook by id.
| Name | Type | Req | Description |
|---|---|---|---|
| webhook_id | string | yes | Webhook UUID. |
No output schema declared.
No examples provided.
deploy_agent ~592
Deploy a compiled or hand-written strategy as a live agent by default. markets binds every open to one of 1-4 owner-selected instruments and should match the backtest. Stop loss and other server-monitored exits are optional on Hyperliquid and Derive; omit them to let the strategy manage exits. Polymarket does not support server exit plans, so omit those fields and let the strategy or market resolution close exposure. If a requested supported exit plan cannot be armed after a fill, Felix pauses and attempts a reduce-only unwind. Hyperliquid leverage is blocked unless allow_leverage:true is explicit. Set mode:paper explicitly to simulate. Live supports Hyperliquid, Derive, and Polymarket through venue-scoped execution signing. A Polymarket binding such as btc-updown-5m authorizes only its current timestamped child. See felix://strategy/ctx-api for the think(ctx) contract.
| Name | Type | Req | Description |
|---|---|---|---|
| allow_leverage | boolean | – | Explicitly permit a live Hyperliquid perp agent to exceed free collateral. Omitted or false blocks leveraged exposure before signing. |
| break_even_after_pct | number | – | Optional profit fraction that activates a break-even exit. |
| budget_usd | number | yes | Explicit agent capital budget. |
| cycle_seconds | number | – | Loop interval. Polymarket supports 5-86400 seconds; other venues support 30-86400 seconds. |
| idempotency_key | string | – | Optional retry-safety key. Reuse it to recover an interrupted deployment without creating a second agent. |
| markets | array | yes | One to four owner-authorized instruments. Every live open outside this list fails before signing. |
| max_daily_loss_usd | number | – | Explicit live realized-loss ceiling per UTC day; cannot exceed budget_usd or the active key's daily cap. |
| max_holding_minutes | number | – | Optional maximum position age in minutes. |
| max_position_usd | number | – | Explicit live per-position ceiling; cannot exceed budget_usd or the active key's order cap. |
| mode | string | – | paper|live. Defaults to live; set paper explicitly to simulate. |
| name | string | – | Agent name. |
| prompt | string | – | Optional source prompt for audit/history. |
| stop_loss_pct | number | – | Optional server-monitored hard-stop loss fraction for Hyperliquid and Derive agents, e.g. 0.05 for 5%. Omit it to run without a server stop. |
| strategy | object | yes | Compiled strategy from generate_strategy/backtest. |
| take_profit_pct | number | – | Optional server-monitored profit target fraction. |
| trailing_activation_pct | number | – | Optional profit fraction before the trailing stop arms. |
| trailing_stop_pct | number | – | Optional server-monitored trailing distance fraction. |
| venue | string | – | Optional preferred venue, e.g. hyperliquid, polymarket. |
No output schema declared.
No examples provided.
deploy_polymarket_wallet ~66
Deploy the caller-owned Polymarket deposit wallet without sending an owner key or signature to Felix.
| Name | Type | Req | Description |
|---|---|---|---|
| dry_run | boolean | – | Read deployment state without deploying or spending gas. |
| idempotency_key | string | – | Optional retry-safety key. Auto-generated when omitted. |
No output schema declared.
No examples provided.
deploy_wallet_onboarding ~105
Verify the owner's locally validated personal-sign challenge and activate the Safe policy wallet. Accepts a signature, never the owner key. Follow felix://getting-started.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | Optional child account UUID. |
| idempotency_key | string | – | Optional retry-safety key. Auto-generated when omitted. |
| onboarding_id | string | yes | Onboarding UUID. |
| proof_signature | string | yes | 0x-prefixed 65-byte owner proof signature. |
No output schema declared.
No examples provided.
derive_api_key ~192
Explicit paper-mode helper. Requires a registered local launcher identity plus paper:true, then creates an isolated zero-fund sandbox with a least-privilege paper key. For cold start read felix://getting-started; for real money use create_account.
| Name | Type | Req | Description |
|---|---|---|---|
| accept_terms | boolean | yes | Must be true to confirm acceptance of Felix Terms of Service, Privacy Policy, and Risk Disclosure. |
| activate | boolean | – | Switch this local MCP session to the derived key without exposing it. Raw key export is disabled. |
| string | – | Optional new email for the isolated child. Omit to generate a fresh internal child identity. | |
| label | string | – | Optional label, max 80 chars. Defaults server-side. |
| legal_version | string | – | Current Felix legal bundle version. Omit to use the version bundled with this MCP build. |
| paper | boolean | yes | Required explicit simulation selection. Must be true. |
No output schema declared.
No examples provided.
fund_market ~238
Route funds from the client-owned main EOA to prediction markets, crypto, or Derive options. Native Polygon USDC is automatically converted to USDC.e only as needed, with hashes disclosed. Felix may cover required gas; the owner key signs locally and never reaches Felix.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | Target a specific child account (UUID) instead of the launcher's default account. The child owner key is derived locally; it never reaches Felix. |
| amount_usd | number | yes | Amount to fund. |
| auto_swap_native_usdc | boolean | – | Automatically convert only the native Polygon USDC needed for this funding operation. Defaults to true; set false to require a separate explicit swap. |
| idempotency_key | string | yes | Required workflow replay key. Reuse it after any timeout or restart. |
| minimum_receive_usd | number | – | Optional minimum final venue credit. The route fails closed before submission when its bounded quote cannot satisfy this floor. |
| resume_reconciliation | boolean | – | Set true only after independently confirming the original workflow has no pending or unrecorded side effect. |
| venue | string | yes | Target market account. |
No output schema declared.
No examples provided.
fund_polymarket_agent_wallet ~136
Set up the caller's distinct venue-scoped autonomous Polymarket wallet, then locally sign one exact pUSD transfer to it. Felix cannot redirect the destination and never receives the owner key. Use this before deploying a live Polymarket agent; direct client-signed orders continue using the client-owned wallet.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | Optional owned child account UUID. |
| amount_usd | number | yes | Exact pUSD amount to transfer from the client-owned Polymarket wallet to the autonomous agent wallet. |
| idempotency_key | string | yes | Required durable workflow key, 1-128 printable ASCII characters. |
No output schema declared.
No examples provided.
generate_strategy ~67
Turn a plain-English idea into a runnable def think(ctx) strategy. This uses the account's generation budget; get_strategy_guide or felix://strategy/ctx-api always provides the complete manual authoring contract for free.
| Name | Type | Req | Description |
|---|---|---|---|
| prompt | string | yes | Strategy idea under 4000 characters. |
No output schema declared.
No examples provided.
get_agent_log ~82
Read a caller-owned agent's durable decision log, including each decision, runtime outcome, block/error reason, market snapshot, and latency.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | Agent UUID. |
| before | string | – | Optional ISO-8601 cursor returned as next_before. |
| limit | integer | – | Maximum decisions, 1-100. Defaults to 50. |
No output schema declared.
No examples provided.
get_backtest_operation ~42
Read progress or the terminal result for a durable asynchronous backtest without starting another computation.
| Name | Type | Req | Description |
|---|---|---|---|
| operation_id | string | yes | Operation id returned by start_backtest. |
No output schema declared.
No examples provided.
get_balances ~107
Fast venue collateral snapshot plus Polygon cash and paper position count. Provider gaps are returned explicitly instead of hidden behind retries; set wait_for_complete:true to wait through the bounded Derive refresh cycle. This intentionally excludes marked Polymarket positions and owner-wallet balances on other chains; use get_money_map for canonical account-value and money-tracking decisions.
| Name | Type | Req | Description |
|---|---|---|---|
| wait_for_complete | boolean | – | Wait through up to two bounded Derive refresh attempts. Defaults to false for a fast, explicitly partial response. |
No output schema declared.
No examples provided.
get_close_operation ~45
Poll a caller-owned asynchronous close operation by its idempotency UUID. This never submits or retries an order.
| Name | Type | Req | Description |
|---|---|---|---|
| operation_id | string | yes | Operation UUID returned by close_position. |
No output schema declared.
No examples provided.
get_custody_recovery_status ~53
Verify that guided onboarding created an encrypted local recovery file which authenticates to the currently installed owner and launcher identity. Returns status only; no key, recovery code, credential, or file contents are exposed.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_deposit_address ~39
Client-owned Polygon deposit address. It accepts native USDC or bridged USDC.e; fund_market automatically converts native USDC locally when needed.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_derive_onboarding ~42
Read the current owner-signed Derive onboarding state. Never returns a private session key.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | Optional owned child account UUID. |
No output schema declared.
No examples provided.
get_earnings_calendar ~37
Upcoming earnings dates and estimates from the delayed market-data feed.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum events. Defaults to 15. |
No output schema declared.
No examples provided.
get_equity_option_chain ~80
Delayed consolidated equity-option chain for stocks and ETFs. This is distinct from tradeable Derive crypto options.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum normalized contracts. |
| max_expiries | integer | – | Near-term expiries to load, 1-4. Defaults to 2. |
| symbol | string | yes | Stock or ETF ticker. |
No output schema declared.
No examples provided.
get_exit_plan ~31
Read the encrypted exit plan attached to one owned position.
| Name | Type | Req | Description |
|---|---|---|---|
| position_id | string | yes | Owned position UUID. |
No output schema declared.
No examples provided.
get_fee_balance ~36
Read prepaid execution-fee credit. Live Polymarket and Derive opens reserve this credit before submission; withdrawals never collect trading fees.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_feedback ~28
Get one feedback report belonging to this Felix account.
| Name | Type | Req | Description |
|---|---|---|---|
| feedback_id | string | yes | Feedback UUID. |
No output schema declared.
No examples provided.
get_fees ~17
Current fee schedule by market and tier.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_fills ~34
Entry/exit fills with prices, fees, and realized PnL.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Optional max rows. |
No output schema declared.
No examples provided.
get_fundamentals ~41
Period-labelled company fundamentals. Live/TTM snapshots and filed figures are returned separately, never silently blended.
| Name | Type | Req | Description |
|---|---|---|---|
| symbol | string | yes | Stock ticker. |
No output schema declared.
No examples provided.
get_funding ~49
Perp funding rate for an instrument.
| Name | Type | Req | Description |
|---|---|---|---|
| instrument | string | yes | Instrument, e.g. BTC, NVDA, option:BTC-20260711-70000-C, pm:<slug>. |
No output schema declared.
No examples provided.
get_health ~17
Public liveness check. No key required.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_hyperliquid_onboarding ~55
Read and reconcile a caller-owned Hyperliquid API-wallet onboarding request.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | Optional caller-owned Felix subaccount UUID. |
| onboarding_id | string | yes | Hyperliquid onboarding UUID. |
No output schema declared.
No examples provided.
get_insights ~16
Account/API insights exposed by Felix.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_local_wallet ~52
Show the public address of the client-held launcher or deterministically derived child owner key. The private key is never returned.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | Optional child account UUID whose owner address should be derived locally. |
No output schema declared.
No examples provided.
get_market_streaming_guide ~50
Return the bundled secure WebSocket protocol, subscription, reconnect, and backpressure contract without an API key or network request. The same guide is published as felix://market-data/websocket.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_metrics ~41
Authenticated guide to client-observable reliability fields: request ID, server latency, retry timing, and the public status URL. Process and platform diagnostics are not returned.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_money_map ~132
One call that answers 'where is my money': every wallet, venue, and open-position balance as one flat list, each entry saying what it is for and which call moves it. Defaults to a fast snapshot with explicit freshness; set wait_for_complete:true to wait through bounded venue refreshes. Sources that cannot be verified are listed as unavailable, never assumed zero. Prefer this over get_balances for money-tracking decisions.
| Name | Type | Req | Description |
|---|---|---|---|
| wait_for_complete | boolean | – | Wait through bounded venue refreshes. Defaults to false; fast snapshots still expose complete, total_complete, spendable_complete, stale_sources, and unavailable. |
No output schema declared.
No examples provided.
get_money_operation ~49
Read durable progress or the terminal result for an asynchronous money operation without starting or repeating a transfer.
| Name | Type | Req | Description |
|---|---|---|---|
| operation_id | string | yes | Operation id returned by start_fund_market or start_bring_home. |
No output schema declared.
No examples provided.
get_network_fee_status ~47
Inspect any active funding network-fee obligation, whether owner funds moved, and whether Felix can safely release it without payment.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | Optional owned child account UUID. |
No output schema declared.
No examples provided.
What is the Felix MCP server?
Felix MCP is listed in the public MCP registry as trade.felix/mcp. Non-custodial trading infrastructure for AI agents across prediction markets, crypto, and options. This page covers its npm package (felix-mcp).
Is the Felix MCP server safe to use?
Felix MCP scores 78 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 25 September 2026. It declares no install or post-install scripts. 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 Felix MCP server expose?
Felix MCP exposes 125 tools: get_status, get_health, get_metrics, get_custody_recovery_status, get_strategy_guide, and 120 more. Their descriptions and schemas cost roughly 12,375 tokens of context every time the server is loaded.
Is the Felix MCP server still maintained?
Felix MCP is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Felix MCP server under?
Felix MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.