使用说明

项目简介

本项目是一个 MCP 服务器,旨在通过工具的方式向 LLM 客户端提供最新的新闻资讯。它集成了 newsdata.io API,可以获取最新的新闻头条、新闻来源以及加密货币新闻。通过标准化的 MCP 协议,为 LLM 应用提供便捷、实时的信息服务。

主要功能点

  • 获取最新新闻: 根据国家、语言和关键词检索最新的新闻头条。
  • 查询新闻来源: 获取指定国家和语言的新闻媒体来源列表。
  • 加密货币新闻: 获取最新的加密货币相关新闻,可按加密货币种类、语言和标签进行筛选。

安装步骤

  1. 克隆仓库
    git clone https://github.com/anurag-dhamala/news-mcp-server.git
  2. 进入项目目录
    cd news-mcp-server
  3. 安装依赖
    npm install
  4. 配置 API 密钥
    • newsdata.io 注册并获取 API 密钥。
    • 在项目根目录下创建 '.env' 文件。
    • 将 API 密钥添加到 '.env' 文件中,格式如下:
      NEWS_API_KEY=YOUR_API_KEY  # 替换为你的 newsdata.io API 密钥
      NEWS_BASE_URL=https://newsdata.io # 可选,默认已设置为 newsdata.io 的 API 地址
  5. 构建项目
    npm run build

服务器配置

MCP 客户端需要配置以下 JSON 以连接到此 MCP 服务器。请根据你的实际情况修改 'path_to_your_project' 为项目所在路径,并将 'YOUR_API_KEY' 替换为你在 newsdata.io 获取的 API 密钥。

使用 Node.js 启动:

{
  "mcpServers": {
    "news": {
      "command": "node",
      "args": [
        "path_to_your_project/news-mcp-server/dist/index.js" // 将 "path_to_your_project" 替换为你的项目路径
      ],
      "env": {
        "NEWS_API_KEY": "YOUR_API_KEY", // 你的 newsdata.io API 密钥
        "NEWS_BASE_URL": "https://newsdata.io" // newsdata.io 基础 URL,默认无需修改
      }
    }
  }
}

使用 npx 启动 (全局安装后):

{
  "mcpServers": {
    "news": {
      "command": "npx",
      "args": [
        "news-mcp-server"
      ],
      "env": {
        "NEWS_API_KEY": "YOUR_API_KEY", // 你的 newsdata.io API 密钥
        "NEWS_BASE_URL": "https://newsdata.io" // newsdata.io 基础 URL,默认无需修改
      }
    }
  }
}

基本使用方法

配置完成后,在 MCP 客户端中即可调用以下工具获取新闻资讯:

  • 获取最新新闻 (get-latest-news):

    • 示例请求: 'get-latest-news countryCode=us language=en query=technology'
    • 参数:
      • 'countryCode' (可选): 两位国家代码 (如 us, cn, jp)。默认为 "us"。
      • 'language' (可选): 两位语言代码 (如 en, zh, fr)。默认为 "en"。
      • 'query' (可选): 关键词,用于搜索特定主题的新闻。默认为空,获取所有新闻。
  • 获取新闻来源 (get-news-sources):

    • 示例请求: 'get-news-sources countryCode=cn language=zh'
    • 参数:
      • 'countryCode' (可选): 两位国家代码。默认为空,获取所有国家的新闻源。
      • 'language' (可选): 两位语言代码。默认为 "en"。
  • 获取加密货币新闻 (get-latest-crypto-news):

    • 示例请求: 'get-latest-crypto-news coin=btc language=en tags=blockchain'
    • 参数:
      • 'coin' (可选): 加密货币代币 (如 btc, eth)。 允许多个,逗号分隔。默认为空,获取所有加密货币新闻。
      • 'language' (可选): 两位语言代码。默认为 "en"。
      • 'tags' (可选): 新闻标签 (如 blockchain, DeFi)。允许多个,逗号分隔。默认为空。

信息

分类

网页与API