使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 实现的工具服务器,旨在为 LLM 应用提供便捷的生活信息查询能力。它对接了聚合数据API,目前提供了天气查询、今日头条新闻以及全国油价查询等工具。开发者可以基于此项目快速构建能够获取外部信息的 MCP 服务器,并将其集成到支持 MCP 协议的 LLM 客户端中。

主要功能点

  • 天气查询工具 (getWeather): 根据城市名称查询当地的实时天气和未来天气预报。
  • 头条新闻查询工具 (getToutiaoNews): 获取今日头条的各类新闻,包括推荐、国内、国际、娱乐、体育等多种类型的新闻列表,返回新闻的标题、链接和唯一标识等信息。
  • 头条新闻内容查询工具 (getToutiaoContent): 根据新闻的唯一标识 (uniquekey) 获取新闻的详细内容。
  • 全国油价查询工具 (getOilPrice): 查询全国主要城市的92号汽油、95号汽油、98号汽油以及0号柴油的最新价格。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/coolcao/juhe-mcp-servers.git
    cd juhe-mcp-servers
  2. 安装依赖: 确保已安装 Node.js 和 npm (或 yarn)。在项目根目录下运行:
    npm install
  3. 构建项目:
    npm run build

服务器配置

MCP客户端需要配置以下信息以连接到此MCP服务器。请将以下JSON配置信息提供给MCP客户端,并根据实际情况替换API_KEY的值

{
  "serverName": "juhe-mcp-servers",
  "command": "node",
  "args": ["dist/index.js"],
  "options": {
    "env": {
      // 请注意: 示例仓库代码直接将API_KEY硬编码在 service.ts 文件中,
      // 实际部署时,建议通过环境变量或更安全的方式管理API_KEY。
      // 例如,您可以修改代码从环境变量中读取 API_KEY。
      // "JUHE_API_KEY_WEATHER": "YOUR_WEATHER_API_KEY",
      // "JUHE_API_KEY_TOUTIAO": "YOUR_TOUTIAO_API_KEY",
      // "JUHE_API_KEY_OIL": "YOUR_OIL_API_KEY"
    }
  }
}

配置参数说明:

  • 'serverName': 服务器名称,这里设置为 "juhe-mcp-servers"。
  • 'command': 启动服务器的命令,这里使用 'node' 运行 Node.js 程序。
  • 'args': 命令参数,指定服务器入口文件路径,这里指向编译后的 'dist/index.js'。
  • 'options.env': (可选) 环境变量配置。重要提示: 示例代码直接在 'src/tools' 目录下的各个 'service.ts' 文件中定义了 'API_KEY = '';' 您需要前往 聚合数据官网 申请相应的API Key,并替换这些 'API_KEY = '';' 为空字符串的具体 API Key 值。 更安全的做法是将API Key配置为环境变量,并在代码中读取环境变量,例如上面的 'options.env' 示例,但需要修改 'src/tools' 下的 'service.ts' 代码以读取环境变量。

基本使用方法

  1. 确保已完成安装步骤和服务器配置。
  2. 启动 MCP 服务器:在项目根目录下运行 'npm run start'。服务器将在 stdio 上运行并等待 MCP 客户端连接。
  3. 在支持 MCP 协议的 LLM 客户端中,配置上述服务器配置信息,客户端将自动连接到此 MCP 服务器。
  4. LLM 客户端可以通过标准 MCP 协议调用服务器提供的工具,例如:
    • 调用 'getWeather' 工具并传入城市名称参数,即可获取该城市的天气信息。
    • 调用 'getToutiaoNews' 工具并选择新闻类型,即可获取对应类型的新闻列表。
    • 调用 'getToutiaoContent' 工具并传入新闻 'uniquekey',即可获取新闻详细内容。
    • 调用 'getOilPrice' 工具,即可获取全国油价信息。

请注意: 由于示例代码直接使用了聚合数据的API,您需要在聚合数据平台申请相应的API Key并替换代码中的占位符,才能正常使用这些工具。

信息

分类

网页与API