Stealth Agent MCP 服务器集合
使用说明
-
项目简介
- 该仓库实现了基于 MCP 的服务器端组件,核心是通过 FastMCP 框架定义 MCP 服务,并使用装饰器 @mcp.tool() 将函数暴露为可远程调用的工具方法。
- 服务器之间独立运行,彼此解耦,便于在 LLM 场景中按需注册数据源、工具和数据接口,支持多种传输通道(如 STDIO)。
-
主要功能点
- 以 MCP 协议提供资源、工具和数据查询能力,核心在 mcp_servers 目录下的多个 MCP 服务实现。
- 每个 MCP 服务器对外暴露一组工具函数,例如获取股票历史、分红与拆分、公司信息、新闻等数据,面向 LLM 客户端的上下文能力注入。
- 服务器以 FastMCP 框架实现,使用 mcp.tool 装饰器注册工具,便于客户端发现和调用。
- 支持通过 STDIO 作为传输通道运行,便于在容器化、沙盒或本地开发环境中嵌入到其他进程。
- 结构清晰,易扩展:新增 MCP 服务只需新增一个类似的脚本、并实现相应的工具函数即可。
-
安装步骤
- 安装前提:需要 Python3 环境。
- 安装 MCP 服务器运行所需依赖(如 mcp、yfinance、pandas 等,视具体服务器而定)。
- 下载或克隆仓库后,进入对应 MCP 服务器脚本所在目录,直接运行脚本启动服务器,例如:
- 运行 Yahoo Finance MCP 服务器: python mcp_servers/yfinance_mcp_server.py
- 运行 Tickertick MCP 服务器: python mcp_servers/tickertick_mcp_server.py
- 服务器启动后将以 STDIO 传输对外暴露,MCP 客户端可以通过配置连接到该服务器。
-
服务器配置(MCP 客户端配置示例,JSON 形式) 说明:以下 JSON 配置用于 MCP 客户端连接与注册服务器的启动信息。实际客户端无需使用该配置来运行服务器,仅用于了解服务器启动的参数化信息。
{ "servers": [ { "server_name": "YahooFinanceMCP", "command": "python", "args": ["mcp_servers/yfinance_mcp_server.py"], "description": "Yahoo Finance MCP 服务,提供股票历史、股息、公司信息等工具函数。" }, { "server_name": "TickertickMCP", "command": "python", "args": ["mcp_servers/tickertick_mcp_server.py"], "description": "Tickertick MCP 服务,提供综合新闻、行情与公司信息等数据工具。" }, { "server_name": "FundamentalsMCP", "command": "python", "args": ["mcp_servers/fundamentals_mcp_server.py"], "description": "Fundamentals MCP 服务,提供金融报表、估值、新闻等工具。" }, { "server_name": "PriceDataMCP", "command": "python", "args": ["mcp_servers/price_data_mcp_server.py"], "description": "Price Data MCP 服务,提供股票及其他资产的 OHLCV 数据。" } ] }
-
基本使用方法
- 启动与对接
- 在服务端分别启动上述 MCP 服务器脚本(如 python mcp_servers/yfinance_mcp_server.py)。
- MCP 客户端在实现时需要将上面的 server_name、command、args 作为连接源进行注册,客户端会通过 JSON-RPC 方式对 MCP 服务器发起请求来读取资源、调用工具等。
- 调用与扩展
- 客户端通过 MCP 协议向服务器发送请求,服务器将返回对应的 JSON-RPC 响应或事件通知。
- 如需扩展新的数据源或工具,可以在对应的 MCP 服务器中新增一个 @mcp.tool()-装饰的方法,客户端即可通过 RPC 调用该工具。
- 运行环境与部署
- 可以在本地开发环境直接以 STDIO 传输启动和测试,也可以在容器化环境中通过 STDIO 传输接入到更复杂的工作流中。
- 若将 MCP 服务器集成到 LangGraph/LLM 工作流中,确保客户端配置中包含服务器名称、启动命令和参数等信息,以便运行时正确连接。
- 启动与对接