MCP server intelligence profile

Public.com MCP Server

This MCP server connects AI assistants to a Public.com brokerage account, enabling natural language trading of stocks, options, and crypto, along with portfolio management, quotes, and orders

Local OnlyOfficial distributionPublicDotCom
Verified cleanPypi · 0.6.1

Our scanner tested version 0.6.1 without proving a finding in the methods exercised. This is not a guarantee that every deployment is secure.

1Distribution channel
37Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install publicdotcom-mcp-server from PyPI

Version 0.6.1 declares 1 executable entrypoint.

python -m pip install 'publicdotcom-mcp-server==0.6.1'
uvx --from 'publicdotcom-mcp-server==0.6.1' publicdotcom-mcp-server
MCP client configuration example
{
  "mcpServers": {
    "publicdotcom-mcp-server": {
      "command": "uvx",
      "args": [
        "--from",
        "publicdotcom-mcp-server==0.6.1",
        "publicdotcom-mcp-server"
      ]
    }
  }
}

Identity

Canonical slugpublic-com-mcp-server-5a1a5109DeploymentLocal Only
Canonical packagepypi:publicdotcom-mcp-serverRepositoryPublicDotCom/publicdotcom-mcp-server
First publishedAug 11, 2026Latest releaseAug 11, 2026
Last security verificationClassification confidence90%
PublicationPublishedOfficial distributionYes

Distributions

ChannelIdentifierCurrent versionVersionsSource
pypipublicdotcom-mcp-server0.6.11Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
pypipublicdotcom-mcp-server0.6.1CurrentAug 11, 202637 toolsSucceeded · 0 resources · 0 promptsFailed
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

Provenanceartifact_hash_verifiedSignature
MCP SDKpython_mcp_source_evidence Artifact SHA-25624c88c80976274a1fe7a63b8e7a3ab6d35b6f2acfb5a308fbcca475ecc795a5d
Scannermcp-proof-engine 0.1.0Scan completedAug 20, 2026
Security rating27 / 100Methodologyversion-rating-1.0
Executable entrypoints
[
  "publicdotcom-mcp-server"
]
Rating reasons
[
  "security_policy_not_observed"
]

Current protocol inventory

2025-06-18Negotiated protocol
Public.comServer-reported name
4Capability groups
Aug 19, 2026Observed

Tools 37

ToolCategoryAnnotationsRisk
cancel_and_replace_order Atomically cancel an existing order and replace it with new parameters. ⚠️ This modifies an existing order. Supported for equity, option, and crypto quantity orders. Args: order_id: UUID of the existing order to cancel and replace. order_type: MARKET, LIMIT, STOP, or STOP_LIMIT for the replacement. time_in_force: DAY or GTD. Default is DAY. quantity: New quantity for the replacement order. Mutually exclusive with amount. amount: New notional dollar amount for the replacement order. Mutually exclusive with quantity. limit_price: New limit price (for LIMIT/STOP_LIMIT orders). stop_price: New stop price (for STOP/STOP_LIMIT orders). expiration_time: Required when time_in_force is GTD. ISO 8601 format. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "order_id": {
      "title": "Order Id",
      "type": "string"
    },
    "order_type": {
      "title": "Order Type",
      "type": "string"
    },
    "time_in_force": {
      "default": "DAY",
      "title": "Time In Force",
      "type": "string"
    },
    "quantity": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Quantity"
    },
    "amount": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Amount"
    },
    "limit_price": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit Price"
    },
    "stop_price": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Stop Price"
    },
    "expiration_time": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expiration Time"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "order_id",
    "order_type"
  ],
  "title": "cancel_and_replace_orderArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "cancel_and_replace_orderOutput",
  "type": "object"
}
Annotations
{
  "title": "Cancel and Replace Order",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": false,
  "openWorldHint": true
}
WritesDestructiveNon-idempotentOpen world
cancel_order Cancel an existing order. Note: While most cancellations are processed immediately during market hours, this is not guaranteed. Use get_order to confirm cancellation. Args: order_id: The UUID of the order to cancel. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "order_id": {
      "title": "Order Id",
      "type": "string"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "order_id"
  ],
  "title": "cancel_orderArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "cancel_orderOutput",
  "type": "object"
}
Annotations
{
  "title": "Cancel Order",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": true
}
WritesDestructiveIdempotentOpen world
check_setup Verify that the Public.com API credentials are configured correctly. Checks the PUBLIC_COM_SECRET environment variable and attempts to authenticate. Run this first to confirm connectivity.
Input schema
{
  "properties": {},
  "title": "check_setupArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "check_setupOutput",
  "type": "object"
}
Annotations
{
  "title": "Check Setup",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
flatten_and_go_short Sell any existing long position in a symbol, then place a short-sale order. ⚠️ Experimental — this is a two-order workflow, not atomic. Market conditions may change between the flatten fill and the short entry. Both orders execute as real trades. If no long position exists the flatten step is skipped and only the short order is placed. Args: symbol: Ticker symbol (e.g. "AAPL"). short_quantity: Number of shares to short after flattening. order_type: MARKET, LIMIT, STOP, or STOP_LIMIT. Default is MARKET. time_in_force: DAY or GTD. Default is DAY. limit_price: Required for LIMIT and STOP_LIMIT orders. stop_price: Required for STOP and STOP_LIMIT orders. expiration_time: Required when time_in_force is GTD. ISO 8601 format. equity_market_session: CORE or EXTENDED. flatten_timeout: Seconds to wait for the flatten order to fill (default 60). account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "short_quantity": {
      "title": "Short Quantity",
      "type": "string"
    },
    "order_type": {
      "default": "MARKET",
      "title": "Order Type",
      "type": "string"
    },
    "time_in_force": {
      "default": "DAY",
      "title": "Time In Force",
      "type": "string"
    },
    "limit_price": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit Price"
    },
    "stop_price": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Stop Price"
    },
    "expiration_time": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expiration Time"
    },
    "equity_market_session": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Equity Market Session"
    },
    "flatten_timeout": {
      "default": 60,
      "title": "Flatten Timeout",
      "type": "number"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "symbol",
    "short_quantity"
  ],
  "title": "flatten_and_go_shortArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "flatten_and_go_shortOutput",
  "type": "object"
}
Annotations
{
  "title": "Flatten and Go Short",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": false,
  "openWorldHint": true
}
WritesDestructiveNon-idempotentOpen world
get_accounts List all brokerage accounts associated with the API key. Returns account IDs and types (BROKERAGE, HIGH_YIELD, etc.).
Input schema
{
  "properties": {},
  "title": "get_accountsArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_accountsOutput",
  "type": "object"
}
Annotations
{
  "title": "Get Accounts",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
get_all_instruments List all available tradeable instruments with optional filters. Args: type_filter: Filter by instrument types (e.g. ["EQUITY", "CRYPTO"]). Valid: EQUITY, CRYPTO, OPTION, ALT, BOND, INDEX, TREASURY. trading_filter: Filter by trading status (e.g. ["BUY_AND_SELL"]). Valid: BUY_AND_SELL, LIQUIDATION_ONLY, DISABLED. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "type_filter": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Type Filter"
    },
    "trading_filter": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Trading Filter"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "title": "get_all_instrumentsArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_all_instrumentsOutput",
  "type": "object"
}
Annotations
{
  "title": "Get All Instruments",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
get_bond_details Get comprehensive details for a single bond. Returns pricing, ratings, coupon schedule, maturity, and call information for the bond identified by its symbol. Args: symbol: Bond symbol, typically CUSIP-BOND format (e.g. "912810TM0-BOND"). account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "symbol"
  ],
  "title": "get_bond_detailsArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_bond_detailsOutput",
  "type": "object"
}
Annotations
{
  "title": "Get Bond Details",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
get_history Retrieve account transaction history. Returns trades, money movements (deposits, withdrawals, dividends), and position adjustments (splits, mergers). Args: account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set. start: Start timestamp in ISO 8601 format (e.g. 2025-01-15T09:00:00-05:00). end: End timestamp in ISO 8601 format. page_size: Max number of records to return. next_token: Pagination token for the next page.
Input schema
{
  "properties": {
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    },
    "start": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Start"
    },
    "end": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "End"
    },
    "page_size": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Page Size"
    },
    "next_token": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Next Token"
    }
  },
  "title": "get_historyArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_historyOutput",
  "type": "object"
}
Annotations
{
  "title": "Get History",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
get_instrument Get details about a specific tradeable instrument. Returns trading status, fractional trading availability, and option trading capabilities. Args: symbol: Ticker symbol (e.g. "AAPL"). instrument_type: One of EQUITY, CRYPTO, OPTION, INDEX, ALT, BOND, TREASURY. Default is EQUITY.
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "instrument_type": {
      "default": "EQUITY",
      "title": "Instrument Type",
      "type": "string"
    }
  },
  "required": [
    "symbol"
  ],
  "title": "get_instrumentArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_instrumentOutput",
  "type": "object"
}
Annotations
{
  "title": "Get Instrument",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
get_option_chain Get the full option chain (calls and puts) for a symbol and expiration. Args: symbol: Underlying ticker symbol (e.g. "AAPL"). expiration_date: Expiration date in YYYY-MM-DD format. instrument_type: EQUITY or UNDERLYING_SECURITY_FOR_INDEX_OPTION. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "expiration_date": {
      "title": "Expiration Date",
      "type": "string"
    },
    "instrument_type": {
      "default": "EQUITY",
      "title": "Instrument Type",
      "type": "string"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "symbol",
    "expiration_date"
  ],
  "title": "get_option_chainArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_option_chainOutput",
  "type": "object"
}
Annotations
{
  "title": "Get Option Chain",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
get_option_expirations Get available option expiration dates for a symbol. Args: symbol: Underlying ticker symbol (e.g. "AAPL"). instrument_type: EQUITY or UNDERLYING_SECURITY_FOR_INDEX_OPTION. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "instrument_type": {
      "default": "EQUITY",
      "title": "Instrument Type",
      "type": "string"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "symbol"
  ],
  "title": "get_option_expirationsArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_option_expirationsOutput",
  "type": "object"
}
Annotations
{
  "title": "Get Option Expirations",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
get_option_greek Get option Greeks (delta, gamma, theta, vega, rho, IV) for a single option symbol. Args: osi_symbol: OSI-normalized option symbol (e.g. "AAPL260320C00280000"). account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "osi_symbol": {
      "title": "Osi Symbol",
      "type": "string"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "osi_symbol"
  ],
  "title": "get_option_greekArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_option_greekOutput",
  "type": "object"
}
Annotations
{
  "title": "Get Option Greek",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
get_option_greeks Get option Greeks (delta, gamma, theta, vega, rho, IV) for option symbols. Args: osi_symbols: List of OSI-normalized option symbols (e.g. ["AAPL260320C00280000"]). account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "osi_symbols": {
      "items": {
        "type": "string"
      },
      "title": "Osi Symbols",
      "type": "array"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "osi_symbols"
  ],
  "title": "get_option_greeksArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_option_greeksOutput",
  "type": "object"
}
Annotations
{
  "title": "Get Option Greeks",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
get_order Get the status and details of a specific order. Note: Order placement is asynchronous. This may return an error if the order has not yet been indexed. Args: order_id: The UUID of the order to look up. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "order_id": {
      "title": "Order Id",
      "type": "string"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "order_id"
  ],
  "title": "get_orderArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_orderOutput",
  "type": "object"
}
Annotations
{
  "title": "Get Order",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
get_orders Get all open/active orders on the account. Fetches the account portfolio and returns only the orders list. Returns order details including symbol, side, type, status, quantity, and prices. Args: account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "title": "get_ordersArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_ordersOutput",
  "type": "object"
}
Annotations
{
  "title": "Get Orders",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
get_portfolio Get a snapshot of the account portfolio. Returns positions, equity breakdown, buying power, open orders, and cash/withdrawal figures (including cash, totalAccountValue, and availableToWithdraw). Only non-IRA accounts are supported. Args: account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "title": "get_portfolioArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_portfolioOutput",
  "type": "object"
}
Annotations
{
  "title": "Get Portfolio",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
get_price_history Get historical OHLCV price bars for a symbol over a time period. Returns open/high/low/close/volume bars split into pre-market, regular, and after-hours sessions, plus previous close and total gain/loss. Use this for trend analysis and historical prices — get_quotes returns the current price only, and get_history is account activity, not prices. Args: symbol: Ticker symbol (e.g. "AAPL"). period: Time window to retrieve (e.g. "YEAR", "TEN_YEARS", "ALL"). instrument_type: EQUITY, CRYPTO, OPTION, or INDEX. Default EQUITY. aggregation: Optional bar size. Prefer omitting it — the server then picks an appropriate size for the period. Only a subset of sizes is valid per period (finer/coarser sizes are rejected); if you set an invalid one, the error lists the valid options. purchase_date: Required only when period is "SINCE_PURCHASE". Format "YYYY-MM-DD". trading_session_toggle: Which sessions to include on the DAY equity chart. Omit for the default (REGULAR_AND_EXTENDED_HOURS, 04:00–20:00 ET). REGULAR_HOURS limits to 09:30–16:00. ALL_SESSIONS returns a full midnight-to-midnight chart including the overnight ATS sessions, adding preMarketOvernight (00:00–04:00) and postMarketOvernight (20:00–24:00) to the response. ipo_date: Optional IPO / first-trade date of the asset. Format "YYYY-MM-DD". When the asset is younger than the requested period, the server fetches a finer aggregation over the available post-IPO history (so the chart isn't a straight diagonal) and adds a `leadingFill` object to the response describing the flat lead-in to draw for the pre-IPO portion (startTimestamp, endTimestamp, value, count, includedInTotalExpectedBars). Omit for unchanged behavior. Ignored for the DAY chart; leadingFill is also never emitted for the ALL / SINCE_PURCHASE periods.
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "period": {
      "enum": [
        "DAY",
        "WEEK",
        "MONTH",
        "QUARTER",
        "HALF_YEAR",
        "YEAR",
        "FIVE_YEARS",
        "TEN_YEARS",
        "ALL",
        "YTD",
        "SINCE_PURCHASE"
      ],
      "title": "Period",
      "type": "string"
    },
    "instrument_type": {
      "default": "EQUITY",
      "enum": [
        "EQUITY",
        "CRYPTO",
        "OPTION",
        "INDEX"
      ],
      "title": "Instrument Type",
      "type": "string"
    },
    "aggregation": {
      "anyOf": [
        {
          "enum": [
            "ONE_MINUTE",
            "FIVE_MINUTES",
            "TEN_MINUTES",
            "FIFTEEN_MINUTES",
            "THIRTY_MINUTES",
            "ONE_HOUR",
            "ONE_DAY",
            "ONE_WEEK",
            "ONE_MONTH",
            "THREE_MONTHS",
            "SIX_MONTHS",
            "ONE_YEAR"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Aggregation"
    },
    "purchase_date": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Purchase Date"
    },
    "trading_session_toggle": {
      "anyOf": [
        {
          "enum": [
            "REGULAR_HOURS",
            "REGULAR_AND_EXTENDED_HOURS",
            "ALL_SESSIONS"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Trading Session Toggle"
    },
    "ipo_date": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ipo Date"
    }
  },
  "required": [
    "symbol",
    "period"
  ],
  "title": "get_price_historyArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_price_historyOutput",
  "type": "object"
}
Annotations
{
  "title": "Get Price History",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
get_quotes Get real-time quotes for one or more symbols. Returns last price, bid, ask, volume, and other market data. Args: symbols: List of ticker symbols (e.g. ["AAPL", "GOOGL"]). instrument_type: Type for all symbols. One of EQUITY, CRYPTO, OPTION, INDEX, ALT, BOND, TREASURY. Default is EQUITY. For mixed types, call this tool multiple times. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "symbols": {
      "items": {
        "type": "string"
      },
      "title": "Symbols",
      "type": "array"
    },
    "instrument_type": {
      "default": "EQUITY",
      "title": "Instrument Type",
      "type": "string"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "symbols"
  ],
  "title": "get_quotesArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_quotesOutput",
  "type": "object"
}
Annotations
{
  "title": "Get Quotes",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
get_strategy_quote Get a consolidated quote for a multi-leg option strategy. Prices the strategy as a whole (debit/credit, bid/ask/mark, net price) from its option legs and optional equity leg. This is a read-only quote — it does NOT place or preflight an order. Args: base_symbol: Underlying ticker for the strategy (e.g. "SPY"). option_legs: List of option leg objects. Each leg must have: - symbol (str): The option OCC symbol (e.g. "SPY260313P00670000") - side (str): BUY or SELL - open_close_indicator (str, optional): OPEN or CLOSE - ratio_quantity (int, optional): Ratio between legs (default 1) Example: [{"symbol": "SPY260313P00670000", "side": "SELL", "open_close_indicator": "OPEN", "ratio_quantity": 1}, {"symbol": "SPY260313P00665000", "side": "BUY", "open_close_indicator": "OPEN", "ratio_quantity": 1}] equity_leg: Optional equity leg (same shape as an option leg, with an equity ticker as the symbol) for strategies that pair options with stock (e.g. a covered call or collar). account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "$defs": {
    "StrategyLeg": {
      "description": "One leg of a strategy-quote request (option or equity).",
      "properties": {
        "symbol": {
          "description": "Option OCC symbol (e.g. 'SPY260313P00670000') for option legs, or ticker (e.g. 'SPY') for the equity leg.",
          "title": "Symbol",
          "type": "string"
        },
        "side": {
          "description": "Leg side.",
          "enum": [
            "BUY",
            "SELL"
          ],
          "title": "Side",
          "type": "string"
        },
        "open_close_indicator": {
          "anyOf": [
            {
              "enum": [
                "OPEN",
                "CLOSE"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "OPEN for new positions, CLOSE to close existing. Required for option legs.",
          "title": "Open Close Indicator"
        },
        "ratio_quantity": {
          "default": 1,
          "description": "Ratio between legs in the strategy (default 1).",
          "title": "Ratio Quantity",
          "type": "integer"
        }
      },
      "required": [
        "symbol",
        "side"
      ],
      "title": "StrategyLeg",
      "type": "object"
    }
  },
  "properties": {
    "base_symbol": {
      "title": "Base Symbol",
      "type": "string"
    },
    "option_legs": {
      "items": {
        "$ref": "#/$defs/StrategyLeg"
      },
      "title": "Option Legs",
      "type": "array"
    },
    "equity_leg": {
      "anyOf": [
        {
          "$ref": "#/$defs/StrategyLeg"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "base_symbol",
    "option_legs"
  ],
  "title": "get_strategy_quoteArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_strategy_quoteOutput",
  "type": "object"
}
Annotations
{
  "title": "Get Strategy Quote",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
get_tax_lots Get the unrealized tax-lot summary for the account. Returns per-lot unrealized gain/loss, holding term (short/long/60-40), cost basis, and the aggregate totals across all lots. Requires the API key to have the `trading.read` scope. Args: account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "title": "get_tax_lotsArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_tax_lotsOutput",
  "type": "object"
}
Annotations
{
  "title": "Get Tax Lots",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
get_tax_lots_csv Export the unrealized tax lots as a CSV file. Returns a file object with `fileName` and `base64Data`. The CSV contents are Base64-encoded in the `base64Data` field — decode it to recover the raw CSV text. Requires the API key to have the `trading.read` scope. Args: account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "title": "get_tax_lots_csvArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_tax_lots_csvOutput",
  "type": "object"
}
Annotations
{
  "title": "Get Tax Lots CSV",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
get_tax_lots_for_symbol Get the unrealized tax-lot detail for a single symbol. Returns each open lot for the symbol with its unrealized gain/loss, holding term, and cost basis. Requires the API key to have the `trading.read` scope. Args: symbol: Ticker symbol (e.g. "AAPL"). price: Optional price (as a numeric string) to value the lots against. Omit to use the current market price. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "price": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Price"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "symbol"
  ],
  "title": "get_tax_lots_for_symbolArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_tax_lots_for_symbolOutput",
  "type": "object"
}
Annotations
{
  "title": "Get Tax Lots For Symbol",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
place_call_credit_spread Place a Bear Call Spread (call credit spread). Sell a lower-strike call, buy a higher-strike call. Receives a net credit. ⚠️ This executes a real trade. Consider running preflight_call_credit_spread first. Args: sell_contract_osi: OSI symbol of the call to sell (lower strike). buy_contract_osi: OSI symbol of the call to buy (higher strike). quantity: Number of spreads. limit_price: Minimum net credit to receive per spread. time_in_force: DAY or GTD. Default is DAY. expiration_time: Required when time_in_force is GTD. ISO 8601 format. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "sell_contract_osi": {
      "title": "Sell Contract Osi",
      "type": "string"
    },
    "buy_contract_osi": {
      "title": "Buy Contract Osi",
      "type": "string"
    },
    "quantity": {
      "title": "Quantity",
      "type": "integer"
    },
    "limit_price": {
      "title": "Limit Price",
      "type": "string"
    },
    "time_in_force": {
      "default": "DAY",
      "title": "Time In Force",
      "type": "string"
    },
    "expiration_time": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expiration Time"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "sell_contract_osi",
    "buy_contract_osi",
    "quantity",
    "limit_price"
  ],
  "title": "place_call_credit_spreadArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "place_call_credit_spreadOutput",
  "type": "object"
}
Annotations
{
  "title": "Place Call Credit Spread",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": true
}
WritesNon-destructiveNon-idempotentOpen world
place_call_debit_spread Place a Bull Call Spread (call debit spread). Buy a lower-strike call, sell a higher-strike call. Pays a net debit. ⚠️ This executes a real trade. Consider running preflight_call_debit_spread first. Args: sell_contract_osi: OSI symbol of the call to sell (higher strike). buy_contract_osi: OSI symbol of the call to buy (lower strike). quantity: Number of spreads. limit_price: Maximum net debit to pay per spread. time_in_force: DAY or GTD. Default is DAY. expiration_time: Required when time_in_force is GTD. ISO 8601 format. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "sell_contract_osi": {
      "title": "Sell Contract Osi",
      "type": "string"
    },
    "buy_contract_osi": {
      "title": "Buy Contract Osi",
      "type": "string"
    },
    "quantity": {
      "title": "Quantity",
      "type": "integer"
    },
    "limit_price": {
      "title": "Limit Price",
      "type": "string"
    },
    "time_in_force": {
      "default": "DAY",
      "title": "Time In Force",
      "type": "string"
    },
    "expiration_time": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expiration Time"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "sell_contract_osi",
    "buy_contract_osi",
    "quantity",
    "limit_price"
  ],
  "title": "place_call_debit_spreadArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "place_call_debit_spreadOutput",
  "type": "object"
}
Annotations
{
  "title": "Place Call Debit Spread",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": true
}
WritesNon-destructiveNon-idempotentOpen world
place_multileg_order Place a multi-leg order (options strategies: spreads, straddles, etc.). ⚠️ This executes a real trade. Consider running preflight_multileg_order first. Args: legs: List of leg objects. Each leg must have: - symbol (str): The option/equity symbol (e.g. "SPY260313P00670000") - type (str): EQUITY or OPTION - side (str): BUY or SELL - open_close_indicator (str, optional): OPEN or CLOSE (required for options) - ratio_quantity (int, optional): Ratio between legs (default 1) Example: [{"symbol": "SPY260313P00670000", "type": "OPTION", "side": "SELL", "open_close_indicator": "OPEN", "ratio_quantity": 1}, {"symbol": "SPY260313P00665000", "type": "OPTION", "side": "BUY", "open_close_indicator": "OPEN", "ratio_quantity": 1}] quantity: Number of spreads. Must be > 0. limit_price: Limit price. Positive for debit, negative for credit. time_in_force: DAY or GTD. Default is DAY. expiration_time: Required when time_in_force is GTD. ISO 8601 format. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "$defs": {
    "OrderLeg": {
      "description": "One leg of a multi-leg options/equity order.",
      "properties": {
        "symbol": {
          "description": "Option OCC symbol (e.g. 'SPY260313P00670000') for options, or ticker (e.g. 'AAPL') for equity.",
          "title": "Symbol",
          "type": "string"
        },
        "type": {
          "description": "Instrument type.",
          "enum": [
            "EQUITY",
            "OPTION"
          ],
          "title": "Type",
          "type": "string"
        },
        "side": {
          "description": "Order side.",
          "enum": [
            "BUY",
            "SELL"
          ],
          "title": "Side",
          "type": "string"
        },
        "open_close_indicator": {
          "anyOf": [
            {
              "enum": [
                "OPEN",
                "CLOSE"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "OPEN for new positions, CLOSE to close existing. Required for option legs.",
          "title": "Open Close Indicator"
        },
        "ratio_quantity": {
          "default": 1,
          "description": "Ratio between legs in the spread (default 1).",
          "title": "Ratio Quantity",
          "type": "integer"
        }
      },
      "required": [
        "symbol",
        "type",
        "side"
      ],
      "title": "OrderLeg",
      "type": "object"
    }
  },
  "properties": {
    "legs": {
      "items": {
        "$ref": "#/$defs/OrderLeg"
      },
      "title": "Legs",
      "type": "array"
    },
    "quantity": {
      "title": "Quantity",
      "type": "integer"
    },
    "limit_price": {
      "title": "Limit Price",
      "type": "string"
    },
    "time_in_force": {
      "default": "DAY",
      "title": "Time In Force",
      "type": "string"
    },
    "expiration_time": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expiration Time"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "legs",
    "quantity",
    "limit_price"
  ],
  "title": "place_multileg_orderArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "place_multileg_orderOutput",
  "type": "object"
}
Annotations
{
  "title": "Place Multi-Leg Order",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": true
}
WritesNon-destructiveNon-idempotentOpen world
place_order Place a single-leg order (buy/sell stocks, crypto, or options). ⚠️ This executes a real trade. Consider running preflight_order first. Args: symbol: Ticker symbol (e.g. "AAPL"). instrument_type: EQUITY, OPTION, or CRYPTO. order_side: BUY or SELL. order_type: MARKET, LIMIT, STOP, or STOP_LIMIT. time_in_force: DAY or GTD. Default is DAY. quantity: Number of shares/contracts (mutually exclusive with amount). amount: Dollar amount (mutually exclusive with quantity). limit_price: Required for LIMIT and STOP_LIMIT orders. stop_price: Required for STOP and STOP_LIMIT orders. open_close_indicator: For options only — OPEN or CLOSE. expiration_time: Required when time_in_force is GTD. ISO 8601 format. equity_market_session: CORE or EXTENDED. For equity orders only. tax_lot_matching_instructions: Optional list of specific tax lots to sell, each a dict {"tax_lot_id": str, "quantity": str}. Constraints enforced by the API: at most 8 per request; only for a SELL equity order with open_close_indicator=CLOSE; every lot must be the same symbol as the order; only MARKET or good-for-day LIMIT orders; the quantities must sum to the order quantity; and the account's tax-lot information must have been updated today. Omit to let the broker apply its default lot-matching. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "instrument_type": {
      "title": "Instrument Type",
      "type": "string"
    },
    "order_side": {
      "title": "Order Side",
      "type": "string"
    },
    "order_type": {
      "title": "Order Type",
      "type": "string"
    },
    "time_in_force": {
      "default": "DAY",
      "title": "Time In Force",
      "type": "string"
    },
    "quantity": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Quantity"
    },
    "amount": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Amount"
    },
    "limit_price": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit Price"
    },
    "stop_price": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Stop Price"
    },
    "open_close_indicator": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Open Close Indicator"
    },
    "expiration_time": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expiration Time"
    },
    "equity_market_session": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Equity Market Session"
    },
    "tax_lot_matching_instructions": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tax Lot Matching Instructions"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "symbol",
    "instrument_type",
    "order_side",
    "order_type"
  ],
  "title": "place_orderArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "place_orderOutput",
  "type": "object"
}
Annotations
{
  "title": "Place Order",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": true
}
WritesNon-destructiveNon-idempotentOpen world
place_put_credit_spread Place a Bull Put Spread (put credit spread). Sell a higher-strike put, buy a lower-strike put. Receives a net credit. ⚠️ This executes a real trade. Consider running preflight_put_credit_spread first. Args: sell_contract_osi: OSI symbol of the put to sell (higher strike). buy_contract_osi: OSI symbol of the put to buy (lower strike). quantity: Number of spreads. limit_price: Minimum net credit to receive per spread. time_in_force: DAY or GTD. Default is DAY. expiration_time: Required when time_in_force is GTD. ISO 8601 format. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "sell_contract_osi": {
      "title": "Sell Contract Osi",
      "type": "string"
    },
    "buy_contract_osi": {
      "title": "Buy Contract Osi",
      "type": "string"
    },
    "quantity": {
      "title": "Quantity",
      "type": "integer"
    },
    "limit_price": {
      "title": "Limit Price",
      "type": "string"
    },
    "time_in_force": {
      "default": "DAY",
      "title": "Time In Force",
      "type": "string"
    },
    "expiration_time": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expiration Time"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "sell_contract_osi",
    "buy_contract_osi",
    "quantity",
    "limit_price"
  ],
  "title": "place_put_credit_spreadArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "place_put_credit_spreadOutput",
  "type": "object"
}
Annotations
{
  "title": "Place Put Credit Spread",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": true
}
WritesNon-destructiveNon-idempotentOpen world
place_put_debit_spread Place a Bear Put Spread (put debit spread). Buy a higher-strike put, sell a lower-strike put. Pays a net debit. ⚠️ This executes a real trade. Consider running preflight_put_debit_spread first. Args: sell_contract_osi: OSI symbol of the put to sell (lower strike). buy_contract_osi: OSI symbol of the put to buy (higher strike). quantity: Number of spreads. limit_price: Maximum net debit to pay per spread. time_in_force: DAY or GTD. Default is DAY. expiration_time: Required when time_in_force is GTD. ISO 8601 format. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "sell_contract_osi": {
      "title": "Sell Contract Osi",
      "type": "string"
    },
    "buy_contract_osi": {
      "title": "Buy Contract Osi",
      "type": "string"
    },
    "quantity": {
      "title": "Quantity",
      "type": "integer"
    },
    "limit_price": {
      "title": "Limit Price",
      "type": "string"
    },
    "time_in_force": {
      "default": "DAY",
      "title": "Time In Force",
      "type": "string"
    },
    "expiration_time": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expiration Time"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "sell_contract_osi",
    "buy_contract_osi",
    "quantity",
    "limit_price"
  ],
  "title": "place_put_debit_spreadArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "place_put_debit_spreadOutput",
  "type": "object"
}
Annotations
{
  "title": "Place Put Debit Spread",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": true
}
WritesNon-destructiveNon-idempotentOpen world
place_short_order Place an equity short-sale order. ⚠️ This executes a real trade. Consider running preflight_short_order first. Args: symbol: Ticker symbol to short (e.g. "AAPL"). quantity: Number of shares to short. order_type: MARKET, LIMIT, STOP, or STOP_LIMIT. Default is MARKET. time_in_force: DAY or GTD. Default is DAY. limit_price: Required for LIMIT and STOP_LIMIT orders. stop_price: Required for STOP and STOP_LIMIT orders. expiration_time: Required when time_in_force is GTD. ISO 8601 format. equity_market_session: CORE or EXTENDED. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "quantity": {
      "title": "Quantity",
      "type": "string"
    },
    "order_type": {
      "default": "MARKET",
      "title": "Order Type",
      "type": "string"
    },
    "time_in_force": {
      "default": "DAY",
      "title": "Time In Force",
      "type": "string"
    },
    "limit_price": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit Price"
    },
    "stop_price": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Stop Price"
    },
    "expiration_time": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expiration Time"
    },
    "equity_market_session": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Equity Market Session"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "symbol",
    "quantity"
  ],
  "title": "place_short_orderArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "place_short_orderOutput",
  "type": "object"
}
Annotations
{
  "title": "Place Short Order",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": true
}
WritesNon-destructiveNon-idempotentOpen world
preflight_call_credit_spread Estimate costs for a Bear Call Spread (call credit spread) before placing it. Sell a lower-strike call, buy a higher-strike call. Receives a net credit. Does NOT place an order. Args: sell_contract_osi: OSI symbol of the call to sell (lower strike). buy_contract_osi: OSI symbol of the call to buy (higher strike). quantity: Number of spreads. limit_price: Net credit to receive per spread (positive = credit received). time_in_force: DAY or GTD. Default is DAY. expiration_time: Required when time_in_force is GTD. ISO 8601 format. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "sell_contract_osi": {
      "title": "Sell Contract Osi",
      "type": "string"
    },
    "buy_contract_osi": {
      "title": "Buy Contract Osi",
      "type": "string"
    },
    "quantity": {
      "title": "Quantity",
      "type": "integer"
    },
    "limit_price": {
      "title": "Limit Price",
      "type": "string"
    },
    "time_in_force": {
      "default": "DAY",
      "title": "Time In Force",
      "type": "string"
    },
    "expiration_time": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expiration Time"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "sell_contract_osi",
    "buy_contract_osi",
    "quantity",
    "limit_price"
  ],
  "title": "preflight_call_credit_spreadArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "preflight_call_credit_spreadOutput",
  "type": "object"
}
Annotations
{
  "title": "Preflight Call Credit Spread",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
preflight_call_debit_spread Estimate costs for a Bull Call Spread (call debit spread) before placing it. Buy a lower-strike call, sell a higher-strike call. Pays a net debit. Does NOT place an order. Args: sell_contract_osi: OSI symbol of the call to sell (higher strike). buy_contract_osi: OSI symbol of the call to buy (lower strike). quantity: Number of spreads. limit_price: Net debit to pay per spread (positive = debit paid). time_in_force: DAY or GTD. Default is DAY. expiration_time: Required when time_in_force is GTD. ISO 8601 format. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "sell_contract_osi": {
      "title": "Sell Contract Osi",
      "type": "string"
    },
    "buy_contract_osi": {
      "title": "Buy Contract Osi",
      "type": "string"
    },
    "quantity": {
      "title": "Quantity",
      "type": "integer"
    },
    "limit_price": {
      "title": "Limit Price",
      "type": "string"
    },
    "time_in_force": {
      "default": "DAY",
      "title": "Time In Force",
      "type": "string"
    },
    "expiration_time": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expiration Time"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "sell_contract_osi",
    "buy_contract_osi",
    "quantity",
    "limit_price"
  ],
  "title": "preflight_call_debit_spreadArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "preflight_call_debit_spreadOutput",
  "type": "object"
}
Annotations
{
  "title": "Preflight Call Debit Spread",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
preflight_multileg_order Estimate costs for a multi-leg (options strategy) trade before placing it. Does NOT place an order. Args: legs: List of leg objects. Each leg must have: - symbol (str): The option/equity symbol (e.g. "SPY260313P00670000") - type (str): EQUITY or OPTION - side (str): BUY or SELL - open_close_indicator (str, optional): OPEN or CLOSE (required for options) - ratio_quantity (int, optional): Ratio between legs (default 1) Example: [{"symbol": "SPY260313P00670000", "type": "OPTION", "side": "SELL", "open_close_indicator": "OPEN", "ratio_quantity": 1}, {"symbol": "SPY260313P00665000", "type": "OPTION", "side": "BUY", "open_close_indicator": "OPEN", "ratio_quantity": 1}] limit_price: The limit price for the spread. time_in_force: DAY or GTD. Default is DAY. quantity: Number of spreads. Must be > 0. expiration_time: Required when time_in_force is GTD. ISO 8601 format. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "$defs": {
    "OrderLeg": {
      "description": "One leg of a multi-leg options/equity order.",
      "properties": {
        "symbol": {
          "description": "Option OCC symbol (e.g. 'SPY260313P00670000') for options, or ticker (e.g. 'AAPL') for equity.",
          "title": "Symbol",
          "type": "string"
        },
        "type": {
          "description": "Instrument type.",
          "enum": [
            "EQUITY",
            "OPTION"
          ],
          "title": "Type",
          "type": "string"
        },
        "side": {
          "description": "Order side.",
          "enum": [
            "BUY",
            "SELL"
          ],
          "title": "Side",
          "type": "string"
        },
        "open_close_indicator": {
          "anyOf": [
            {
              "enum": [
                "OPEN",
                "CLOSE"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "OPEN for new positions, CLOSE to close existing. Required for option legs.",
          "title": "Open Close Indicator"
        },
        "ratio_quantity": {
          "default": 1,
          "description": "Ratio between legs in the spread (default 1).",
          "title": "Ratio Quantity",
          "type": "integer"
        }
      },
      "required": [
        "symbol",
        "type",
        "side"
      ],
      "title": "OrderLeg",
      "type": "object"
    }
  },
  "properties": {
    "legs": {
      "items": {
        "$ref": "#/$defs/OrderLeg"
      },
      "title": "Legs",
      "type": "array"
    },
    "limit_price": {
      "title": "Limit Price",
      "type": "string"
    },
    "time_in_force": {
      "default": "DAY",
      "title": "Time In Force",
      "type": "string"
    },
    "quantity": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Quantity"
    },
    "expiration_time": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expiration Time"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "legs",
    "limit_price"
  ],
  "title": "preflight_multileg_orderArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "preflight_multileg_orderOutput",
  "type": "object"
}
Annotations
{
  "title": "Preflight Multi-Leg Order",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
preflight_order Estimate costs and impact of a potential single-leg trade before placing it. Returns estimated commission, regulatory fees, order value, buying power requirements, and margin impact. Does NOT place an order. Args: symbol: Ticker symbol (e.g. "AAPL"). instrument_type: EQUITY, OPTION, or CRYPTO. order_side: BUY or SELL. order_type: MARKET, LIMIT, STOP, or STOP_LIMIT. time_in_force: DAY or GTD. Default is DAY. quantity: Number of shares/contracts (mutually exclusive with amount). amount: Dollar amount (mutually exclusive with quantity). limit_price: Required for LIMIT and STOP_LIMIT orders. stop_price: Required for STOP and STOP_LIMIT orders. open_close_indicator: For options only — OPEN or CLOSE. expiration_time: Required when time_in_force is GTD. ISO 8601 format. equity_market_session: CORE or EXTENDED. For equity orders only. tax_lot_matching_instructions: Optional list of specific tax lots to sell, each a dict {"tax_lot_id": str, "quantity": str}. Constraints enforced by the API: at most 8 per request; only for a SELL equity order with open_close_indicator=CLOSE; every lot must be the same symbol as the order; only MARKET or good-for-day LIMIT orders; the quantities must sum to the order quantity; and the account's tax-lot information must have been updated today. Omit to let the broker apply its default lot-matching. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "instrument_type": {
      "title": "Instrument Type",
      "type": "string"
    },
    "order_side": {
      "title": "Order Side",
      "type": "string"
    },
    "order_type": {
      "title": "Order Type",
      "type": "string"
    },
    "time_in_force": {
      "default": "DAY",
      "title": "Time In Force",
      "type": "string"
    },
    "quantity": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Quantity"
    },
    "amount": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Amount"
    },
    "limit_price": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit Price"
    },
    "stop_price": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Stop Price"
    },
    "open_close_indicator": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Open Close Indicator"
    },
    "expiration_time": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expiration Time"
    },
    "equity_market_session": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Equity Market Session"
    },
    "tax_lot_matching_instructions": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tax Lot Matching Instructions"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "symbol",
    "instrument_type",
    "order_side",
    "order_type"
  ],
  "title": "preflight_orderArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "preflight_orderOutput",
  "type": "object"
}
Annotations
{
  "title": "Preflight Single-Leg Order",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
preflight_put_credit_spread Estimate costs for a Bull Put Spread (put credit spread) before placing it. Sell a higher-strike put, buy a lower-strike put. Receives a net credit. Does NOT place an order. Args: sell_contract_osi: OSI symbol of the put to sell (higher strike). buy_contract_osi: OSI symbol of the put to buy (lower strike). quantity: Number of spreads. limit_price: Net credit to receive per spread (positive = credit received). time_in_force: DAY or GTD. Default is DAY. expiration_time: Required when time_in_force is GTD. ISO 8601 format. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "sell_contract_osi": {
      "title": "Sell Contract Osi",
      "type": "string"
    },
    "buy_contract_osi": {
      "title": "Buy Contract Osi",
      "type": "string"
    },
    "quantity": {
      "title": "Quantity",
      "type": "integer"
    },
    "limit_price": {
      "title": "Limit Price",
      "type": "string"
    },
    "time_in_force": {
      "default": "DAY",
      "title": "Time In Force",
      "type": "string"
    },
    "expiration_time": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expiration Time"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "sell_contract_osi",
    "buy_contract_osi",
    "quantity",
    "limit_price"
  ],
  "title": "preflight_put_credit_spreadArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "preflight_put_credit_spreadOutput",
  "type": "object"
}
Annotations
{
  "title": "Preflight Put Credit Spread",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
preflight_put_debit_spread Estimate costs for a Bear Put Spread (put debit spread) before placing it. Buy a higher-strike put, sell a lower-strike put. Pays a net debit. Does NOT place an order. Args: sell_contract_osi: OSI symbol of the put to sell (lower strike). buy_contract_osi: OSI symbol of the put to buy (higher strike). quantity: Number of spreads. limit_price: Net debit to pay per spread (positive = debit paid). time_in_force: DAY or GTD. Default is DAY. expiration_time: Required when time_in_force is GTD. ISO 8601 format. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "sell_contract_osi": {
      "title": "Sell Contract Osi",
      "type": "string"
    },
    "buy_contract_osi": {
      "title": "Buy Contract Osi",
      "type": "string"
    },
    "quantity": {
      "title": "Quantity",
      "type": "integer"
    },
    "limit_price": {
      "title": "Limit Price",
      "type": "string"
    },
    "time_in_force": {
      "default": "DAY",
      "title": "Time In Force",
      "type": "string"
    },
    "expiration_time": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expiration Time"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "sell_contract_osi",
    "buy_contract_osi",
    "quantity",
    "limit_price"
  ],
  "title": "preflight_put_debit_spreadArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "preflight_put_debit_spreadOutput",
  "type": "object"
}
Annotations
{
  "title": "Preflight Put Debit Spread",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
preflight_short_order Estimate costs for a short-sale equity order before placing it. Returns estimated commission, fees, and buying power impact. Does NOT place an order. Args: symbol: Ticker symbol to short (e.g. "AAPL"). quantity: Number of shares to short. order_type: MARKET, LIMIT, STOP, or STOP_LIMIT. Default is MARKET. time_in_force: DAY or GTD. Default is DAY. limit_price: Required for LIMIT and STOP_LIMIT orders. stop_price: Required for STOP and STOP_LIMIT orders. expiration_time: Required when time_in_force is GTD. ISO 8601 format. equity_market_session: CORE or EXTENDED. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "quantity": {
      "title": "Quantity",
      "type": "string"
    },
    "order_type": {
      "default": "MARKET",
      "title": "Order Type",
      "type": "string"
    },
    "time_in_force": {
      "default": "DAY",
      "title": "Time In Force",
      "type": "string"
    },
    "limit_price": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit Price"
    },
    "stop_price": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Stop Price"
    },
    "expiration_time": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expiration Time"
    },
    "equity_market_session": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Equity Market Session"
    },
    "account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Account Id"
    }
  },
  "required": [
    "symbol",
    "quantity"
  ],
  "title": "preflight_short_orderArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "preflight_short_orderOutput",
  "type": "object"
}
Annotations
{
  "title": "Preflight Short Order",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
search_bonds Filtered, paged search for fixed income (bond) instruments. All filters are optional; combine them to narrow down results. Returns a page object with `content` (the bonds), `totalElements`, and `totalPages`. Args: page_number: Page number, zero-based. Default 0. page_size: Items per page. Default 20. sort_property: Property to sort by (e.g. "maturityDate"). sort_direction: ASC or DESC. Default DESC. issuer: Filter by issuer name. issuer_symbol: Filter by issuer symbol(s), e.g. ["AAPL"]. bond_status: e.g. ["OUTSTANDING"]. Valid: LIQUIDATED, CONVERTED, FUNGED, REPAID, RESTRUCTURED, CALLED, DEFAULTED, MATURED, OUTSTANDING, PUT, TENDERED, REPURCHASED, PRE_ISSUANCE, UNKNOWN. bond_type: e.g. ["TREASURY", "CORPORATE"]. Valid: AGENCY, CD, CORPORATE, GOVERNMENT, MUNICIPAL, TREASURY. treasury_subtype: Valid: BOND, BILL, NOTE, STRIPS, TIPS, FLOATING. rating: S&P rating(s), e.g. ["AAA", "AA+"]. From AAA through D, NR for not rated (short-term ratings like A-1+/SP-1 also valid). rating_category: INVESTMENT_GRADE or SPECULATIVE_GRADE. sp_outlook: Valid: POSITIVE, NEGATIVE, DEVELOPING, STABLE, NOT_RATED, NOT_MEANINGFUL. sp_creditwatch: Valid: POSITIVE, NEGATIVE, DEVELOPING, NOT_MEANINGFUL. coupon_frequency: Valid: AT_MATURITY, ZERO, MONTHLY, QUARTERLY, SEMI_ANNUAL, ANNUAL. min_coupon: Minimum coupon rate (numeric string). max_coupon: Maximum coupon rate (numeric string). min_maturity_date: yyyy-MM-dd. Defaults server-side to today + 14 days. max_maturity_date: yyyy-MM-dd. min_current_yield: Minimum current yield (numeric string). max_current_yield: Maximum current yield (numeric string). min_par_value: Minimum par value (numeric string). max_par_value: Maximum par value (numeric string). min_liquidity_rating: Minimum liquidity score, 1 (low) to 5 (high). max_liquidity_rating: Maximum liquidity score, 1 (low) to 5 (high). liquidity_rating: Specific liquidity score(s), 1–5. callable: Filter by callable status. perpetual: Filter by perpetual bond status. partial_par: Filter by partial par status.
Input schema
{
  "properties": {
    "page_number": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Page Number"
    },
    "page_size": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Page Size"
    },
    "sort_property": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sort Property"
    },
    "sort_direction": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sort Direction"
    },
    "issuer": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Issuer"
    },
    "issuer_symbol": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Issuer Symbol"
    },
    "bond_status": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bond Status"
    },
    "bond_type": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bond Type"
    },
    "treasury_subtype": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Treasury Subtype"
    },
    "rating": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Rating"
    },
    "rating_category": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Rating Category"
    },
    "sp_outlook": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sp Outlook"
    },
    "sp_creditwatch": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sp Creditwatch"
    },
    "coupon_frequency": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Coupon Frequency"
    },
    "min_coupon": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Min Coupon"
    },
    "max_coupon": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Max Coupon"
    },
    "min_maturity_date": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Min Maturity Date"
    },
    "max_maturity_date": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Max Maturity Date"
    },
    "min_current_yield": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Min Current Yield"
    },
    "max_current_yield": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Max Current Yield"
    },
    "min_par_value": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Min Par Value"
    },
    "max_par_value": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Max Par Value"
    },
    "min_liquidity_rating": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Min Liquidity Rating"
    },
    "max_liquidity_rating": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Max Liquidity Rating"
    },
    "liquidity_rating": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Liquidity Rating"
    },
    "callable": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Callable"
    },
    "perpetual": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Perpetual"
    },
    "partial_par": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Partial Par"
    }
  },
  "title": "search_bondsArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "search_bondsOutput",
  "type": "object"
}
Annotations
{
  "title": "Search Bonds",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world

Resources 0

  • None observed.

Resource templates 0

  • None observed.

Prompts 0

  • None observed.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

Public.com MCP Server questions

How do I install Public.com MCP Server?

Install the selected package version with: python -m pip install 'publicdotcom-mcp-server==0.6.1'

What tools does Public.com MCP Server provide?

Public.com MCP Server exposed 37 tools during independent protocol observation, including cancel_and_replace_order, cancel_order, check_setup, flatten_and_go_short, get_accounts, get_all_instruments, get_bond_details, get_history, and others.

Is Public.com MCP Server secure?

Our scanner tested version 0.6.1 without proving a finding in the methods exercised. This is not a guarantee that every deployment is secure.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Official vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.