Skip to main content
Glama
Open-Agent-Tools

Open Stocks MCP

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SCHWAB_API_KEYNoSchwab API key
ENABLED_BROKERSNoComma-separated list of enabled brokers (e.g., 'robinhood,schwab')
SCHWAB_APP_SECRETNoSchwab app secret
SCHWAB_TOKEN_PATHNoPath to save Schwab token (default: ~/.tokens/schwab_token.json)
ROBINHOOD_MFA_CODENoSMS/Email MFA code for Robinhood (optional, time-sensitive)
ROBINHOOD_PASSWORDNoRobinhood account password
ROBINHOOD_USERNAMENoRobinhood account email
SCHWAB_CALLBACK_URLNoSchwab callback URL (default: https://127.0.0.1:8182/)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_toolsA

Provides a list of available tools and their descriptions.

account_infoB

Gets basic Robinhood account information.

portfolioB

Provides a high-level overview of the portfolio.

stock_ordersB

Retrieves a list of recent stock order history and their statuses.

options_ordersA

Retrieves a list of recent options order history and their statuses.

account_detailsA

Gets comprehensive account details including buying power and cash balances.

positionsB

Gets current stock positions with quantities and values.

build_holdingsB

Builds comprehensive holdings with dividend information and performance metrics.

Returns detailed holdings data including cost basis, equity, dividends, and performance.

build_user_profileB

Builds comprehensive user profile with equity, cash, and dividend totals.

Returns complete financial profile including total equity, cash balances, and dividend totals.

day_tradesB

Gets pattern day trading information and tracking.

Returns day trade count, remaining day trades, PDT status, and buying power information.

session_statusA

Gets current session status and authentication information.

broker_statusA

Gets authentication status for all configured brokers.

Returns information about which brokers are available, authenticated,
or experiencing issues. Use this to troubleshoot authentication problems.

Returns:
    Dictionary with broker authentication status for each broker
list_brokersA

Lists all registered brokers and their availability.

Returns:
    List of broker names and their authentication status
rate_limit_statusA

Gets current rate limit usage and statistics.

metrics_summaryB

Gets comprehensive metrics summary for monitoring.

health_checkA

Gets health status of the MCP server.

stock_priceB

Gets current stock price and basic metrics.

Args:
    symbol: Stock ticker symbol (e.g., "AAPL")
stock_infoB

Gets detailed company information and fundamentals.

Args:
    symbol: Stock ticker symbol (e.g., "AAPL")
search_stocks_toolB

Searches for stocks by symbol or company name.

Args:
    query: Search query (symbol or company name)
market_hoursB

Gets current market hours and status.

price_historyC

Gets historical price data for a stock.

Args:
    symbol: Stock ticker symbol (e.g., "AAPL")
    period: Time period ("day", "week", "month", "3month", "year", "5year")
instruments_by_symbolsA

Gets detailed instrument metadata for multiple symbols.

Args:
    symbols: List of stock ticker symbols (e.g., ["AAPL", "GOOGL", "MSFT"])
find_instrumentsC

Searches for instrument information by various criteria.

Args:
    query: Search query string (can be symbol, company name, or other criteria)
stock_quote_by_idA

Gets stock quote using Robinhood's internal instrument ID.

Args:
    instrument_id: Robinhood's internal instrument ID
pricebook_by_symbolC

Gets Level II order book data for a symbol (requires Gold subscription).

Args:
    symbol: Stock ticker symbol (e.g., "AAPL")
dividendsB

Gets all dividend payment history for the account.

total_dividendsA

Gets total dividends received across all time.

dividends_by_instrumentA

Gets dividend history for a specific stock symbol.

Args:
    symbol: Stock ticker symbol (e.g., "AAPL")
interest_paymentsA

Gets interest payment history from cash management.

stock_loan_paymentsA

Gets stock loan payment history from the stock lending program.

top_movers_sp500A

Gets top S&P 500 movers for the day.

Args:
    direction: Direction of movement, either 'up' or 'down' (default: 'up')
top_100_stocksA

Gets top 100 most popular stocks on Robinhood.

top_moversB

Gets top 20 movers on Robinhood.

stocks_by_tagA

Gets stocks filtered by market category tag.

Args:
    tag: Market category tag (e.g., 'technology', 'biopharmaceutical', 'upcoming-earnings')
stock_ratingsB

Gets analyst ratings for a stock.

Args:
    symbol: Stock ticker symbol (e.g., "AAPL")
stock_earningsB

Gets earnings reports for a stock.

Args:
    symbol: Stock ticker symbol (e.g., "AAPL")
stock_newsB

Gets news stories for a stock.

Args:
    symbol: Stock ticker symbol (e.g., "AAPL")
stock_splitsB

Gets stock split history for a stock.

Args:
    symbol: Stock ticker symbol (e.g., "AAPL")
stock_eventsA

Gets corporate events for a stock (for owned positions).

Args:
    symbol: Stock ticker symbol (e.g., "AAPL")
stock_level2_dataA

Gets Level II market data for a stock (Gold subscription required).

Args:
    symbol: Stock ticker symbol (e.g., "AAPL")
options_chainsC

Gets complete option chains for a stock symbol.

Args:
    symbol: Stock ticker symbol (e.g., "AAPL")
find_optionsB

Finds tradable options with optional filtering.

Args:
    symbol: Stock ticker symbol (e.g., "AAPL")
    expiration_date: Optional expiration date in YYYY-MM-DD format
    option_type: Optional option type ("call" or "put")
option_market_dataC

Gets market data for a specific option contract.

Args:
    option_id: Unique option contract ID
option_historicalsB

Gets historical price data for an option contract.

Args:
    symbol: Stock ticker symbol (e.g., "AAPL")
    expiration_date: Expiration date in YYYY-MM-DD format
    strike_price: Strike price as string
    option_type: Option type ("call" or "put")
    interval: Time interval (default: "hour")
    span: Time span (default: "week")
aggregate_option_positionsA

Gets aggregated option positions collapsed by underlying stock.

all_option_positionsB

Gets all option positions ever held.

open_option_positionsB

Gets currently open option positions.

open_option_positions_with_detailsA

Gets currently open option positions with enriched details including call/put type.

This enhanced version includes complete option instrument details for each position:
- option_type: "call" or "put"
- strike_price: Strike price of the option
- option_symbol: OCC option symbol
- tradability: Trading status
- state: Option state (active, expired, etc.)
- underlying_symbol: Underlying stock symbol
- enrichment_success_rate: Percentage of positions successfully enriched

Use this instead of open_option_positions() when you need complete option details.
all_watchlistsB

Gets all user-created watchlists.

watchlist_by_nameA

Gets contents of a specific watchlist by name.

Args:
    watchlist_name: Name of the watchlist to retrieve
add_to_watchlistC

Adds symbols to a watchlist.

Args:
    watchlist_name: Name of the watchlist
    symbols: List of stock symbols to add
remove_from_watchlistC

Removes symbols from a watchlist.

Args:
    watchlist_name: Name of the watchlist
    symbols: List of stock symbols to remove
watchlist_performanceA

Gets performance metrics for a watchlist.

Args:
    watchlist_name: Name of the watchlist to analyze
unified_watchlistsA

Gets all watchlists aggregated across supported brokers.

Args:
    brokers: Optional list of broker names to include (e.g., ["robinhood", "schwab"])
unified_watchlist_by_nameB

Gets a specific watchlist by name across supported brokers.

Args:
    watchlist_name: Name of the watchlist
    brokers: Optional list of broker names to include
unified_add_to_watchlistB

Adds symbols to a watchlist across supported brokers.

Args:
    watchlist_name: Name of the watchlist
    symbols: List of stock symbols to add
    brokers: Optional list of broker names to target
unified_remove_from_watchlistB

Removes symbols from a watchlist across supported brokers.

Args:
    watchlist_name: Name of the watchlist
    symbols: List of stock symbols to remove
    brokers: Optional list of broker names to target
notificationsB

Gets account notifications and alerts.

Args:
    count: Number of notifications to retrieve (default: 20)
latest_notificationB

Gets the most recent notification.

margin_callsB

Gets margin call information.

margin_interestB

Gets margin interest charges and rates.

subscription_feesB

Gets Robinhood Gold subscription fees.

referralsA

Gets referral program information.

account_featuresB

Gets comprehensive account features and settings.

account_profileB

Gets trading account profile and configuration.

basic_profileB

Gets basic user profile information.

investment_profileB

Gets investment profile and risk assessment.

security_profileB

Gets security profile and settings.

user_profileC

Gets comprehensive user profile information.

complete_profileA

Gets complete user profile combining all profile types.

account_settingsC

Gets account settings and preferences.

buy_stock_marketB

Places a market buy order for a stock.

Args:
    symbol: The stock symbol to buy (e.g., "AAPL")
    quantity: The number of shares to buy
sell_stock_marketB

Places a market sell order for a stock.

Args:
    symbol: The stock symbol to sell (e.g., "AAPL")
    quantity: The number of shares to sell
buy_stock_limitB

Places a limit buy order for a stock.

Args:
    symbol: The stock symbol to buy (e.g., "AAPL")
    quantity: The number of shares to buy
    limit_price: The maximum price per share
sell_stock_limitB

Places a limit sell order for a stock.

Args:
    symbol: The stock symbol to sell (e.g., "AAPL")
    quantity: The number of shares to sell
    limit_price: The minimum price per share
sell_stock_stop_lossC

Places a stop loss sell order for a stock.

Args:
    symbol: The stock symbol to sell (e.g., "AAPL")
    quantity: The number of shares to sell
    stop_price: The stop price that triggers the order
buy_option_limitC

Places a limit buy order for an option.

Args:
    instrument_id: The option instrument ID
    quantity: The number of option contracts to buy
    limit_price: The maximum price per contract
sell_option_limitB

Places a limit sell order for an option.

Args:
    instrument_id: The option instrument ID
    quantity: The number of option contracts to sell
    limit_price: The minimum price per contract
option_credit_spreadB

Places a credit spread order (sell short option, buy long option).

Args:
    short_instrument_id: The option instrument ID to sell (short leg)
    long_instrument_id: The option instrument ID to buy (long leg)
    quantity: The number of spread contracts
    credit_price: The net credit received per spread
option_debit_spreadB

Places a debit spread order (buy long option, sell short option).

Args:
    short_instrument_id: The option instrument ID to sell (short leg)
    long_instrument_id: The option instrument ID to buy (long leg)
    quantity: The number of spread contracts
    debit_price: The net debit paid per spread
cancel_stock_order_by_idC

Cancels a specific stock order.

Args:
    order_id: The ID of the order to cancel
cancel_option_order_by_idC

Cancels a specific option order.

Args:
    order_id: The ID of the order to cancel
cancel_all_stock_orders_toolB

Cancels all open stock orders.

cancel_all_option_orders_toolB

Cancels all open option orders.

open_stock_ordersB

Retrieves all open stock orders.

open_option_ordersB

Retrieves all open option orders.

schwab_account_numbersB

Get Schwab account numbers and their hashes.

schwab_accountB

Get Schwab account details including balances and positions.

Args:
    account_hash: Account hash from schwab_account_numbers
    include_positions: Whether to include positions (default: True)
schwab_accountsA

Get all Schwab linked accounts with balances and positions.

Args:
    include_positions: Whether to include positions (default: True)
schwab_portfolioB

Get Schwab portfolio positions for a specific account.

Args:
    account_hash: Account hash from schwab_account_numbers
schwab_account_balancesA

Get account balances for a Schwab account.

Args:
    account_hash: Account hash from schwab_account_numbers
schwab_check_margin_statusC

Derive margin-call status from Schwab account balances.

schwab_get_margin_interestC

Get Schwab margin-interest charges from transaction history.

schwab_get_user_preferencesC

Get Schwab user preferences including account list and streamer info.

Consolidates account profile, settings, and user profile data.

schwab_get_all_account_dataA

Get a complete snapshot of all Schwab accounts and user preferences.

Aggregates user preferences, account numbers, and all account data with positions.

schwab_build_user_profileB

Build a normalized Schwab user profile from account and preference data.

Returns a complete financial profile including total equity, cash balances, and position counts across all accounts.

aggregated_portfolioA

Get a unified portfolio view aggregated across all registered brokers.

Combines positions and summary values from Robinhood and Schwab into a single
normalized response. Brokers that are not authenticated contribute a degraded
(status=unavailable) entry so partial information is always returned.

Returns:
    Dict with aggregated totals, per-broker rollups, positions list,
    partial_failure flag, and unavailable_brokers list.
broker_comparisonA

Get side-by-side broker comparison for pricing, holdings, and orders.

Args:
    symbols: Optional list of symbols to filter by.
    include_orders: Whether to include recent orders.
    max_orders: Maximum number of orders to return per broker.
schwab_quoteB

Get current quote for a stock symbol from Schwab.

Args:
    symbol: Stock ticker symbol (e.g., 'AAPL', 'TSLA')
schwab_quotesB

Get current quotes for multiple stock symbols from Schwab.

Args:
    symbols: List of stock ticker symbols

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Open-Agent-Tools/open-stocks-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server