项目简介
FinData 是一个开源的 Model Context Protocol (MCP) 服务器,专门为大型语言模型(LLM)应用提供专业的金融数据访问能力。它支持对接多种数据供应商(如 Tushare),允许 LLM 通过标准化的 MCP 协议调用工具,获取股票行情、公司财务等各类金融数据。
主要功能点
- 金融数据访问: 提供多种类型的金融数据查询工具,包括股票市场行情、上市公司基本信息、财务报表以及宏观经济指标等。
- 多数据源支持: 设计上支持对接不同的金融数据提供商,目前已实现对 Tushare 的支持。
- 工具注册与调用: 将金融数据查询功能封装为 MCP 工具,使 LLM 能够通过 JSON-RPC 协议发现并调用这些工具。
- 标准化输出: 将获取到的金融数据以结构化的格式(如表格数据)返回给 LLM 客户端。
安装步骤
- 安装 Python: 确保您的系统安装了 Python 3.11 或更高版本。
- 安装依赖: 推荐使用 'uv' 工具安装项目依赖:
如果您使用其他数据供应商,可能需要安装额外的依赖包。pip install uv uv pip install ".[tushare]" # 安装核心依赖及 Tushare 支持 - 配置数据源: 需要设置环境变量 'PROVIDER' 指定使用的数据供应商(例如 'tushare'),并设置 'DATA_API_TOKEN' 为您从数据供应商处获取的 API 密钥。具体的配置方法取决于您使用的 MCP 客户端或运行环境。
服务器配置
FinData MCP 服务器需要被 MCP 客户端启动和管理。您需要在 MCP 客户端的配置文件中添加 FinData 服务器的启动信息。典型的配置结构如下(这是一个示例,具体配置方式请参考您的 MCP 客户端文档):
- 服务器名称: 例如 'finData'
- 启动命令 (command): 用于启动服务器的可执行文件或脚本路径。例如,如果您使用 'uv' 且位于项目根目录,启动命令可能是 'uv'。
- 启动参数 (args): 传递给启动命令的参数。例如,指定执行 'server.py' 文件及其所在的目录。路径需要使用绝对路径。
- 环境变量 (env): 配置服务器运行时需要的环境变量,例如:
- 'DATA_API_TOKEN': 数据供应商的 API 访问令牌。
- 'PROVIDER': 指定使用的数据供应商,例如设置为 'tushare'。
请根据您项目的实际存放路径和使用的 MCP 客户端,生成相应的配置信息。
基本使用方法
配置完成后,启动您的 MCP 客户端。客户端会自动根据配置启动 FinData MCP 服务器,并与其建立连接。
一旦连接建立,LLM 就可以通过客户端发现 FinData 服务器提供的工具。LLM 可以根据工具的名称、描述和参数信息,生成 JSON-RPC 请求来调用特定的金融数据查询功能。
例如,LLM 可以调用名为 'daily' 的工具来获取股票日线行情,并在请求中提供 'ts_code'、'start_date'、'end_date' 等参数。服务器接收到请求后,会调用对应的 Tushare API 获取数据,并将结果返回给客户端和 LLM。
信息
分类
数据库与文件