使用说明

项目简介

本项目 'AI-powered-Development' 是一系列使用自主编码智能体工作流开发的项目集合。其中包含了多个基于 Model Context Protocol (MCP) 构建的服务器示例,每个示例都展示了 MCP 服务器在不同领域的应用。这些服务器旨在为大型语言模型 (LLM) 客户端提供标准化、安全和可扩展的上下文服务。

主要功能点

  • 资源 (Resources) 管理: 'stockanalyst_mcp_server' 示例展示了如何通过 MCP 服务器提供和管理静态资源。
  • 工具 (Tools) 注册与执行: 所有 MCP 服务器示例都实现了多个工具,例如:
    • 'forex_mcp_server': 提供货币兑换和货币代码查询工具。
    • 'lightRAG_MCP_Server': 集成 LightRAG 库,提供多种搜索模式(naive, local, global, hybrid)的检索工具。
    • 'stockanalyst_mcp_server': 提供股票技术分析工具,如移动平均线 (MA) 和相对强弱指数 (RSI) 计算,以及交易建议生成工具。
    • 'tariff-news-server': 提供基于 DuckDuckGo 搜索引擎的关税新闻检索工具。
  • Prompt 模板 (Prompts) 定义与渲染: 'stockanalyst_mcp_server' 示例定义了多个 Prompt 模板,用于指导 LLM 进行股票分析和策略构建,例如股票分析、股票对比和日内交易策略构建 Prompt。
  • 多种传输协议支持: 服务器示例支持 Stdio 和 SSE 传输协议,可以通过命令行参数 '--transport' 指定。

安装步骤

  1. 克隆仓库: 首先将 GitHub 仓库 'https://github.com/minyang-chen/AI-powered-Development' 克隆到本地。
  2. 进入子项目目录: 根据需要运行的 MCP 服务器示例,进入相应的子项目目录,例如 'cd forex_mcp_server' 或 'cd lightRAG_MCP_Server'。
  3. 创建 '.env' 文件: 部分服务器示例(如 'forex_mcp_server', 'stockanalyst_mcp_server')依赖 API 密钥等环境变量。需要在子项目根目录下创建 '.env' 文件,并配置相应的环境变量。例如,'stockanalyst_mcp_server' 需要配置 'ALPHAVANTAGE_API_KEY'。'forex_mcp_server' 需要配置 'ALPHA_VANTAGE_API_KEY'。 lightRAG_MCP_Server 需要配置 Ollama 或其他 LLM 服务的相关环境变量,具体参考 'lightRAG_MCP_Server/lightrag_mcp_server.py' 中的配置说明。
  4. 安装依赖: 虽然仓库中没有明确的 'requirements.txt' 文件,但根据代码中的 import 语句,需要安装以下 Python 库 (示例,具体依赖可能因服务器而异):
    pip install mcp-server-sdk httpx pandas python-dotenv click uvicorn starlette lightrag duckduckgo-search
    请根据具体的服务器示例和报错信息安装缺少的依赖库。

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令及其参数才能建立连接。以下是一些示例配置信息 (JSON 格式),请根据实际运行的服务器和需求进行调整:

1. Forex MCP Server (stdio 传输)

{
  "serverName": "forex-mcp-server",
  "command": "python",
  "args": ["forex_mcp_server/src/forex_mcp_server/server.py"]
}

2. LightRAG MCP Server (stdio 传输)

{
  "serverName": "lightrag-mcp-server",
  "command": "python",
  "args": ["lightRAG_MCP_Server/lightrag_mcp_server.py"]
}

3. Stock Analyst MCP Server (stdio 传输)

{
  "serverName": "stock-analyst-mcp-server",
  "command": "python",
  "args": ["stockanalyst_mcp_server/stockanalyst_mcp_tool/stockserver.py"]
}

4. Tariff News MCP Server (stdio 传输)

{
  "serverName": "tariff-news-server",
  "command": "python",
  "args": ["tariff-news-server/src/tariff_news_server/server.py"]
}

5. Stock Analyst MCP Server (SSE 传输,端口 8008)

{
  "serverName": "stock-analyst-mcp-server-sse",
  "command": "python",
  "args": ["stockanalyst_mcp_server/stockanalyst_mcp_tool/stockserver.py", "--transport", "sse", "--port", "8008"]
}

注意:

  • 'command' 和 'args' 需要根据 Python 解释器路径和服务器脚本路径进行调整。
  • 如果使用 SSE 传输,需要指定 '--transport sse' 参数,并可以使用 '--port' 参数指定端口号。
  • 环境变量 (如 API 密钥) 需要在运行服务器之前配置好,或者在启动命令中通过其他方式传递。

基本使用方法

  1. 启动 MCP 服务器: 在终端中,进入相应的子项目目录,并根据配置信息启动 MCP 服务器。例如,对于 Forex MCP Server (stdio 传输),可以运行命令 'python forex_mcp_server/src/forex_mcp_server/server.py'。
  2. 配置 MCP 客户端: 在 MCP 客户端中,根据上述提供的服务器配置信息,配置要连接的 MCP 服务器。
  3. 与 MCP 服务器交互: 使用 MCP 客户端连接到服务器后,可以:
    • 列出可用工具: 调用 'list_tools' 方法查看服务器提供的工具列表。
    • 调用工具: 使用 'call_tool' 方法调用具体的工具,并传递工具所需的参数。例如,调用 'forex_mcp_server' 的 'from_currency_to_target_currency' 工具进行货币兑换。
    • 列出可用 Prompt 模板: 调用 'list_prompts' 方法查看服务器提供的 Prompt 模板列表 ('stockanalyst_mcp_server' 示例)。
    • 获取 Prompt 模板: 使用 'get_prompt' 方法获取指定的 Prompt 模板内容,并可以传递参数以定制 Prompt 内容 ('stockanalyst_mcp_server' 示例)。
    • 读取资源: 使用 'read_resource' 方法读取服务器提供的静态资源 ('stockanalyst_mcp_server' 示例)。

请参考 'mcp-client-sdk' 的文档和示例,了解如何编写 MCP 客户端代码并与 MCP 服务器进行交互。

信息

分类

开发者工具