Skip to main content
Glama
TuokkiCode

Finviz MCP

by TuokkiCode

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 поддерживает только готовые диапазоны значений, а не произвольные числа.

1. Локальное тестирование

Требуется Python 3.10+:

pip install -r requirements.txt
python server.py

Сервер запускается по адресу http://localhost:8000/mcp (Streamable HTTP).

Протестировано от начала до конца в этой среде (установка, запуск, рукопожатие initialize и все пять инструментов с реальными данными Finviz). Во время тестирования выяснилось, что PyPI-пакет finvizfinance 1.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)

  1. Отправьте эту папку в свой Git-репозиторий (GitHub/GitLab).

  2. Render → New +Web Service → подключите репозиторий.

  3. Render автоматически распознает Dockerfile. Отдельные переменные окружения не нужны – сервер считывает порт из переменной PORT, установленной Render.

  4. После публикации вы получите адрес вида https://finviz-mcp.onrender.com. MCP-эндпоинт находится по пути /mcp, то есть: https://finviz-mcp.onrender.com/mcp.

Railway, Fly.io и т.п. работают по тому же принципу (хостинг Python на основе Dockerfile, переменная окружения PORT).

3. Подключение к Клоду

Claude → SettingsConnectorsAdd 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_stockslist_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, может его вызывать. Данные являются публичными, но имейте это в виду, если позже добавите платные/ограниченные функции.

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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.

View all MCP Connectors

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/TuokkiCode/finviz-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server