local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
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)
Instalación
Uso
Autenticación
El primer paso es autenticarse con la API de Schwab y generar un token:
Puede configurar estas credenciales a través de variables de entorno para evitar escribirlas cada vez:
SCHWAB_CLIENT_ID
SCHWAB_CLIENT_SECRET
SCHWAB_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:
Se 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:
La 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-wheel
habilita 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
Licencia
Este proyecto está disponible bajo la licencia MIT.
This server cannot be installed
Un servidor que implementa el Protocolo de Contexto de Modelo para la API de Schwab, lo que permite el acceso a información de cuentas, posiciones, cotizaciones de acciones e historial de pedidos/transacciones diseñado para la integración con modelos de lenguaje grandes.