项目简介
这个仓库展示了如何使用FastMCP库快速搭建一个符合Model Context Protocol (MCP) 的本地服务器,并将其与LangChain等大型语言模型(LLM)客户端集成。服务器使用了'yfinance'库来提供访问股票数据的工具,而客户端(一个LangChain代理)可以调用这些工具来获取并利用股票信息回答用户的自然语言查询。
主要功能点
- 提供股票综合信息查询工具。
- 提供股票季度财务数据查询工具。
- 提供股票年度财务数据查询工具。
- 使用FastMCP库极大地简化了MCP服务器的创建和工具注册过程。
- 通过标准输入/输出(Stdio)协议实现本地客户端与服务器的高效通信。
- 作为MCP服务器,可供任何兼容MCP协议的LLM客户端(如本例中的LangChain)调用其注册的工具。
安装步骤
- 克隆仓库:
git clone https://github.com/botextractai/ai-mcp-server-client-fastmcp.git - 进入项目目录:
cd ai-mcp-server-client-fastmcp - 安装依赖:
确保你安装了Python环境,然后安装项目所需的依赖库。
(注意:如果你遇到依赖问题,可能需要查找并安装特定的版本)pip install fastmcp langchain-mcp-adapters langchain-openai langgraph python-dotenv yfinance pandas - 配置OpenAI API Key:
本项目客户端示例使用了OpenAI的LLM。你需要提供一个OpenAI API Key。
- 复制 '.env.example' 文件并重命名为 '.env'。
- 编辑 '.env' 文件,将你的OpenAI API Key粘贴到 'OPENAI_API_KEY=' 后面。
服务器配置(供客户端连接参考)
MCP服务器是为MCP客户端提供服务的后端。客户端需要知道如何启动或连接到这个服务器。对于这个本地Stdio示例,客户端在启动时会通过以下参数来运行服务器脚本:
{ "server_name": "stocks", // MCP服务器在协议中声明的名称 "command": "python", // 用于启动服务器进程的命令 "args": ["mcp_server.py"] // 传递给启动命令的参数列表,指向服务器脚本文件 // 注意:这是一个本地Stdio连接的配置示例,服务器进程由客户端启动。 // 对于远程MCP服务器,客户端通常需要配置服务器的网络地址 (host, port) 或连接URL。 }
基本使用方法
配置好API Key并安装完依赖后,在项目根目录下运行客户端脚本即可:
python mcp_client.py
客户端脚本 ('mcp_client.py') 会自动执行以下操作:
- 根据配置('server_params'),使用'python mcp_server.py'命令启动本地MCP服务器进程。
- 通过Stdio与启动的服务器建立MCP连接。
- 初始化MCP会话并从服务器加载可用的工具信息。
- 创建一个LangChain ReAct代理,并将加载的工具提供给它。
- 向代理发送一个关于股票(META)的问题。
- 代理根据问题规划并调用MCP服务器提供的股票查询工具。
- MCP服务器执行工具并将结果返回给客户端。
- 代理利用工具返回的信息生成回答。
- 客户端脚本打印出工具的调用结果和最终的回答。
示例输出中会显示代理调用工具返回的原始数据(股票信息、财务数据等)。
信息
分类
AI与计算