market-pulse-mcp
market-pulse-mcp
Небольшой, узкоспециализированный MCP-сервер (Model Context Protocol), который предоставляет LLM живые данные крипторынка: спотовые цены, свечи OHLCV, снимки стакана заявок, ставки финансирования перпетуалов и несколько технических индикаторов, вычисляемых с нуля. Каждый источник данных — это публичный API биржи без ключей, поэтому настраивать нечего и аккаунт создавать не нужно.
Создан Brandon Perez (@remybanks77) как портфолио-проект, демонстрирующий чистую реализацию MCP-сервера: типизированный Python, минимальный набор зависимостей и математика индикаторов, написанная вручную, а не взятая из pandas или ta-lib.
Что он делает
market-pulse-mcp предоставляет шесть инструментов через MCP stdio-транспорт:
Инструмент | Описание | Источник |
| Текущая спотовая цена, лучший бид/аск, объём за 24 часа | Coinbase Exchange |
| Свечи OHLCV | Coinbase Exchange |
| Снимок верхней части стакана, спред, дисбаланс бид/аск | Coinbase Exchange |
| Ставка финансирования перпетуала, маркировочная цена, открытый интерес | Hyperliquid |
| RSI(14), EMA(20/50), ATR(14), реализованная волатильность | Coinbase Exchange (вычисляется локально) |
| Компактная мультиактивная таблица, объединяющая вышеперечисленное | Coinbase Exchange + Hyperliquid |
Символы — это обычные базовые тикеры: "BTC", "ETH", "SOL". Суффикс -USD или /USD допускается и отбрасывается, так что "BTC-USD" и "BTC" эквивалентны.
Related MCP server: MCP Crypto Market Data Server
Установка
С помощью uv (рекомендуется)
git clone https://github.com/remybanks77/market-pulse-mcp.git
cd market-pulse-mcp
uv venv
uv pip install -e ".[dev]"С помощью pip
git clone https://github.com/remybanks77/market-pulse-mcp.git
cd market-pulse-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"Оба способа устанавливают консольный скрипт market-pulse-mcp, который запускает сервер через stdio.
Настройка в Claude Code
Добавьте это в файл .mcp.json вашего проекта (или выполните claude mcp add):
{
"mcpServers": {
"market-pulse": {
"command": "market-pulse-mcp",
"args": []
}
}
}Если вы не устанавливали в активное виртуальное окружение, укажите command на бинарник из venv напрямую, например /path/to/market-pulse-mcp/.venv/bin/market-pulse-mcp.
Настройка в Claude Desktop
Добавьте это в claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"market-pulse": {
"command": "/absolute/path/to/market-pulse-mcp/.venv/bin/market-pulse-mcp"
}
}
}Перезапустите Claude Desktop после сохранения. Сервер market-pulse должен появиться под иконкой молотка/инструментов со списком из шести инструментов.
Пример диалога
User: What's BTC doing right now, and is it overbought?
Claude: [calls get_price("BTC")]
[calls compute_indicators("BTC", granularity="1h", limit=200)]
BTC is at $109,842 (bid $109,838 / ask $109,846). On the 1h chart:
- RSI(14): 68.4, approaching overbought but not there yet (>70)
- EMA(20) $109,510 above EMA(50) $108,220: short-term trend is bullish
- ATR(14): $412, so a typical 1h range is roughly 0.4% of price
- Realized vol (annualized): 47.9%
Not screaming overbought, but RSI is climbing. Want me to check the order
book for signs of resistance near current price, or pull funding rates to
see how leveraged longs are positioned?
User: Check funding, and give me a quick scan of BTC, ETH, and SOL.
Claude: [calls get_funding_rate("BTC")]
[calls market_summary(["BTC", "ETH", "SOL"])]
Funding on BTC perps (Hyperliquid): 0.0057% per 8h (about 6.2% annualized).
Mildly long-skewed, nothing extreme.
Quick scan:
BTC $109,842 RSI 68.4 bullish funding +6.2%/yr
ETH $3,912 RSI 61.2 bullish funding +4.8%/yr
SOL $198.30 RSI 54.9 flat funding +2.1%/yr
All three trending up on the hourly with positive funding. Nothing at a
extreme RSI level right now.Заметки по дизайну
Почему индикаторы написаны вручную, а не через pandas или ta-lib. Смысл этого сервера — быть маленькой, проверяемой зависимостью: mcp и httpx, и ничего больше. Подключение pandas ради четырёх формул индикаторов было бы гораздо более тяжёлой зависимостью, чем сама логика сервера. market_pulse_mcp/indicators.py реализует SMA, EMA, RSI Уайлдера, ATR Уайлдера и годовую реализованную волатильность (из логарифмических доходностей) напрямую на простых списках Python, причём каждая формула покрыта юнит-тестами с проверкой на вручную вычисленные эталонные значения, так что проверяется сама математика, а не только обвязка вокруг неё.
Почему именно Coinbase и Hyperliquid. Обе биржи предоставляют полные рыночные данные без API-ключа: публичные REST-эндпоинты Coinbase Exchange (api.exchange.coinbase.com) покрывают тикер, свечи и стакан; публичный info API Hyperliquid (api.hyperliquid.xyz/info) покрывает ставки финансирования перпетуалов и маркировочные цены в одном запросе metaAndAssetCtxs. Это делает проект по-настоящему zero-config: клонируй, устанавливай, запускай — без регистрации.
Обработка ограничений частоты запросов. Публичный тариф Coinbase агрессивно ограничивает частоту (несколько запросов в секунду). exchanges.py оборачивает каждый запрос в небольшой цикл повторных попыток с экспоненциальной задержкой, который повторяет запрос при HTTP 429 и 5xx (до 3 попыток, удваивая задержку каждый раз) и быстро завершается с ошибкой на других 4xx, поскольку они указывают на некорректный запрос, а не на временное состояние. market_summary обращается к этому механизму по каждому символу последовательно, а не запускает запросы конкурентно — это медленнее, но позволяет сканированию множества символов оставаться в пределах публичного лимита.
Философия обработки ошибок. Каждый инструмент перехватывает исключения от клиентов бирж и математики индикаторов и возвращает {"error": "..."} вместо того, чтобы позволить traceback распространиться через MCP-транспорт. Это даёт вызывающей модели читаемое сообщение, на которое она может отреагировать (повторить попытку, попросить пользователя указать другой символ и т.д.), а не непрозрачный сбой инструмента.
Тесты
pytest # offline tests only (default; see pyproject.toml)
pytest -m integration # also hit live Coinbase / Hyperliquid APIsОфлайн-набор (tests/test_indicators.py, tests/test_exchanges.py) полностью детерминирован: значения индикаторов проверяются по эталонам, рассчитанным вручную (см. комментарии в каждом тесте), а вспомогательные функции бирж (нормализация символов, разрешение гранулярности) — это чистые функции без сетевого доступа. Интеграционный набор (tests/test_integration.py) помечен @pytest.mark.integration и по умолчанию пропускается, так как зависит от живых цен и внешней доступности; запускайте его явно, когда хотите убедиться, что клиентский код по-прежнему соответствует реальным формам API.
Структура проекта
market_pulse_mcp/
server.py # MCPServer-based server: tool definitions, stdio entry point
exchanges.py # Coinbase + Hyperliquid HTTP clients, symbol/granularity helpers
indicators.py # RSI, EMA, ATR, realized volatility (stdlib only)
tests/
test_indicators.py # offline, fixture-based
test_exchanges.py # offline, pure-function tests
test_integration.py # live API tests, opt-in via -m integrationЛицензия
MIT, см. LICENSE.
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 Servers
- Flicense-qualityDmaintenanceProvides real-time and historical cryptocurrency market data from 100+ exchanges including prices, OHLCV data, market statistics, and order books through the CCXT library with intelligent caching.
- Flicense-qualityDmaintenanceProvides real-time and historical cryptocurrency market data from major exchanges through CCXT. Supports live price lookups, historical OHLCV queries, and includes lightweight caching for improved performance.
- Flicense-qualityCmaintenanceProvides real-time and historical cryptocurrency market data using ccxt, enabling users to fetch live prices, historical candlestick data, and stream real-time ticker updates across multiple exchanges.14
- AlicenseAqualityCmaintenanceProvides live cryptocurrency market data from over 100 exchanges, enabling AI agents to fetch prices, order books, funding rates, and more for trading analysis and arbitrage opportunities.131MIT
Related MCP Connectors
Live crypto data: funding rates, funding arbitrage, OI pressure, Fear & Greed. Free, no API key.
Provide real-time cryptocurrency price data and market analysis.
Real-time crypto prices from Binance, Coinbase, Kraken, OKX, and Bybit
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/remybanks77/market-pulse-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server