TM

twolven/mcp-stockflow

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

27 stars 8 forks 质量 60 趋势 19MIT

使用 MCP 的 Claude Desktop 股票市场数据提供商

概览

一个带有类型化的FastMCP服务器,用于股票元数据、价格历史、技术指标、财务报表、日历和期权链,通过yfinance运行。它支持本地stdio和容器化的可流式HTTP传输。 - get_stock_data_v2(符号,include_financials=False,include_analysis=False,include_calendar=False)- get_historical_data_v2(符号,句号,区间='1d',前置词=False)- get_options_chain_v2(符号,expiration_date=无,include_greeks=False) 历史下载明确使用未调整价格、启用修复、时区保留、超时和单符号平坦指数。行保留时间戳,省略单独调整的收盘列。波动率对每个请求区间年化,五天柱块使用252/5,延长时段则调整日内周期。RSI采用典型的Wilder简单平均种子,随后递归平滑,具有明确的增减/零损失行为。

概述(AI 翻译)

一个带有类型化的FastMCP服务器,用于股票元数据、价格历史、技术指标、财务报表、日历和期权链,通过yfinance运行。它支持本地stdio和容器化的可流式HTTP传输。

工具

  • get_stock_data_v2(symbol, include_financials=False, include_analysis=False, include_calendar=False)
  • get_historical_data_v2(symbol, period, interval='1d', prepost=False)
  • get_options_chain_v2(symbol, expiration_date=None, include_greeks=False)

历史下载明确使用未调整价格、启用修复、时区保留、超时和单符号平坦指数。行保留时间戳,省略单独调整的收盘栏。波动率对每个请求区间年化,五天柱使用252/5,延长时段则在日内调整。RSI采用典型的Wilder简单平均种子,随后递归平滑,定义为零盈亏行为。在请求时,期权希腊为理论上的欧洲Black-Scholes每股估计值(θ/日;vega/rho/rho每百分点);无风险利率元数据标识配置的备选方案。

服务器使用stdio。

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

StockFlow MCP

A typed FastMCP server for stock metadata, price history, technical indicators, financial statements, calendars, and option chains through yfinance. It supports local stdio and containerized Streamable HTTP transports.

Tools

  • get_stock_data_v2(symbol, include_financials=False, include_analysis=False, include_calendar=False)
  • get_historical_data_v2(symbol, period, interval='1d', prepost=False)
  • get_options_chain_v2(symbol, expiration_date=None, include_greeks=False)

Historical downloads explicitly use unadjusted prices, repair enabled, timezone retention, a timeout, and a flat single-symbol index. Rows retain timestamps and omit the separately adjusted-close column. Volatility is annualized for every requested interval, uses 252/5 for five-day bars, and scales intraday periods for extended-hours sessions. RSI uses the canonical Wilder simple-average seed followed by recursive smoothing, with defined zero-gain/loss behavior. When requested, option Greeks are theoretical European Black-Scholes estimates per share (theta per day; vega/rho per one percentage point); risk-free-rate metadata identifies the configured fallback.

uv sync --locked
uv run python stockflow.py

The server uses stdio. Yahoo Finance is an unofficial personal-use source and may be delayed, incomplete, rate-limited, missing fields, or structurally changed. Dividends and American-style early exercise are not modeled in Greeks. Results are not investment advice or guaranteed real-time data.

Docker / Streamable HTTP

The container runs as an unprivileged user, installs the locked production dependencies, and serves MCP at http://127.0.0.1:8000/mcp. Start it with:

docker compose up --build -d
Invoke-RestMethod http://127.0.0.1:8000/health

Connect a Streamable HTTP-capable MCP client to http://127.0.0.1:8000/mcp. To avoid a port collision when running multiple servers, set MCP_HOST_PORT before starting Compose, for example $env:MCP_HOST_PORT=8003. Stop and remove the container with docker compose down.

The Compose mapping intentionally binds to localhost. The endpoint has no authentication or TLS and must not be exposed to an untrusted network without a properly configured reverse proxy and access control.

Binding to loopback alone does not make the endpoint private: a browser can still reach it through DNS rebinding, so the server validates Host and Origin headers before a request reaches an MCP session. Requests carrying a foreign Host are answered with 421 Misdirected Request and those carrying a foreign Origin with 403 Forbidden, while same-origin loopback traffic and non-browser clients that send no Origin are unaffected.

Variable Default Purpose
MCP_TRANSPORT stdio stdio, http, or streamable-http.
MCP_HOST 127.0.0.1 Interface the HTTP server binds.
MCP_PORT 8000 Port inside the container.
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →