Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Stocks Info Server

FreeNot checked

Stocks Info Server — Model Context Protocol server

GitHubEmbed

About

Stocks Info Server — Model Context Protocol server

README

MCP (Model Context Protocol) сервер для доступа к данным о котировках акций на Московской бирже (MOEX) и финансовым новостям. Этот сервер предоставляет интерфейс для взаимодействия с LLM (Large Language Models) для получения актуальной информации о котировках и новостях.

Go Lint Go Test

Возможности

  • Получение информации о котировках акций на MOEX
  • Получение списка растущих/падающих акций
  • Поиск акций по названию или тикеру
  • Получение финансовых новостей за текущий день
  • Поиск новостей по ключевым словам
  • Получение новостей, связанных с конкретными акциями
  • Анализ акций на основе котировок и новостей
  • Обзор рынка с ключевыми показателями
  • Анализ финансовых новостей

Особенности

  • Использование MCP (Model Context Protocol) для интеграции с LLM
  • Кэширование данных для быстрого доступа
  • Поддержка как Redis, так и in-memory кэша
  • Хранение исторических данных в MongoDB
  • Чистая архитектура с разделением на слои
  • API ключи для доступа к внешним источникам данных
  • Контейнеризация с использованием Docker и Docker Compose

Требования

  • Docker и Docker Compose
  • API ключи для доступа к внешним сервисам (опционально)

Установка и запуск с помощью Docker

  1. Клонируйте репозиторий:
git clone https://github.com/jklondon/mcp-stocks-info-server.git
cd mcp-stocks-info-server
  1. Создайте файл с переменными окружения:
# Создайте .env файл из примера
cp .env.example .env

# Отредактируйте .env файл, установив свой API ключ NewsAPI
# NEWSAPI_KEY=your_news_api_key_here
  1. Запустите сервисы с помощью Docker Compose:
docker-compose up -d
  1. Проверьте работу сервисов:
# Посмотреть логи всех сервисов
docker-compose logs

# Посмотреть логи конкретного сервиса
docker-compose logs app

Разработка

Линтинг кода

Проект использует golangci-lint для статического анализа кода. Для запуска линтера локально:

  1. Установите golangci-lint следуя официальной инструкции

  2. Запустите линтер с помощью команды make:

make lint

Непрерывная интеграция (CI)

Проект настроен с использованием GitHub Actions для автоматического запуска следующих проверок при каждом пуше и PR:

  • Линтинг кода с помощью golangci-lint
  • Сборка и тестирование

Запуск без Docker

Требования

  • Go 1.21 или выше
  • MongoDB (опционально, но рекомендуется)
  • Redis (опционально)

Установка

  1. Клонируйте репозиторий:
git clone https://github.com/jklondon/mcp-stocks-info-server.git
cd mcp-stocks-info-server
  1. Установите зависимости:
go mod download
  1. Создайте конфигурационный файл config.yaml (см. пример ниже)

  2. Соберите сервер:

go build -o mcp-stocks-server ./cmd/server

Запуск сервера

./mcp-stocks-server config.yaml

Пример конфигурационного файла

server:
  port: 8080
  host: "localhost"
  timeoutSeconds: 30

database:
  uri: "mongodb://localhost:27017"
  database: "mcp_stocks"
  collection: "stocks"
  timeout: "5s"

cache:
  redisURI: "localhost:6379"
  redisDB: 0
  defaultTTL: "5m"
  stocksTTL: "15m"
  newsTTL: "30m"

moex:
  baseURL: "https://iss.moex.com/iss"
  timeout: "10s"
  useCache: true
  apiKey: "" # Опционально

newsAPI:
  baseURL: "https://newsapi.org/v2"
  timeout: "10s"
  useCache: true
  apiKey: "your_news_api_key_here" # Требуется для доступа к NewsAPI
  sources: ["rbc", "vedomosti", "kommersant"]

apiKeys:
  moexKey: "" # Опционально
  newsAPIKey: "your_news_api_key_here" # Дублирует newsAPI.apiKey

logLevel: "info"
environment: "development"

Интеграция с LLM

Для интеграции с LLM ваш клиент должен поддерживать протокол MCP. Вы можете использовать любой MCP-совместимый клиент для взаимодействия с этим сервером.

Доступные инструменты (tools)

  • get_stock_info - получение информации о котировке акции
  • get_top_gainers - получение списка топ растущих акций
  • get_top_losers - получение списка топ падающих акций
  • search_stocks - поиск акций по названию или тикеру
  • get_today_news - получение финансовых новостей за сегодня
  • search_news - поиск новостей по ключевому слову
  • get_news_by_ticker - получение новостей, связанных с указанным тикером

Доступные шаблоны (prompts)

  • stock_analysis - анализ котировок акции
  • market_overview - общий обзор состояния рынка
  • news_analysis - анализ финансовых новостей за сегодня

Участие в разработке

Проект является открытым, и любой может внести свой вклад. Если у вас есть предложения или исправления, создайте issue или pull request.

Лицензия

MIT

from github.com/JkLondon/mcp-stocks-info-server

Installing Stocks Info Server

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/JkLondon/mcp-stocks-info-server

FAQ

Is Stocks Info Server MCP free?

Yes, Stocks Info Server MCP is free — one-click install via Unyly at no cost.

Does Stocks Info Server need an API key?

No, Stocks Info Server runs without API keys or environment variables.

Is Stocks Info Server hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Stocks Info Server in Claude Desktop, Claude Code or Cursor?

Open Stocks Info Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Stocks Info Server with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs