使用说明

项目简介

本项目 'mcp-servers' 包含多个使用 FastMCP 框架实现的 MCP 服务器示例,旨在展示如何构建能够提供资源、工具和 Prompt 模板的 MCP 后端服务。这些示例覆盖了股票数据分析、天气信息获取、基础计算以及 LinkedIn 个人资料抓取等多种应用场景,可以作为开发自定义 MCP 服务器的参考。

主要功能点

  • 资源 (Resources)

    • 'stock-analysis/finance-server.py' 提供了 'config://app' 资源,返回静态配置数据。
    • 'simple-calculator/calculator.py' 提供了动态资源 'greeting://{name}',根据名称返回个性化问候语。
  • 工具 (Tools)

    • 'stock-analysis/finance-server.py' 提供了以下股票分析工具:
      • 'calculate_moving_averages': 计算股票的移动平均线。
      • 'calculate_rsi': 计算股票的相对强弱指数 (RSI)。
      • 'trade_recommendation': 基于移动平均线和 RSI 提供交易建议。
    • 'weather/weather.py' 提供了以下天气查询工具:
      • 'get_alerts': 获取美国特定州的天气警报。
      • 'get_forecast': 获取指定经纬度位置的天气预报。
    • 'simple-calculator/calculator.py' 提供了基础计算工具:
      • 'add', 'subtract', 'multiply', 'divide', 'power', 'sqrt', 'cbrt', 'factorial', 'log', 'remainder', 'sin', 'cos', 'tan': 进行加减乘除、幂运算、开方、阶乘、对数、求余以及三角函数计算。
    • 'linkedin-profile-scraper/scrape.py' 提供了 LinkedIn 个人资料抓取工具:
      • 'get_profile': 根据 LinkedIn 个人资料 URL 获取个人资料数据。
  • Prompt 模板 (Prompts)

    • 'stock-analysis/finance-server.py' 提供了以下 Prompt 模板,用于自动化股票分析:
      • 'analyze_ticker': 分析单个股票的交易机会。
      • 'compare_tickers': 比较多个股票以寻找最佳交易机会。
      • 'intraday_strategy_builder': 为特定股票构建自定义日内交易策略。

安装步骤

  1. 安装 Python 环境: 确保您的系统已安装 Python 3.7 或更高版本。
  2. 安装 FastMCP 库: 使用 pip 安装 'fastmcp' 库。
    pip install fastmcp
  3. 安装依赖库 (可选): 部分示例可能依赖其他 Python 库,例如:
    • 'stock-analysis/finance-server.py': 依赖 'requests', 'pandas', 'tabulate'。
    • 'weather/weather.py': 依赖 'httpx'。
    • 'linkedin-profile-scraper/scrape.py': 依赖 'httpx', 'dotenv'。 可以使用 'pip install -r requirements.txt' (如果项目提供 'requirements.txt' 文件)或者手动安装:
    pip install requests pandas tabulate httpx python-dotenv
  4. 配置 API 密钥 (如果需要):
    • 'stock-analysis/finance-server.py' 使用 Alpha Vantage API,需要在环境变量中设置 'ALPHAVANTAGE_API_KEY'。
    • 'linkedin-profile-scraper/scrape.py' 使用 RapidAPI 的 Fresh LinkedIn Profile Data API,需要在环境变量中设置 'RAPIDAPI_KEY'。 请访问相应的 API 平台获取 API 密钥,并将其设置为环境变量。

服务器配置

以下是一些示例 MCP 服务器的客户端配置信息,客户端需要根据这些信息连接到 MCP 服务器。

1. 股票分析服务器 (finance-server.py)

{
  "serverName": "AlphaVantageTrader",
  "command": "python",
  "args": ["finance-server.py"],
  "cwd": "stock-analysis"
}

注释:

  • 'serverName': 服务器名称,客户端用以识别。
  • 'command': 启动服务器的命令,这里使用 'python' 解释器。
  • 'args': 传递给命令的参数,这里指定运行 'finance-server.py' 文件。
  • 'cwd': 可选参数,指定工作目录为 'stock-analysis',确保程序能找到所需的文件和依赖。

2. 天气查询服务器 (weather.py)

{
  "serverName": "weather",
  "command": "python",
  "args": ["weather.py"],
  "cwd": "weather"
}

注释: 配置与股票分析服务器类似,但 'serverName' 和 'cwd' 更改为天气服务相关。

3. 简单计算器服务器 (calculator.py)

{
  "serverName": "Hello World",
  "command": "python",
  "args": ["calculator.py"],
  "cwd": "simple-calculator"
}

注释: 配置与前述示例类似,'serverName' 和 'cwd' 对应计算器服务。

4. LinkedIn 资料抓取服务器 (scrape.py)

{
  "serverName": "linkedin-profile-scraper",
  "command": "python",
  "args": ["scrape.py"],
  "cwd": "linkedin-profile-scraper"
}

注释: 配置与前述示例类似,'serverName' 和 'cwd' 对应 LinkedIn 资料抓取服务。

请注意:

  • 以上配置假设 MCP 客户端和 MCP 服务器在同一文件系统上,并且可以通过相对路径找到服务器脚本。
  • 实际部署时,您可能需要根据 MCP 客户端的具体配置方式进行调整,例如指定绝对路径或使用网络传输协议。
  • 运行服务器前,请确保已安装所有依赖,并正确配置了 API 密钥等环境变量。

基本使用方法

  1. 启动服务器: 使用终端进入相应的示例目录(例如 'stock-analysis'),然后根据上述配置信息,通过 MCP 客户端启动对应的服务器。服务器将通过标准输入/输出 (stdio) 或其他配置的传输协议与客户端通信。
  2. 客户端请求: MCP 客户端可以使用 JSON-RPC 协议向服务器发送请求,调用已注册的资源、工具或 Prompt 模板。
    • 调用资源: 客户端可以请求获取资源,例如 'config://app' 或 'greeting://John'。
    • 调用工具: 客户端可以调用工具并传递参数,例如调用 'calculate_moving_averages' 工具并提供股票代码。
    • 调用 Prompt 模板: 客户端可以调用 Prompt 模板,例如 'analyze_ticker' 并提供股票代码,以获取分析结果。
  3. 服务器响应: MCP 服务器接收到客户端请求后,会执行相应的操作,并将结果以 JSON-RPC 响应的形式返回给客户端。

具体的使用方式和请求格式取决于 MCP 客户端的实现和 MCP 协议规范。您可以参考 FastMCP 客户端文档或 MCP 协议规范了解更多细节。

信息

分类

网页与API