项目简介

本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)应用提供实用的外部信息访问能力。它通过聚合API接口,实现了天气查询和今日头条新闻获取等功能,使得LLM可以通过标准化的MCP协议调用这些工具,从而扩展其知识范围和应用场景。

主要功能点

  • 天气查询工具 (getWeather): 允许LLM获取指定城市的天气信息,包括实时天气和未来天气预报。
  • 今日头条新闻获取工具 (getToutiaoNews): 允许LLM获取今日头条的各类新闻列表,支持多种新闻类型,例如头条、国内、国际、娱乐、体育等。返回新闻的标题、来源、链接等摘要信息。
  • 今日头条新闻内容获取工具 (getToutiaoContent): 允许LLM根据新闻的唯一标识 (uniquekey) 获取新闻的详细内容,包括新闻标题、日期、来源、正文等。

这些工具都以标准化的方式注册到MCP服务器中,LLM客户端可以通过MCP协议发现和调用这些工具,从而获取所需的信息。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/coolcao/juhe-mcp-servers.git
    cd juhe-mcp-servers
  2. 安装依赖: 确保已安装 Node.js 和 npm,然后运行以下命令安装项目依赖:

    npm install
  3. 构建项目: 运行以下命令构建项目,生成可执行的 JavaScript 文件:

    npm run build
  4. 配置聚合API Key: 请注意,该项目使用了聚合API,部分工具(如天气查询、新闻获取)需要API Key才能正常工作。您需要在 聚合数据 注册账号并申请相应的API Key。

    打开 'src/tools/weather/weather.service.ts' 和 'src/tools/toutiao/toutiao.service.ts' 文件,将 'API_KEY = '';' 替换为您申请的聚合API Key。 请务必为每个工具的 service 文件都填入有效的 API Key。

服务器配置

MCP客户端需要配置以下信息才能连接到此MCP服务器。以下为 'json' 格式的配置信息示例,请复制到您的MCP客户端配置中。

{
  "serverName": "juhe-mcp-servers",  // MCP 服务器名称,与 src/index.ts 中 McpServer 构造函数的 name 字段保持一致
  "command": "node",                 // 启动 MCP 服务器的命令,这里使用 node.js 运行时
  "args": ["dist/index.js"]          // 启动命令的参数,指向构建后的服务器入口文件
}

配置说明:

  • 'serverName': MCP 服务器的唯一标识名称。
  • 'command': 运行 MCP 服务器程序的可执行命令。由于本项目是 Node.js 项目,因此使用 'node' 命令。
  • 'args': 传递给 'command' 的参数列表,用于指定服务器程序的入口文件。'dist/index.js' 是项目构建后生成的 JavaScript 文件路径。

请确保 MCP 客户端能够找到 Node.js 运行时环境,并且 'dist/index.js' 文件在指定路径下存在。

基本使用方法

启动 MCP 服务器后,MCP 客户端可以通过 JSON-RPC 协议与服务器进行通信。客户端可以发送请求调用服务器提供的工具。

例如,要使用天气查询工具 (getWeather):

客户端需要向 MCP 服务器发送符合 MCP 协议的 JSON-RPC 请求,指定要调用的工具为 'getWeather',并提供必要的参数,例如 'city' (城市名称)。

例如,要使用今日头条新闻获取工具 (getToutiaoNews):

客户端需要发送 JSON-RPC 请求,指定工具为 'getToutiaoNews',并提供参数 'type' (新闻类型,如 'top', 'guonei' 等)。

例如,要使用今日头条新闻内容获取工具 (getToutiaoContent):

客户端需要发送 JSON-RPC 请求,指定工具为 'getToutiaoContent',并提供参数 'uniquekey' (新闻唯一标识,可以从 'getToutiaoNews' 工具的返回结果中获取)。

具体的请求格式和参数定义请参考 Model Context Protocol (MCP) 协议文档 以及本项目 'src/index.ts' 文件中工具的定义。

请注意: 由于本项目使用了聚合API,工具的可用性和数据准确性依赖于聚合API服务的稳定性。同时,请务必妥善保管您的聚合API Key,避免泄露。

信息

分类

网页与API