# news_search

> 按查询读取新闻文章，或读取当前的 Hacker News / GitHub 趋势条目（无需查询）。

URL: https://mcp-docs.opennomos.com/zh/docs/tools/research/news_search

> 按查询读取新闻文章，或读取当前的 Hacker News / GitHub 趋势条目（无需查询）。返回来源数据，不保存记忆。可选的 time_range 是新闻服务商的 day\|week\|month\|year 参数。约 4-5 秒，$0.001。

> 以上是服务端发布的英文描述的译文；英文原文见[英文页](https://mcp-docs.opennomos.com/docs/tools/research/news_search.md)。工具名、参数名和取值保持原样。

| 字段 | 值 |
| --- | --- |
| 工具包 | Launch (`launch`) |
| 每次调用的预估成本 | ~$0.001（上游成本；各 action 的具体数字见描述） |
| 工具包每月上限 | 上游成本 $1（不向用户显示） |
| 项目 | 可选（`project` 或 `X-OpenNomos-Project`）；只是把项目 id 附在结果里 |

## 参数

| 参数 | 必填 | 类型 | 说明 |
| --- | --- | --- | --- |
| `project` | 否 | `string` | 项目 slug 或 id。省略则用凭据或工作区的默认项目。 |
| `source` | 是 | `"news"` \| `"hackernews_trending"` \| `"github_trending"` | news = 匹配 `query` 的文章；hackernews_trending / github_trending = 当前的趋势（不需要查询）。 |
| `query` | 否 | `string` | 仅 source=news：搜索文本，例如 'open source CRM'。 |
| `time_range` | 否 | `"day"` \| `"week"` \| `"month"` \| `"year"` | 仅 source=news：限定在最近一天/一周/一月/一年。默认：不限制。 |
| `limit` | 否 | `integer (≥ 1, ≤ 20)` | 最多返回多少条。默认 10。 |

## 示例调用

```json
{
  "source": "news",
  "query": "open source CRM",
  "time_range": "week",
  "limit": 10
}
```

REST:`POST https://service.opennomos.com/v1/tools/news_search`，以上 JSON 作为请求体。MCP:`tools/call`,`name: "news_search"`，以上 JSON 作为 `arguments`。

## 示例结果

示例里的值是示意性的；结构来自服务端代码。

```json
{
  "results": [
    {
      "url": "https://example.com/story",
      "title": "…",
      "content": "…",
      "publishedAt": "2026-10-15T08:00:00.000Z"
    }
  ]
}
```

## 说明

- `source=hackernews_trending` 和 `source=github_trending` 不需要查询，返回当前正在流行的内容。
- 如果返回的条目少于 `limit`,`note` 会说明。

## 错误

上游出问题时，会在一个**正常结果里**以 `error`、`reason` 和 `action` 报告（适用时还有 `tool` / `retry_after_seconds`）。对 `search_signals`，这会按来源分别出现。见[错误](https://mcp-docs.opennomos.com/zh/docs/reference/errors.md)。

这个工具属于 **Launch** 工具包。如果该包没有启用，调用会以 `pack_required`（HTTP 403）失败；如果该包的每月上游成本上限已用完，会以 `soft_limit`（HTTP 429）失败。两者都带 `action: "give_up_and_tell_user"` 和控制台 URL。
