Skip to main content
Glama
acidsolution

Schwab MCP Server

by acidsolution

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOG_LEVELNoThe logging level for the serverINFO
SCHWAB_CLIENT_IDNoYour Schwab App Key (Client ID). Optional override if not kept in the token file
SCHWAB_TOKEN_PATHNoPath to the JSON file containing your Schwab tokens and credentials~/.schwab-mcp/token.json
SCHWAB_CALLBACK_URLNoThe callback URL configured in your Schwab Developer accounthttps://127.0.0.1:8182/callback
SCHWAB_CLIENT_SECRETNoYour Schwab App Secret (Client Secret). Optional override if not kept in the token file

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

Server capabilities have not been inspected yet.

Tools

Functions exposed to the LLM to take actions

NameDescription
get_positionsC

Get all positions with cost basis, quantity, market value, and gain/loss for an account

get_quoteB

Get real-time quote for a stock symbol including price, bid/ask, volume, and fundamentals

get_quotesC

Get real-time quotes for multiple symbols at once

get_instrumentsC

Search for instruments by symbol or description, or get fundamental data for a symbol

get_moversB

Get top movers (gainers or losers) for an index by percent or value change

load_price_historyA

Fetch price history and load into SQL database for querying. Use this instead of get_price_history when you need to analyze the data with SQL. After loading, use query_market_data to run SQL queries.

load_option_chainA

Fetch option chain and load into SQL database for querying. Use this instead of get_option_chain when you need to analyze the data with SQL. After loading, use query_market_data to run SQL queries.

query_market_dataA

Run SQL query against loaded market data (price_history and options tables). First use load_price_history or load_option_chain to load data, then query it. Only SELECT queries are allowed. Use get_data_schema to see table schemas and example queries.

get_data_schemaB

Get schema information for market data tables including column definitions, available data, and example SQL queries for common analyses like volume profile.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 9 tools

Disambiguation4/5

Most tools have distinct purposes, but there is some overlap between get_quote and get_quotes, which could cause confusion as they differ only in handling single vs. multiple symbols. The load_* tools and query_market_data are clearly differentiated by their data loading vs. querying roles, and other tools like get_positions and get_movers target unique functions.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case, such as get_instruments, load_option_chain, and query_market_data. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions.

Tool Count5/5

With 9 tools, the server is well-scoped for market data and trading analysis, covering key areas like quotes, positions, movers, instruments, and SQL-based data handling. Each tool serves a clear purpose without redundancy, making the count appropriate for the domain.

Completeness4/5

The tool set provides strong coverage for market data retrieval and analysis, including real-time quotes, historical data, options, and positions. A minor gap exists in the lack of tools for executing trades or managing orders, which might be expected in a trading context, but the available tools support comprehensive data workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues