Schwab MCP Server
@sudowealth
Schwab MCP server that enables AI assistants like Claude to retrieve and interact with your Schwab accounts and Schwab market data.
概览
What is Schwab MCP Server?
A Model Context Protocol (MCP) server that enables AI assistants to securely interact with Charles Schwab accounts and market data through the official Schwab API. It is an unofficial, community-developed TypeScript server not endorsed by Schwab.
How to use Schwab MCP Server?
Clone the repository, install dependencies, authenticate with Cloudflare, create a KV namespace, set the required secrets (e.g., SCHWAB_CLIENT_ID), and deploy. Then configure Claude Desktop by adding the SSE endpoint URL as a custom integration or by using npx mcp-remote with the URL.
Key features of Schwab MCP Server
- OAuth 2.0 authentication with PKCE for security
- Account management with positions and balances
- Order management (get, cancel, place, replace)
- Real-time quotes and price history
- Options chains with Greeks and expiration data
- Market hours, movers, and instrument search
- Automatic account identifier scrubbing for privacy
Use cases of Schwab MCP Server
- Ask an AI assistant for account balances and positions
- Request real-time quotes for multiple symbols (e.g., AAPL, GOOGL)
- Get today’s top market movers for indices like $SPX
- Retrieve transaction history with date filtering
- Search for securities or ETFs related to a specific topic
FAQ from Schwab MCP Server
Is this an official Charles Schwab product?
No, it is an unofficial, community-developed MCP server. It has not been approved, endorsed, or certified by Charles Schwab. Use at your own risk.
What are the runtime requirements?
Node.js 22.x or higher, a Cloudflare account (paid plan for Durable Objects), Wrangler CLI, and a Schwab Developer account with a registered app. A KV namespace is also needed for OAuth token storage.
Where is my data stored?
OAuth tokens are stored in Cloudflare KV with 31‑day TTL. Session state uses Durable Objects. Schwab API responses are delivered on demand and not persisted by the server.
What are the known limitations?
Order management (cancel, place, replace) is marked as experimental. Durable Objects require a paid Cloudflare Workers plan. The server may be incomplete or unstable. No official support from Schwab.
What transport protocol does it use?
The server communicates via Server‑Sent Events (SSE). Authentication uses OAuth 2.0 with PKCE, with a browser flow for initial authorization.