StockScreen MCP Server

by twolven
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Leverages NumPy for numerical operations in stock data analysis, supporting technical indicators calculation and data processing

  • Utilizes pandas for handling financial data frames, enabling efficient stock screening, filtering, and result organization

  • Implemented as a Python-based MCP server that enables stock screening functionality through structured API calls

Servidor MCP de StockScreen

Un servidor de Protocolo de Contexto de Modelo (MCP) que ofrece funciones integrales de selección de acciones a través de Yahoo Finance. Permite a los LLM seleccionar acciones según criterios técnicos, fundamentales y de opciones, con soporte para la gestión de listas de seguimiento y el almacenamiento de resultados.

Características

Selección de acciones

  • Evaluación de análisis técnico
    • Filtros de precio y volumen
    • Promedios móviles (SMA de 20, 50 y 200)
    • Indicadores RSI
    • Rango verdadero promedio (ATR)
    • Análisis de tendencias (cambios en 1 día, 5 días y 20 días)
    • Cálculos de distancia MA
  • Detección fundamental
    • Filtros de capitalización de mercado
    • Análisis de la relación precio-beneficio
    • Criterios de rendimiento de dividendos
    • Métricas de crecimiento de los ingresos
    • Métricas específicas de ETF (AUM, ratio de gastos)
  • Evaluación de opciones
    • Filtros de volatilidad implícita (IV)
    • Volumen de opciones e interés abierto
    • Análisis de la relación put/call
    • Evaluación del diferencial entre oferta y demanda
    • Verificaciones de proximidad de la fecha de ganancias

Gestión de datos

  • Creación y gestión de listas de vigilancia
  • Almacenamiento de resultados de detección
  • Categorías de símbolos predeterminadas
    • Mega capitalización (>$200 mil millones)
    • Gran capitalización ($10 mil millones a $200 mil millones)
    • Mediana capitalización ($2 mil millones a $10 mil millones)
    • Pequeña capitalización (300 millones de dólares - 2 mil millones de dólares)
    • Micro capitalización (<$300 millones)
    • ETF

Instalación

# Install dependencies pip install -r requirements.txt # Clone the repository git clone https://github.com/twolven/mcp-stockscreen.git cd mcp-stockscreen

Uso

  1. Agregue a su configuración de Claude: En su claude-desktop-config.json , agregue lo siguiente a la sección mcpServers :
{ "mcpServers": { "stockscreen": { "command": "python", "args": ["path/to/stockscreen.py"] } } }

Reemplace "path/to/stockscreen.py" con la ruta completa donde guardó el archivo stockscreen.py.

Herramientas disponibles

Herramientas disponibles

  1. run_stock_screen

Criterios de selección técnica

{ "screen_type": "technical", "criteria": { "min_price": float, # Minimum stock price "max_price": float, # Maximum stock price "min_volume": int, # Minimum average volume "above_sma_200": bool, # Price above 200-day SMA "above_sma_50": bool, # Price above 50-day SMA "min_rsi": float, # Minimum RSI value "max_rsi": float, # Maximum RSI value "max_atr_pct": float, # Maximum ATR as percentage of price "category": str # Optional: market cap category filter }, "watchlist": str, # Optional: name of watchlist to screen "save_result": str # Optional: name to save results }

Criterios fundamentales de selección

{ "screen_type": "fundamental", "criteria": { "min_market_cap": float, # Minimum market capitalization "min_pe": float, # Minimum P/E ratio "max_pe": float, # Maximum P/E ratio "min_dividend": float, # Minimum dividend yield (%) "min_revenue_growth": float, # Minimum revenue growth rate "category": str, # Optional: market cap category filter # ETF-specific criteria "min_aum": float, # Minimum assets under management "max_expense_ratio": float, # Maximum expense ratio "min_volume": float # Minimum trading volume }, "watchlist": str, # Optional: name of watchlist to screen "save_result": str # Optional: name to save results }

Criterios de la pantalla de opciones

{ "screen_type": "options", "criteria": { "min_iv": float, # Minimum implied volatility (%) "max_iv": float, # Maximum implied volatility (%) "min_option_volume": int, # Minimum options volume "min_put_call_ratio": float, # Minimum put/call ratio "max_spread": float, # Maximum bid-ask spread (%) "min_days_to_earnings": int, # Minimum days until earnings "max_days_to_earnings": int, # Maximum days until earnings "category": str # Optional: market cap category filter }, "watchlist": str, # Optional: name of watchlist to screen "save_result": str # Optional: name to save results }

Criterios de la pantalla de noticias

{ "screen_type": "news", "criteria": { "keywords": List[str], # Keywords to search for in news "exclude_keywords": List[str], # Keywords to exclude from results "min_days": int, # Minimum days back to search "max_days": int, # Maximum days back to search "management_changes": bool, # Filter for management changes "require_all_keywords": bool, # Require all keywords to match "category": str # Optional: market cap category filter }, "watchlist": str, # Optional: name of watchlist to screen "save_result": str # Optional: name to save results }

Criterios de pantalla personalizados

{ "screen_type": "custom", "criteria": { "category": str, # Optional: market cap category filter "technical": { # Any technical criteria from above }, "fundamental": { # Any fundamental criteria from above }, "options": { # Any options criteria from above }, "news": { # Any news criteria from above } }, "watchlist": str, # Optional: name of watchlist to screen "save_result": str # Optional: name to save results }

Valores de categoría

Categorías de capitalización de mercado disponibles para filtrar:

  • "mega_cap": >$200 mil millones
  • "gran capitalización": 10 mil millones de dólares a 200 mil millones de dólares
  • "mid_cap": $2 mil millones - $10 mil millones
  • "small_cap": $300 millones - $2 mil millones
  • "micro_cap": <$300 millones
  • "etf": instrumentos ETF
  1. manage_watchlist
{ "action": str, # Required: "create", "update", "delete", "get" "name": str, # Required: watchlist name (1-50 chars, alphanumeric with _ -) "symbols": List[str] # Required for create/update: list of stock symbols }
  1. get_screening_result
{ "name": str # Required: name of saved screening result }

Formatos de respuesta

Respuesta técnica de la pantalla

{ "screen_type": "technical", "criteria": dict, # Original criteria used "matches": int, # Number of matching stocks "results": [ # List of matching stocks { "symbol": str, "price": float, "volume": float, "rsi": float, "sma_20": float, "sma_50": float, "sma_200": float, "atr": float, "atr_pct": float, "price_changes": { "1d": float, # 1-day price change % "5d": float, # 5-day price change % "20d": float # 20-day price change % }, "ma_distances": { "pct_from_20sma": float, "pct_from_50sma": float, "pct_from_200sma": float } } ], "rejected": [ # List of stocks that didn't match { "symbol": str, "rejection_reasons": List[str] } ], "timestamp": str }

Aviso de uso para Claude

He habilitado las herramientas de selección de stock, que ofrecen funciones de selección de stock. Puedes usar tres funciones principales:

  1. Pantallas de stock con varios tipos de criterios:
    • Técnico: Precio, volumen, RSI, medias móviles, ATR
    • Fundamental: capitalización de mercado, precio/beneficio, dividendos, crecimiento
    • Opciones: IV, volumen, fechas de ganancias
    • Personalizado: combinar varios tipos de criterios
  2. Administrar listas de seguimiento:
    • Crear y actualizar listas de símbolos
    • Eliminar listas de seguimiento existentes
    • Recuperar el contenido de la lista de seguimiento
  3. Acceder a los resultados de detección guardados:
    • Cargar resultados de pantalla anteriores
    • Revisar los símbolos y criterios coincidentes

Todas las funciones incluyen manejo de errores, datos detallados del mercado y respuestas integrales".

Requisitos

  • Python 3.12+
  • Servidor MCP
  • yfinanzas
  • pandas
  • Numpy
  • asincronía

Limitaciones

  • Datos procedentes de Yahoo Finance con posibles retrasos.
  • Límites de tarifas basados en las restricciones de la API de Yahoo Finance
  • La disponibilidad de datos de opciones depende del horario del mercado.
  • Algunas métricas financieras pueden retrasarse o no estar disponibles

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Autor

Todd Wolven - ( https://github.com/twolven )

Expresiones de gratitud

  • Construido con el Protocolo de Contexto de Modelo (MCP) de Anthropic
  • Datos proporcionados por Yahoo Finance
  • Desarrollado para su uso con Claude de Anthropic
-
security - not tested
A
license - permissive license
-
quality - not tested

Ofrece funciones integrales de selección de acciones a través de Yahoo Finance. Permite a los LLM seleccionar acciones según criterios técnicos, fundamentales y de opciones, con soporte para la gestión de listas de seguimiento y el almacenamiento de resultados.

  1. Features
    1. Stock Screening
    2. Data Management
  2. Installation
    1. Usage
      1. Available Tools
        1. Available Tools
          1. Technical Screen Criteria
          2. Fundamental Screen Criteria
          3. Options Screen Criteria
          4. News Screen Criteria
          5. Custom Screen Criteria
          6. Category Values
        2. Response Formats
          1. Technical Screen Response
        3. Usage Prompt for Claude
          1. Requirements
            1. Limitations
              1. Contributing
                1. License
                  1. Author
                    1. Acknowledgments
                      ID: ddrv1ksb7n