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