Schwab Model Context Protocol Server
Servidor de protocolo de contexto del modelo Schwab
Este es un servidor que implementa el Protocolo de Contexto de Modelo (MCP) para la API de Schwab usando schwab-py y el MCP python-sdk .
Características
Exponer la funcionalidad de la API de Schwab a través del Protocolo de Contexto de Modelo
Obtener información de la cuenta y posiciones
Recuperar cotizaciones de acciones e historial de precios
Obtenga información del mercado y de los impulsores
Obtener cadenas de opciones y datos de vencimiento
Acceder al historial de pedidos y transacciones
Modificar el estado de la cuenta con herramientas especiales (requiere el indicador
--jesus-take-the-wheel)Diseñado para integrarse con modelos de lenguaje grandes (LLM)
Related MCP server: Microsoft SQL Server MCP Server
Instalación
# Install with all dependencies
uv add -e .
# Install development dependencies
uv add -e .[dev]Uso
Autenticación
El primer paso es autenticarse con la API de Schwab y generar un token:
# Authenticate and generate a token
uv run schwab-mcp auth --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET --callback-url YOUR_CALLBACK_URLPuede configurar estas credenciales a través de variables de entorno para evitar escribirlas cada vez:
SCHWAB_CLIENT_IDSCHWAB_CLIENT_SECRETSCHWAB_CALLBACK_URL(predeterminado: https://127.0.0.1:8182 )
De forma predeterminada, el token se guarda en ~/.local/share/schwab-mcp/token.yaml (específico de la plataforma). Puede especificar una ruta diferente:
uv run schwab-mcp auth --token-path /path/to/token.yamlSe admiten los formatos de token yaml y json y se inferirán a partir de la extensión del archivo.
Ejecución del servidor
Después de la autenticación, puede ejecutar el servidor:
# Run the server with default token path
uv run schwab-mcp server --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET --callback-url YOUR_CALLBACK_URL
# Run with a custom token path
uv run schwab-mcp server --token-path /path/to/token.json --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET --callback-url YOUR_CALLBACK_URL
# Run with account modification tools enabled
uv run schwab-mcp server --jesus-take-the-wheel --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET --callback-url YOUR_CALLBACK_URLLa antigüedad del token está validada: si es mayor a 5 días, se le solicitará que vuelva a autenticarse.
ADVERTENCIA : El uso del indicador
--jesus-take-the-wheelhabilita herramientas que pueden modificar el estado de su cuenta. Úselo con precaución, ya que esto permite que los LLM cancelen pedidos y potencialmente realicen otras acciones que alteren el estado de la cuenta.
Herramientas disponibles
El servidor expone las siguientes herramientas MCP:
Información sobre fechas y mercados
get_datetime- Obtener la fecha y hora actual en formato ISOget_market_hours- Obtener el horario de mercado para un mercado específicoget_movers- Obtener movedores para un índice específicoget_instruments- Busca instrumentos con un símbolo específico
Información de la cuenta
get_account_numbers- Obtener la asignación de los ID de cuenta a los hashes de cuentaget_accounts- Obtener información de todas las cuentas de Schwab vinculadasget_accounts_with_positions- Obtener cuentas con información de posiciónget_account- Obtener información de una cuenta específicaget_account_with_positions- Obtener una cuenta específica con información de posiciónget_user_preferences: obtiene las preferencias del usuario para todas las cuentas, incluidos los apodos
Pedidos
get_order- Obtener detalles de un pedido específicoget_orders- Obtener pedidos para una cuenta específica
Citas
get_quotes- Obtener comillas para símbolos específicos
Historial de precios
get_advanced_price_history: obtenga el historial de precios avanzado de un símbolo específicoget_price_history_every_minute- Obtener el historial de precios con frecuencia de minutosget_price_history_every_five_minutes- Obtener el historial de precios con una frecuencia de cinco minutosget_price_history_every_ten_minutes- Obtener el historial de precios con una frecuencia de diez minutosget_price_history_every_fifteen_minutes- Obtener el historial de precios con una frecuencia de quince minutosget_price_history_every_thirty_minutes- Obtener el historial de precios con una frecuencia de treinta minutosget_price_history_every_day- Obtener el historial de precios con frecuencia diariaget_price_history_every_week- Obtener el historial de precios con frecuencia semanal
Opciones
get_option_chain- Obtener la cadena de opciones para un símbolo específicoget_advanced_option_chain: obtiene la cadena de opciones avanzadas para un símbolo específicoget_option_expiration_chain- Obtener información de vencimiento de la opción para un símbolo
Actas
get_transactions- Obtener transacciones para una cuenta específicaget_transaction- Obtener detalles de una transacción específica
Herramientas de modificación de cuenta (Requiere el indicador --jesus-take-the-wheel )
cancel_order- Cancelar un pedido específico
Advertencia de seguridad
El indicador --jesus-take-the-wheel permite a los LLM realizar acciones que pueden modificar el estado de su cuenta, incluidas:
Cancelación de pedidos
Otras acciones que pueden tener implicaciones financieras (se agregarán más herramientas en futuras versiones)
Utilice esta bandera únicamente en entornos controlados y comprenda los riesgos que conlleva.
Desarrollo
# Type check
uv run pyright
# Format code
uv run ruff format .
# Lint
uv run ruff check .
# Run tests
uv run pytestLicencia
Este proyecto está disponible bajo la licencia MIT.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/jkoelker/schwab-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server