Finviz MCP
Finviz MCP
Servidor MCP que proporciona a Claude (o cualquier cliente MCP) acceso a datos de acciones de Finviz: indicadores de una acción, noticias y búsquedas de screener, así como datos históricos de precios reales (Yahoo Finance). Los datos se obtienen en vivo con las bibliotecas finvizfinance y yfinance, por lo que no se necesitan claves API.
Herramientas
get_stock(ticker)– indicadores de Finviz para una acción (P/E, capitalización de mercado, márgenes, rendimientos, etc.)get_stock_news(ticker)– titulares de noticias recientes de la acciónget_price_history(ticker, days=7)– datos históricos reales a nivel diario (Apertura/Máximo/Mínimo/Cierre/Volumen) de Yahoo Finance hasta 365 días, más un análisis listo de qué día habría sido la mejor compra (precio más bajo y mejor rendimiento en comparación con el último cierre). Finviz en sí no tiene API de datos históricos, solo una instantánea actual y una imagen de gráfico estática.screen_stocks(...)– screener de Finviz con parámetros naturales (market_cap,sector,pe_max,rsi,dividend_yield_min,signal, ...). Claude no necesita conocer los nombres internos de los filtros de Finviz – el servidor traduce automáticamente los parámetros al valor más cercano compatible con Finviz. Solo funciona cuando se ejecuta localmente, no en un servidor en la nube publicado – ver Limitaciones.list_screener_filters(search=None)/list_screener_signals()– herramientas auxiliares para Claude, si necesita algún filtro quescreen_stocksaún no cubre con un parámetro nombrado. El valor encontrado se puede pasar como parámetroscreen_stocks(extra_filters={...}).
Los parámetros de screen_stocks siempre se ajustan al "cubo" más cercano que ofrece Finviz (p. ej., pe_max=18 → "Under 20"), porque el screener de Finviz solo admite rangos de valores predefinidos, no números arbitrarios.
1. Pruebas locales
Requiere Python 3.10+:
pip install -r requirements.txt
python server.pyEl servidor se inicia en http://localhost:8000/mcp (Streamable HTTP).
Probado de extremo a extremo en este entorno (instalación, inicio, handshake
initializey las cinco herramientas con datos reales de Finviz). Durante las pruebas se descubrió quefinvizfinance1.3.0 de PyPI aún no estaba actualizado con la nueva plantilla de Finviz:get_stockfallaba por completo (la antigua clase CSSquote-linksahora esquote-header_categories, con contenido diferente), y la columna Ticker descreen_stockstenía una letra inicial extra (p. ej., "NVDA" → "NNVDA", debido al nuevo marcador de posición del logotipo de Finviz).server.pycorrige ambos directamente (ver comentario al inicio del archivo) – si Finviz vuelve a cambiar su página, estas correcciones son lo primero a revisar.
Si no tienes Python instalado pero sí Docker, puedes probar sin instalación local de Python:
docker build -t finviz-mcp .
docker run -p 8000:8000 finviz-mcpPrueba rápida de funcionalidad desde la línea de comandos (requiere curl y que el servidor esté en ejecución):
curl -X POST http://localhost:8000/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}"La respuesta debería mostrar seis herramientas: get_stock, get_stock_news, get_price_history, screen_stocks, list_screener_filters, list_screener_signals.
2. Publicación (p. ej., Render)
Sube esta carpeta a tu propio repositorio Git (GitHub/GitLab).
Render → New + → Web Service → conecta el repositorio.
Render detecta automáticamente el
Dockerfile. No se necesitan variables de entorno adicionales – el servidor lee el puerto de la variablePORTestablecida por Render.Tras la publicación, obtendrás una URL como
https://finviz-mcp.onrender.com. El endpoint MCP es/mcpdespués de esta, es decir:https://finviz-mcp.onrender.com/mcp.
Railway, Fly.io, etc. funcionan con el mismo principio (hosting Python basado en Dockerfile, variable de entorno PORT).
3. Conexión con Claude
Claude → Settings → Connectors → Add custom connector → pega la URL MCP (https://<tu-dirección>/mcp).
Claude admite servidores MCP remotos a través de Streamable HTTP, por lo que funciona directamente.
4. Ejemplos de prompts
"Get me the Finviz fundamentals for NVDA."
"Find oversold technology stocks with market cap over $10B."
"Show me 15 large-cap dividend stocks with yield over 4% and P/E under 20."
"What's the latest news on TSLA?"
"Find stocks flagged as Top Gainers today with average volume over 1M."
Limitaciones
screen_stocks(ylist_screener_filters/list_screener_signals) no funciona en un servidor en la nube publicado (probado en Render): Finviz devuelve 403 Forbidden específicamente para el endpoint del screener (finviz.com/screener.ashx) desde direcciones IP de centros de datos, aunqueget_stock/get_stock_news/get_price_historyfuncionan perfectamente desde el mismo servidor (usan endpoints diferentes y menos protegidos). No se pudo solucionar ajustando las cabeceras HTTP – parece ser un bloqueo intencional de IP de centro de datos por parte de Finviz solo para el screener. Si necesitas la funcionalidad descreen_stocks, ejecuta el servidor localmente (python server.py) y conéctate a él mediante un túnel comocloudflared/ngrok, para que las solicitudes salgan desde la IP de tu red doméstica.Los datos se extraen de los sitios web de Finviz/Yahoo Finance (sin claves API oficiales), por lo que pueden romperse si cambian la estructura de sus páginas.
screen_stockslimita los resultados a 20 filas por defecto y un máximo de 50, para que la solicitud sea rápida.get_price_historylimita el parámetrodaysa un máximo de 365.No incluye autenticación – si el servicio es público en Internet, cualquiera que conozca la URL puede invocarlo. Los datos son públicos, pero tenlo en cuenta si más adelante añades funciones de pago/restringidas.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Real-time market data, screeners, technical analysis & backtesting for stocks, crypto and forex.
Real-time news with bias scoring, live market data, and AI-powered options pricing
Real SEC, 13F, insider, congress & macro data your AI agent can cite. Hosted MCP, 24 tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/TuokkiCode/finviz-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server