Сервер Marketstack MCP
Сервер Model Context Protocol (MCP), который представляет различные конечные точки API Marketstack как инструменты MCP, предоставляя доступ к финансовым данным, включая данные на конец дня, внутри дня, дробления, дивиденды, тикеры, биржи, валюты, часовые пояса, облигации и данные ETF. Этот сервер упрощает интеграцию данных Marketstack в MCP-совместимые агенты и системы.
Предпосылки
Node.js (рекомендуется версия 18 или более поздняя)
npm (входит в состав Node.js)
API-ключ Marketstack
(Необязательно) MCP-совместимый клиент или средство запуска (например, расширение VSCode, CLI)
Related MCP server: CoinMarketCap MCP
Настраивать
Клонируйте репозиторий или убедитесь, что вы находитесь в каталоге проекта.
Установить зависимости:
npm installКонфигурация:
Получите ключ API Marketstack по адресу https://marketstack.com/ .
Настройте переменную среды
MARKETSTACK_API_KEYчерез настройки вашего MCP runner. Это рекомендуемый метод для бесшовной интеграции с клиентом MCP. Избегайте использования файлов.envдля этой цели при запуске через MCP runner.
Строительство и запуск
Сборка сервера:
npm run buildЭто создаст каталог
buildсо скомпилированным кодом JavaScript.Запускаем сервер:
npm run startили напрямую:
node build/index.jsЧерез MCP runner: Настройте клиент MCP для запуска сервера с использованием транспорта stdio. Пример записи настроек MCP (измените
/path/to/mcp-marketstackна ваш фактический путь и заменитеYOUR_API_KEY_HEREна ваш фактический ключ):"marketstack": { "transportType": "stdio", "command": "node", "args": [ "/path/to/mcp-marketstack/build/index.js" ], "env": { "MARKETSTACK_API_KEY": "YOUR_API_KEY_HERE" } // ... other optional settings ... }
Доступные инструменты
Сервер предоставляет конечные точки API Marketstack как отдельные инструменты MCP, классифицированные по функциям:
Рыночные данные
Справочные данные
Финансовые инструменты
Подробные схемы ввода и описания для каждого инструмента автоматически обнаруживаются агентами MCP, подключающимися к серверу посредством интроспекции.
Структура проекта
Проект имеет модульную структуру:
Кэширование
Сервер реализует кэш Least Recently Used (LRU) в памяти для ответов инструментов. Это помогает сократить избыточные вызовы API Marketstack, повышая производительность и соблюдая ограничения скорости.
Механизм: Кэш хранит ответы на основе имени инструмента и входных параметров.
Настраиваемые TTL: каждый инструмент имеет настраиваемое время жизни (TTL) для своих кэшированных данных, определенное в
src/cacheConfig.ts. Это позволяет использовать различные длительности кэширования в зависимости от частоты обновления данных, предоставляемых каждой конечной точкой Marketstack.
Лицензирование
Этот проект лицензирован в соответствии с GNU General Public License, опубликованной Free Software Foundation, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии. Подробности см. в файле LICENSE .
Внося вклад
Вклады приветствуются! Пожалуйста, следуйте стандартному рабочему процессу fork-and-pull request.
Поддерживать
Если у вас возникли проблемы или вопросы, пожалуйста, создайте тему в репозитории GitHub.