Skip to main content
Glama
mz462

stock-research-mcp

by mz462

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ALPACA_PAPERNoSet to 'true' for paper trading, 'false' for live tradingtrue
ALPACA_API_KEYNoAPI key for Alpaca trading (optional)
FINNHUB_API_KEYYesAPI key for Finnhub (required for company profiles, news, etc.)
ALPACA_SECRET_KEYNoSecret key for Alpaca trading (optional)
ALPHA_VANTAGE_API_KEYYesAPI key for Alpha Vantage (required for market data)
TRADING_ALLOWED_SYMBOLSNoComma-separated list of allowed symbols, empty for all
TRADING_MAX_ORDER_VALUENoMaximum order value for trading5000
TRADING_MAX_POSITION_SIZENoMaximum position size10000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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

Tools

Functions exposed to the LLM to take actions

NameDescription
get_quoteA

Get real-time quote for a stock.

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

Returns: Quote data including price, change, volume, and more.

get_historical_pricesA

Get historical price data for a stock.

Args: ticker: Stock symbol (e.g., 'AAPL', 'MSFT') timeframe: Time range - '1D', '1W', '1M', '3M', '1Y', '5Y' interval: Data interval - '1min', '5min', '15min', '30min', '60min', '1day'

Returns: Historical OHLCV data as a list of candles.

get_company_profileA

Get company profile and overview.

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

Returns: Company profile including name, sector, industry, description, etc.

get_financialsA

Get key financial metrics and ratios.

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

Returns: Financial metrics including valuation ratios, margins, growth rates.

get_earningsA

Get earnings history and upcoming earnings date.

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

Returns: Earnings data including quarterly history and surprises.

get_analyst_ratingsA

Get analyst ratings and price targets for a stock.

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

Returns: Analyst consensus, rating counts, and price targets.

get_news_sentimentA

Get news articles and sentiment analysis for a stock.

Args: ticker: Stock symbol (e.g., 'AAPL', 'MSFT') limit: Maximum number of articles to return (default 20)

Returns: News articles with sentiment scores and overall sentiment summary.

get_insider_tradesA

Get insider trading activity for a stock.

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

Returns: Recent insider transactions and overall insider sentiment.

get_technical_indicatorsA

Get technical indicators for a stock.

Args: ticker: Stock symbol (e.g., 'AAPL', 'MSFT') indicators: List of indicators to fetch. Options: 'sma', 'ema', 'rsi', 'macd', 'bbands'. If None, fetches all.

Returns: Technical indicator values and trend analysis.

get_support_resistanceB

Calculate support and resistance levels for a stock.

Args: ticker: Stock symbol (e.g., 'AAPL', 'MSFT') lookback_days: Number of days to analyze (default 60)

Returns: Support and resistance levels with current price position.

get_macro_contextA

Get current macroeconomic indicators and context.

Returns: Key economic indicators including Fed funds rate, treasury yields, GDP growth, unemployment, and inflation (CPI).

get_trading_accountA

Get trading account information.

Returns account details including:

  • Buying power and cash available

  • Portfolio value and equity

  • Account status and restrictions

  • Whether this is a paper trading account

get_positionsA

Get all open positions in the portfolio.

Returns a list of positions with:

  • Symbol and quantity

  • Market value and cost basis

  • Unrealized P/L and percentage

  • Current price and average entry price

get_positionA

Get position for a specific symbol.

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

Returns position details or null if no position exists.

place_market_orderA

Place a market order to buy or sell shares.

Args: symbol: Stock symbol (e.g., 'AAPL') qty: Number of shares to trade side: 'buy' or 'sell' time_in_force: Order duration - 'day', 'gtc' (good till cancelled), 'ioc' (immediate or cancel), 'fok' (fill or kill)

Returns order confirmation with order ID and status.

Note: Market orders execute at the current market price. Use limit orders for price control.

place_limit_orderA

Place a limit order at a specified price.

Args: symbol: Stock symbol (e.g., 'AAPL') qty: Number of shares to trade side: 'buy' or 'sell' limit_price: Maximum price (buy) or minimum price (sell) time_in_force: 'day', 'gtc', 'ioc', 'fok'

Returns order confirmation. Order will only fill at limit_price or better.

place_stop_orderA

Place a stop order that triggers at a specified price.

Args: symbol: Stock symbol (e.g., 'AAPL') qty: Number of shares to trade side: 'buy' or 'sell' stop_price: Price at which the order becomes a market order time_in_force: 'day' or 'gtc'

Useful for stop-loss orders to limit downside risk.

place_stop_limit_orderA

Place a stop-limit order combining stop and limit orders.

Args: symbol: Stock symbol (e.g., 'AAPL') qty: Number of shares to trade side: 'buy' or 'sell' stop_price: Price at which the limit order is triggered limit_price: Limit price for the triggered order time_in_force: 'day' or 'gtc'

When stop_price is reached, a limit order at limit_price is placed.

get_orderA

Get details of a specific order by ID.

Args: order_id: The order ID returned when placing an order

Returns order status, fill details, and timestamps.

get_ordersA

Get a list of orders with optional filters.

Args: status: Filter by status - 'open', 'closed', or 'all' limit: Maximum number of orders to return (default 50) symbol: Filter by stock symbol (optional)

Returns list of orders matching the criteria.

cancel_orderC

Cancel an open order.

Args: order_id: The order ID to cancel

Returns confirmation of cancellation.

cancel_all_ordersA

Cancel all open orders.

Use with caution - this will cancel ALL pending orders.

Returns count of cancelled orders.

close_positionA

Close an entire position for a symbol.

Args: symbol: Stock symbol to close position for

Places a market order to sell (for long) or buy (for short) all shares of the position.

close_all_positionsA

Close all open positions.

Use with extreme caution - this will liquidate your entire portfolio. Also cancels all open orders.

Returns count of positions closed.

get_trading_configA

Get current trading configuration and risk limits.

Returns:

  • Whether paper trading is enabled

  • Maximum position size allowed

  • Maximum single order value

  • List of allowed symbols (if restricted)

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 25 tools

Disambiguation4/5

Research tools are clearly separated by data type, and order tools are distinct by order type. The only mild ambiguity is between get_trading_account and get_trading_config, and between get_positions/get_position, though singular/plural helps.

Naming Consistency5/5

Tool names follow a consistent verb_noun pattern: get_* for data retrieval, place_* for order entry, cancel_* for cancellations, and close_* for position liquidation. There are no mixed naming conventions or vague verbs.

Tool Count3/5

25 tools is at the heavy end, especially since the server mixes research functionality with a fairly complete trading execution suite. The count is not unreasonable, but the scope feels broader than the 'stock-research-mcp' name suggests.

Completeness4/5

Research coverage is strong: quotes, history, fundamentals, technicals, sentiment, insider trades, and macro context are all present. Trading coverage is also solid with order placement, retrieval, cancellation, and position management, though order modification is missing.

Maintenance

ActivityInactive
ResponsivenessNo issues