项目简介
FinBuddy MCP 金融数据服务器是一个后端服务,它实现了 Model Context Protocol (MCP),旨在为大型语言模型(LLM)客户端提供结构化的金融数据访问能力和交互功能。通过集成外部数据源(如股票数据解析器和加密货币交易所API),它将复杂的金融信息和操作封装成标准的MCP资源和工具,使LLM能够理解和利用这些数据进行分析或执行相关操作。
主要功能点
- 获取股票投资组合候选清单: 提供一个资源接口,LLM可以查询预设的股票投资组合候选清单及其分类。
- 检索所有股票基本信息: 提供一个资源接口,LLM可以获取清单中所有股票的详细基本面和技术指标数据。
- 查询指定股票基本信息: 提供一个工具接口,LLM可以根据股票代码查询特定股票的详细信息。
- 管理股票投资组合: 提供工具接口,允许LLM向清单中添加或移除股票代码。
- 查询加密货币账户资产: 提供一个资源接口,LLM可以获取指定加密货币交易账户的资产持有情况(可用和锁定数量)。
安装步骤
- 安装 Node.js: 虽然服务器代码是Python,但运行MCP服务器可能依赖于Node.js环境或相关的CLI工具。请先安装Node.js。
- 安装 Python 依赖: 使用pip安装项目所需的Python库。
pip install -r ./requirements.txt - 初始化并更新子模块: 项目依赖于一个Git子模块来处理股票数据解析。
git submodule update --init --recursive - 更新股票数据解析器 (可选): 如果需要更新股票数据解析子模块到最新版本。
git submodule update --remote PortfolioLab_Parser
服务器配置 (供MCP客户端使用)
MCP服务器是为MCP客户端(如LLM或其代理)设计的后端服务。MCP客户端需要知道如何启动并连接到这个服务器。以下是MCP客户端配置此服务器时所需的关键信息:
- 服务器名称 (Server Name): FinBuddy
- 启动命令 (Command): 'mcp'
- 命令参数 (Args): '["dev", "server.py"]'
配置示例 (供MCP客户端参考,非用户直接运行的代码):
MCP客户端在其配置中会包含类似以下的条目,用于启动并连接到此服务器:
{ "name": "FinBuddy", "command": "mcp", "args": ["dev", "server.py"] // 其他可能的配置,如 transport, cwd 等 }
用户作为开发者启动服务器:
用户可以直接在项目目录下运行以下命令来启动服务器进行测试或开发:
mcp dev server.py
基本使用方法
服务器启动后,等待MCP客户端连接。LLM客户端通过MCP协议与服务器通信,例如:
- LLM可以通过调用 'stock://portfolio_list' 资源来获取当前的股票清单,了解有哪些股票及其分类。
- LLM可以调用 'get_stock_info' 工具,并提供一个从 'stock://portfolio_list' 获取到的股票代码作为参数,以获取该股票的详细信息。
- LLM可以调用 'add_stock' 或 'remove_stock' 工具来修改股票清单。
- LLM可以调用 'crypto://account_assets' 资源来查询加密货币账户的资产情况。
信息
分类
商业系统