Finviz MCP
Finviz MCP
MCP-сервер, который предоставляет Клоду (или любому MCP-клиенту) доступ к данным по акциям Finviz: фундаментальные показатели одной акции, новости и поиск по скринеру, а также реальные исторические данные о ценах (Yahoo Finance). Данные получаются в реальном времени с помощью библиотек finvizfinance и yfinance, то есть никакие API-ключи не требуются.
Инструменты
get_stock(ticker)– фундаментальные показатели одной акции из Finviz (P/E, рыночная капитализация, маржа, доходность и т.д.)get_stock_news(ticker)– последние заголовки новостей по акцииget_price_history(ticker, days=7)– реальные дневные исторические данные (Open/High/Low/Close/Volume) из Yahoo Finance на срок до 365 дней, а также готовый анализ того, какой день был бы лучшим для покупки (самая низкая цена и лучшая доходность по сравнению с последней ценой закрытия). У самого Finviz нет API для исторических данных, только текущий снимок и статическое изображение графика.screen_stocks(...)– скринер Finviz с естественными параметрами (market_cap,sector,pe_max,rsi,dividend_yield_min,signal, ...). Клоду не нужно объяснять внутренние имена фильтров Finviz – сервер автоматически преобразует параметры в ближайшее поддерживаемое Finviz значение. Работает только при локальном запуске, не в облаке – см. Ограничения.list_screener_filters(search=None)/list_screener_signals()– вспомогательные инструменты для Клода, если ему нужен какой-то фильтр, которыйscreen_stocksещё не покрывает именованным параметром. Найденное значение можно передать в параметреscreen_stocks(extra_filters={...}).
Параметры screen_stocks всегда округляются до ближайшей «корзины», предлагаемой Finviz (например, pe_max=18 → «Under 20»), поскольку скринер Finviz поддерживает только готовые диапазоны значений, а не произвольные числа.
Related MCP server: Yahoo Finance MCP Server
1. Локальное тестирование
Требуется Python 3.10+:
pip install -r requirements.txt
python server.pyСервер запускается по адресу http://localhost:8000/mcp (Streamable HTTP).
Протестировано от начала до конца в этой среде (установка, запуск, рукопожатие
initializeи все пять инструментов с реальными данными Finviz). Во время тестирования выяснилось, что PyPI-пакетfinvizfinance1.3.0 ещё не был обновлён под новую структуру страниц Finviz:get_stockполностью падал (старый CSS-классquote-linksтеперь называетсяquote-header_categoriesс другим содержимым), а в колонке Ticker вscreen_stocksпоявлялась лишняя начальная буква (например, «NVDA» → «NNVDA» из-за нового плейсхолдера логотипа Finviz).server.pyисправляет обе проблемы напрямую (см. комментарий в начале файла) – если Finviz снова изменит страницу, эти исправления стоит проверить в первую очередь.
Если Python не установлен на компьютере, но есть Docker, вы можете протестировать без локальной установки Python:
docker build -t finviz-mcp .
docker run -p 8000:8000 finviz-mcpБыстрый тест работоспособности из командной строки (требуется curl и работающий сервер):
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\"}"В ответе должно отобразиться шесть инструментов: get_stock, get_stock_news, get_price_history, screen_stocks, list_screener_filters, list_screener_signals.
2. Публикация (например, Render)
Отправьте эту папку в свой Git-репозиторий (GitHub/GitLab).
Render → New + → Web Service → подключите репозиторий.
Render автоматически распознает
Dockerfile. Отдельные переменные окружения не нужны – сервер считывает порт из переменнойPORT, установленной Render.После публикации вы получите адрес вида
https://finviz-mcp.onrender.com. MCP-эндпоинт находится по пути/mcp, то есть:https://finviz-mcp.onrender.com/mcp.
Railway, Fly.io и т.п. работают по тому же принципу (хостинг Python на основе Dockerfile, переменная окружения PORT).
3. Подключение к Клоду
Claude → Settings → Connectors → Add custom connector → вставьте MCP-URL (https://<ваш-адрес>/mcp).
Claude поддерживает удалённые MCP-серверы через Streamable HTTP, поэтому это работает напрямую.
4. Примеры запросов
«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.»
Ограничения
screen_stocks(иlist_screener_filters/list_screener_signals) не работает при публикации в облаке (проверено на Render): Finviz возвращает 403 Forbidden именно для эндпоинта скринера (finviz.com/screener.ashx) с IP-адресов дата-центров, хотяget_stock/get_stock_news/get_price_historyработают с того же сервера совершенно нормально (они используют другие, менее защищённые эндпоинты). Эту проблему не удалось исправить настройкой HTTP-заголовков – похоже, это целенаправленная блокировка IP дата-центров именно для скринера со стороны Finviz. Если вам нужна функцияscreen_stocks, запустите сервер локально (python server.py) и подключитесь к нему, например, через туннельcloudflared/ngrok, чтобы запросы исходили с IP вашей домашней сети.Данные парсятся с веб-сайтов Finviz/Yahoo Finance (нет официальных API-ключей), поэтому они могут сломаться, если сайты изменят свою структуру.
screen_stocksпо умолчанию ограничивает результаты до 20 и максимум до 50 строк, чтобы запрос оставался быстрым.get_price_historyограничивает параметрdaysдо 365.Не включает аутентификацию – если сервис находится в открытом интернете, любой, кто знает URL, может его вызывать. Данные являются публичными, но имейте это в виду, если позже добавите платные/ограниченные функции.
This server cannot be deployed
Maintenance
Related MCP Connectors
Scrape stock quotes, historical prices, and financial statements from Yahoo Finance.
Analyze stocks with summaries, price targets, and analyst recommendations. Track SEC filings, divi…
Stock market data for AI agents: real-time quotes, financials, options, SEC filings and news.
Fetch current stock prices and key data for symbols across global markets. Look up companies like…
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides comprehensive financial market data and news through the Finnhub API. Enables real-time stock quotes, company profiles, financial metrics, analyst recommendations, and market news access.1MIT
- AlicenseNot gradedqualityDmaintenanceProvides real-time stock quotes, historical price data, financial news, and multi-stock comparisons using Yahoo Finance data. Enables users to access comprehensive financial market information through natural language queries.243 npmMIT
- FlicenseNot gradedqualityDmaintenanceProvides real-time stock market data through Yahoo Finance without requiring an API key. Get quotes, historical data, company information, financial statements, and ticker search capabilities.-
- AlicenseNot gradedqualityCmaintenanceProvides real-time stock quotes, historical data, and stock search via Yahoo Finance, enabling AI assistants to access and analyze financial market data.57 npm19MIT