Free Stockdb MCP Server

by hello245m• 3.1k•• Scanned•Claim this listing•Request removal
Finance & Tradinga sharealgorithmic tradingbacktestingchina stock marketkline

面向 A 股日K、分钟K与ETF分钟数据的本地量化引擎,集成增量同步、本地缓存、复权、批量查询、回测与指标计算。

Free Stockdb is an open-source mcp server by hello245m, written mainly in HTML, with 3,096 GitHub stars and the MIT license. Its code was last updated Oct 12, 2026.

[08-10]windows,macos,alpine,manylinux版本已发布。[08-04]mac,linux版本完成,已通过多轮压力测试,即将发布。

free-stockdb

本地量化数据引擎

面向 A 股日K、分钟K与 ETF 分钟、tick级数据的本地量化引擎。free-stockdb 将数据同步、清洗、复权、组织为可直接用于批量查询、批量计算研究的数据底座。

❤️双击更新 -> 双击启动 -> 直接调用。

下载地址1

下载地址2

双击启动演示动画

数据本地落盘,研究不再依赖远程接口。

本地优先增量同步数据支持(按需)本地指标计算五种调用方式
数据在用户磁盘只处理变化数据日/周/月/1/5/15/30分钟/tick39 种指标、5 种指数Python / HTTP / Excel / HTML / MCP
flowchart TB
    A["数据更新:同步、清洗、复权、增量"] --> B["free-stockdb 本地数据与计算引擎"]
    B --> C["Python SDK"]
    B --> D["HTTP API"]
    B --> E["Excel / WPS"]
    B --> F["HTML 网页"]
    B --> G["AI MCP"]

同步后的查询、计算、回测和接口都使用本机数据,不与远程请求链路耦合。

为什么需要本地数据引擎

全市场批量回测的瓶颈不是策略代码,而是数据工程。以全市场 7000+ 股票分钟线回测为例,远程 API 方案的真实工作量:

环节在线 API 方案的真实耗时free-stockdb
数据下载全市场分钟数据逐股请求,受限频/积分/IP 风控约束,实测需要3-5 天;爬虫方案批量拉取封号/限频通过 sync_url.txt 配置数据源,Zstd 压缩传输,增量同步,断点续传
数据清洗处理停牌、退市、代码变更、缺失补拉、时间排序,1-2 天同步流程自动完成
复权处理获取分红送转数据、推算复权因子、历史回刷,1-2 天内置完整复权因子,查询时写时计算
存储设计选型数据库、设计表结构、建索引、批量入库、优化查询,1-3 天定制 C++ 时序引擎,开箱即用
指标计算编写 MA/MACD/KDJ 等公式、pandas 全市场遍历极慢(单次数小时),2-3 天内置 39 指标 + 5 指数,Rust 计算核心比 pandas 快 3 倍,数秒完成
板块映射爬取概念/行业数据、构建双向索引、持续维护,1-2 天内置申万一二三级 + 1200 概念板块,bk.get() 毫秒查询
接口对接Python/HTTP/Excel/AI 各自对接维护,1-2 天五种调用方式统一内置
合计最少 10-15 个工作日才能跑通第一个全市场策略30 分钟内从零到可运行

远程 API 方案在全市场回测场景下不是慢,是跑不通。free-stockdb 将数据工程与策略研究完整解耦:数据更新在同步层完成,策略只读本地数据集,数据源可替换,研究接口不变。

已集成的数据工程

使用者原本需要维护启动后直接获得
接口 Token、限频、封ip、断点恢复和全市场数据调度数据源增量同步、文件校验和本地存量数据
新股、停牌、退市、代码变更、时间排序与历史修正统一的数据组织、复权因子与查询协议
数据库选型、表结构、索引、批量入库和查询优化本地 C++ 时序数据服务,按代码和时间范围批量读取
pandas/DataFrame 拼接、指标滚动计算与中间缓存zb.get() 批量指标和指数计算接口
Python、HTTP、Excel、网页、AI 工具的多套对接一套本地协议对应 Python SDK、HTTP API、Excel/WPS、HTML、MCP

数据完成同步后,查询、计算和回测只依赖本地数据集;更新与研究彼此独立。

两分钟开始

Windows 使用者可从 Releases 下载发行包。首次运行:

1. 运行数据更新工具
2. 数据同步到 ./data
3. 启动 stockdb (仅2.2mb)
4. 直接使用 Python、HTTP、Excel/WPS、网页或 MCP 查询本机数据

已有数据完整落盘在 ./data;后续更新只处理变化数据,离线时仍可继续查询、回测和计算。

数据存储与数据源

历史数据采用 Zstd 压缩,不按未压缩记录体积占用磁盘,比csv/mysql小3倍以上。首次同步从配置的数据源获取历史数据,后续只更新增量,不走逐股、逐页的远程 API 拉取流程。

默认数据集聚焦高频行情与复权,底层数据库支持任意自定义数据存储,低频率数据:财报、宏观、资金流等可按需要接入同一套本地查询与计算引擎。

核心能力

本地全市场数据运行时

  • 日线、周线、月线,以及 1/5/15/30 分钟 K 线,tick级数据(按需)
  • 价格、成交量、成交额、换手率、估值、市值、ST 等常用字段
  • 前复权、后复权、不复权和原始复权因子查询
  • 股票、ETF、行业和概念板块的组织与双向查询
  • 本地存储、无远程查询延迟,研究和回测不受远程 API 并发配额影响
  • 可配置局域网服务,多人协作、分布式回测。

批量查询与计算

result = rd.get_data(
    code=7000_codes,         # 7000+ 股票 / ETF
    start=any_start,              # 任意时间周期
    end=any_end,
    frequency=any_frequency,# 分钟 / 日 / 周 / 月
    fq=any_fq,                      # 前复权 / 后复权 / 不复权
    fields=any_fields,          # 任意单多字段筛选
    as_df=False/True          # 返回list、dict、 DataFrame
)
result = zb.get(
    name="ma,kdj,macd,....",      # 39指标 / 5种指数计算
    codes=7000_codes,        # 单股 / 批量 / 全市场
    start=any_start,        # 任意时间范围
    end=any_end,
    frequency=any_frequency, # 分钟 / 日 / 周 / 月
    fq=any_fq,               # 前复权 / 后复权 / 不复权
    n=["5,10,20", None, "12,26,9"],  # 每个指标独立参数
    cross="with_value"       # 原始指标 / 金叉信号 / 二者同时返回
)
result = bk.get(
    x=code_or_board_or_codes,   # 股票代码 / 板块名称或代码 / 批量股票
    category=0-3,                      # 概念板块 / 申万一级 / 申万二级 / 申万三级
    fields="code,name,symbols" # 任意单多字段筛选
)

get_data() 面向全市场、长周期和字段筛选;zb.get() 面向 39 种技术指标和 5 种指数计算;bk.get() 用于股票与行业/概念板块的双向映射。数据和计算始终在本机服务侧完成,避免研究代码反复把全市场数据搬运到远程 API 或临时 DataFrame 中。股票优化查询器rd.get/keys/vals()支持区间a>b,正则*,排序,截取[:num],遍历,类SQL查询。

批量写入私有存储[./mydb][08-05升级]

#适用于:个性数据,动态因子,实时缓存,私有策略,私有数据,私有数据源,其他小众数据,一次写入本地永久保存

批量写入:
pipeline=rd.pipe()
for i in range(10000000):
    pipeline.mset(table,key,key2,value)
await pipeline
单条写入:
await rd.set(table,value)
await rd.set(table,key,value)
await rd.set(table,key,key2,value)
#value_type:list/dict/int/float/str/bytes/df
字段修改:
await rd.set(table,key,key2,new_value)
await rd.get(table,key,key2).get("sub_key").set("sub_sub_key").val("new_value")
写入/修改立即可读,无延迟+WAL无丢失。
批量读取:
await rd.get(table,key,key2) ->list/dict/int/float/str/bytes/df
await rd.get(table_exp,key_exp,key_exp).get(sub_key).all()[-3:] ->list/dict/int/float/str/bytes/df
#exp:支持正则,范围,匹配,截取,遍历,子节点,列式读取
#get:可替换成 len,keys,delete,vals,set,setr,setl
详细参考示例:`rd_test.py`

批量挂载数据与单点读取[./dataN][08-05升级]

sync_url.txt现支持多点写入:

来源类型存储
site1 or path1minutes_datasave_to_data_path
site2 or path2days_datasave_to_data1_path
site3 or path3ticks_datasave_to_data2_path
your_site4_path4your_datasave_to_your_path
...

自动读取:

rd.get()->auto_read_all_data

内置 39 种技术指标:

类别指标
趋势类MA、EMA、SMA、WMA、DMA、EXPMA、TRIX、DMI、DFMA、BBI
震荡类MACD、KDJ、RSI、WR、CCI、PSY、BIAS、ROC、MTM、DPO
通道类BOLL、KTN、TAQ
量价类OBV、VR、EMV、MFI、CR、MASS
综合类ATR、ASI、BRAR、XSII、STD、SUM、HHV、LLV、REF

5 种指数计算方法(zhishu): 等权、流通市值加权、成交额加权、成交量加权、总市值加权

五种调用方式

调用方式适用场景
Python SDK回测、研究和策略开发(同步 get_data() / 异步 get_data_async())
HTTP API任意语言与本地系统集成(http://127.0.0.1:7899/?cmd=get&t=...)
Excel / WPS 宏表格分析、选股和办公自动化
HTML 页面无代码查看、筛选和浏览本地行情数据
AI MCPClaude、Cursor、Windsurf 等支持 MCP 协议的 AI 工具直接查询、计算和分析本地数据

MCP 协议为自实现,无需额外安装 MCP SDK。AI 工具通过 MCP 连接后可直接调用 get_data()、zb.get()、bk.get() 查询本地行情、计算指标和分析板块。

调用示例位于 调用方式/。

数据源可控与长期使用

数据源是输入,不是产品的唯一依赖。你可以:

  • 在 sync_url.txt 切换到自己的同步节点、内网服务器或网络共享目录。
  • 用 file:// 或本地目录离线同步已归档的数据快照。
  • 通过本地写入接口接入其他行情来源,补充或更新自有数据。
  • 保留本地数据快照,在任何没有外网、没有 Token 的环境中继续查询与回测。

因此,数据源服务的可用性变化不会让已同步的研究数据失效;更换输入源也不要求替换本地查询、计算和调用层。

数据质量与复权

本地数据保留不复权行情与复权因子,查询时可按需要返回前复权、后复权或不复权结果。可通过本地接口抽样检查复权因子、价格、成交量和公司行为日期;使用者也可以用自己认可的数据源生成或校验本地数据。

硬件与存储要求

项目最低配置推荐配置
磁盘空间约 5GB(仅日线)约 20GB(含全量分钟线)
内存2GB8GB+
操作系统Windows 7+Windows 10+

数据采用 Zstd 压缩存储,实际磁盘占用远小于同等 CSV/MySQL 方案。

本地网络与安全行为

  • 服务默认监听 127.0.0.1:7899,不会主动暴露到公网。
  • 同步器只访问 sync_url.txt 或 --source 指定的地址;配置为空时不会发起同步请求。
  • 同步文件在写入前校验清单中的 SHA-256 与大小;公共同步节点应使用 HTTPS。
  • 发布包应从 Releases 下载并核对对应版本提供的 SHA-256。

源码与构建

cpp/ 包含本地服务、同步器、客户端计算示例和 CMake 构建定义;sync_url.txt 和调用协议均公开。构建 C++ 组件需要 CMake 3.14+、C++17 编译器、libcurl 和 OpenSSL 开发包。Windows 用户可直接使用 Releases 中的预编译发行包,无需自行编译。

cmake -S cpp -B cpp/build
cmake --build cpp/build --config Release

🚀️ 更新与运行示例

更新运行图 数据库运行图

许可证与免责声明

本仓库适用 项目许可证。数据版权、使用授权和再分发条件由各数据源及其权利人决定;使用者应自行确认数据源条款。

本项目用于软件学习、数据管理与量化研究,不构成投资建议。任何数据完整性、及时性和交易决策风险均应由使用者独立评估。

[08-05]赞助商:[Powered by Atlas Cloud]

Free Stockdb alternatives

View more →

Similar mcp servers in Finance & Trading, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
Free Stockdb (this page)
hello245m
3.1kMITOct 12, 2026Scanned, no flagged issues
QuantDinger
OpenByteInc
13kApache-2.0Nov 1, 2026Scanned, no flagged issues
FinanceToolkit
JerBouma
5.5kMITNov 1, 2026Scanned, no flagged issues
Tradingview MCP
atilaahmettaner
5.2kMITOct 29, 2026Scanned, no flagged issues
Aktools
akfamily
1.5kMITNov 1, 2026Scanned, no flagged issues
Tradememory Protocol
mnemox-ai
1.4kMITOct 23, 2026Scanned, no flagged issues