
AKTools
io.github.akfamily由 GitHub 账号 akfamily 发布v0.1.4更新于 Nov 3, 2026
从AI助手中搜索并获取AKShare金融数据(股票、期货、基金、宏观)
AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。
原文描述
Search and fetch AKShare financial data (stocks, futures, funds, macro) from AI assistants
概览
AKTools 的本地 MCP 服务;无需登录;STDIO。
暂无 AI 概览:以下信息来自注册中心条目和服务本身。
安装
在 SourceWeft 中
- 打开 控制台中的 AKTools,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
AKTools
AKTools exposes AKShare's financial data as an HTTP API and an MCP server, so you can fetch it from any programming language or AI assistant.
[PyPI] [PyPI - Python Version] [PyPI Downloads] [Documentation Status] [Actions Status] [Ruff] [Data Science - AKShare] [MIT Licence] [GitHub stars] [GitHub forks] [GitHub issues]
AKTools 把开源财经数据接口库 AKShare 的一千多个接口变成两种开箱即用的服务:
- HTTP API:一行命令启动服务,C/C++、Java、Go、Rust、JavaScript、R、MATLAB、Stata、Excel 等任何编程语言或软件都能通过网址获取数据。
- MCP 服务:在 Claude、Cursor 等 AI 助手中直接用自然语言提问,助手会自己查找接口、填写参数并取回数据。
两种方式背后是同一套接口目录、缓存和错误处理,按需选用即可。
AKTools 中文文档 | AKShare 数据字典 | 版本说明
第一次使用? HTTP API 请从 快速入门教程 开始,约 10 分钟即可完成从安装到下载 Excel 的完整流程;AI 助手请直接看下面的 在 AI 助手中使用。
目录
两种使用方式
通过 HTTP API 获取数据
然后在浏览器打开 http://127.0.0.1:8080/api/public/tool_trade_date_hist_sina,看到交易日历数据即表示成功。更多用法见下文的快速开始与调用规则。
在 AI 助手中使用
先安装 uv,再把下面的配置加入 AI 助手的 MCP 配置文件,不需要事先安装 AKTools,也不需要手动启动服务:
重启助手后,就可以直接提问,例如:
- “帮我查一下贵州茅台 2024 年 10 月 8 日到 11 日的前复权日线行情”
- “AKShare 里有哪些和可转债相关的接口?”
- “stock_zh_a_hist 这个接口有哪些参数,复权方式怎么填?”
助手会通过 AKTools 提供的 3 个工具完成查询:search_interfaces 搜索接口、describe_interface 查看参数、get_data 获取数据。下面是在 Claude Code 中实际提问的过程(根据真实会话记录回放):
[在 Claude Code 中提问,AI 助手通过 AKTools 的 MCP 工具查询贵州茅台的日线行情]
Claude Desktop
打开设置中的“开发者 → 编辑配置”,把上面的配置加入 claude_desktop_config.json,保存后重启 Claude Desktop。
Claude Code
Cursor
点击按钮一键添加:
[Add AKTools MCP server to Cursor]
也可以手动把上面的配置加入项目的 .cursor/mcp.json,或全局的 ~/.cursor/mcp.json。
连接已经运行的 AKTools 服务(HTTP 方式)
已经用 python -m aktools 启动了服务,或者想让多台电脑共用一个服务时,可以让助手直接连接 http://127.0.0.1:8080/mcp,例如:
第一次启动时 uvx 需要下载 AKShare 等依赖(约 150 MB),可能需要几分钟。配置、局域网访问与排障详见 AI 助手(MCP)文档。
特性
- 两种方式:同一份数据既可以通过 HTTP API 获取,也可以在 Claude、Cursor 等 AI 助手中用自然语言获取
- 零配置:
python -m aktools一行命令启动服务,无需编写任何代码 - 接口全覆盖:AKShare 的每个数据接口都可以通过
/api/public/<接口名>直接访问,AKShare 新增接口后升级即可使用 - 跨语言:返回标准 JSON,任何能发送 HTTP 请求的语言或软件都可以调用
- 接口自查:
/api/interfaces列出全部接口并支持按关键词搜索,每个接口的参数、默认值和说明都能直接查询 - 表格下载:加上
_format=csv或_format=xlsx即可把数据下载为 CSV 或 Excel 文件 - 结果缓存:同一接口、同样参数在 60 秒内直接返回上次的数据,减少对上游网站的重复请求,降低被封 IP 的风险
- 自带文档:基于 FastAPI,启动后访问
/docs即可在线查看和调试接口 - 便于部署:提供 Dockerfile,支持 Gunicorn + Uvicorn 多进程部署
安装
AKTools 要求 Python 3.11 及以上(64 位),运行环境要求与 AKShare 安装指导 一致。
AKShare 的数据接口会随上游网站的变化频繁更新,遇到问题时请先把两者都升级到最新版:
快速开始
-
启动服务:
-
浏览器打开以下地址:
启动参数:
例如:python -m aktools --port 8888 --auto 会在 8888 端口启动并自动打开浏览器。需要让局域网内的其他机器访问时,加上 --host 0.0.0.0,其他机器通过 http://<本机 IP>:8888 访问;0.0.0.0 只表示监听所有网卡,不能当作访问地址在浏览器中打开。
调用规则
AKTools 本身不加工数据,只负责把 HTTP 请求翻译成对 AKShare 接口的调用:
- 接口名与 AKShare 的函数名完全一致。可以通过
/api/interfaces?q=关键词搜索接口,通过/api/interfaces/{接口名}查看参数说明,详细的数据说明请查阅 AKShare 数据字典。 - 参数以查询字符串传递,值不需要加引号,例如
?symbol=600000&period=weekly;不传的参数使用 AKShare 接口的默认值。 - 返回值默认是由 DataFrame 按行转换得到的 JSON 数组,日期时间字段为 ISO 8601 格式,例如
"2024-01-25T00:00:00.000"。 - 下载表格:加上保留参数
_format=csv或_format=xlsx,数据会以{接口名}.csv或{接口名}.xlsx文件下载,例如/api/public/stock_zh_a_hist?symbol=000001&_format=xlsx。CSV 为带 BOM 的 UTF-8 编码,可以直接用 Excel 打开。
请求失败时返回 {"error": "错误信息"},状态码含义如下:
多语言调用示例
以下示例均假设服务运行在 http://127.0.0.1:8080,请按实际地址和端口修改。
curl
Python
R
MATLAB
Rust
依赖:reqwest(启用 blocking 与 json 特性)和 serde_json。
更多示例及运行结果,请见 多语言调用。
部署
Docker
使用仓库中的 Dockerfile 构建镜像,镜像默认以 Gunicorn + Uvicorn worker 运行,worker 数量可用 -e WEB_CONCURRENCY=4 调整:
国内网络通常无法访问 Docker Hub 与官方 PyPI,可以分别指定镜像:
镜像升级等更多说明,请见 部署文档。
生产环境
python -m aktools 适合本地使用。生产环境建议直接用 Gunicorn 启动 aktools.main:app:
多人或多台电脑共用服务时,可以用
--token设置访问令牌,详见 访问令牌。AKTools 不提供用户登录,需要按人管理权限时,请在前面加一层带认证的反向代理。
常见问题
返回 502,提示“访问上游数据源失败”
运行 AKTools 的机器无法访问东方财富、新浪财经等上游网站,通常是代理配置导致的。报错中如果出现 ProxyError 或 Unable to connect to proxy,请检查或清除代理相关的环境变量后重启服务:
部分接口要求在境内网络环境下访问,详见 AKShare 文档中对应接口的说明。
返回 404,提示“未找到该接口”或“调用接口出错”
先升级 AKShare 到最新版,然后用 /api/interfaces?q=关键词 搜索正确的接口名,用 /api/interfaces/{接口名} 检查参数名和可选值。也可以在 Python 中直接调用同名的 AKShare 接口,确认问题是否出在 AKShare。
数据没有及时更新
同一接口、同样参数的请求在 60 秒内会返回缓存的数据,响应头 X-AKTools-Cache: hit 表示数据来自缓存,启动时加上 --cache-ttl 0 可关闭缓存。板块名称等数据由 AKShare 内部缓存,默认每小时清空一次,可用 --akshare-cache-clear 调整。
数据有误或接口报错,应该去哪里反馈?
AKTools 只负责转发请求,数据内容由 AKShare 提供。如果在 Python 中直接调用 AKShare 也有同样的问题,请到 AKShare Issues 反馈;只有 AKTools 自身的问题(启动、路由、序列化等)才需要到 AKTools Issues 反馈。
参与贡献
欢迎提交 Issue 和 Pull Request!开发环境的搭建、代码检查与提交规范请见 贡献指南。参与本项目即表示您同意遵守 贡献者行为准则。
免责声明
AKTools 与 AKShare 提供的数据仅供学术研究使用,不构成任何投资建议。数据均来自公开的网络数据源,请在使用前自行核实,并遵守相关数据源的使用条款。因使用本项目造成的任何直接或间接损失,项目作者及贡献者不承担任何责任。
许可证
本项目基于 MIT 许可证 开源。
来源:README.md,提交 8701c63
工具
0版本历史
3- v0.1.4最新Nov 3, 2026
- v0.1.3Oct 30, 2026
- v0.1.0Oct 29, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分