Bing News

io.github.pipeworx-iov0.1.0更新于 Oct 9, 2026

Bing News MCP — keyword news search via Bing News RSS, keyless.

已验证Streamable HTTP可网页运行Web Search & ScrapingKnowledge & Memory

概览

AI 生成的概览

让助手通过 Bing News RSS 按关键词搜索近期新闻,返回标题、真实文章链接、发布时间和来源。

功能
提供一个工具 bing_news_search(query, limit?),查询 Bing News 并返回最多 50 篇匹配文章(默认 20 篇)。每条结果包含标题、解码后的真实文章目标网址(而非 Bing 的跟踪跳转链接)、简短描述、RFC-822 格式的发布时间以及来源刊物名称。该连接还会列出 Pipeworx 网关的共享元工具,例如 ask_pipeworx、discover_tools 和 remember/recall。
适用场景
适合在 Google News 或 GDELT 之外需要第三个独立新闻来源时使用,也适合需要带真实文章链接和刊物名称的关键词新闻查询。对于需要近期头条的研究、监测或摘要任务,是一个合理的补充。
运行要求
使用 Pipeworx 网关上的远程 streamable HTTP 端点;前几次调用无需账号、API 密钥或注册。也提供本地 stdio 版本,作为 npm 包通过 npx 运行,需要 Node.js。需要能访问网关和 Bing News 的网络。
安装前请注意
上游是未文档化、无版本管理的 Bing RSS 端点,结构可能随时变化;反爬或 CAPTCHA 页面可能返回 HTTP 200,因此失败可能表现为报错而非空结果。该包是非官方集成,与 Bing 无关联。网关连接还会暴露本包工具之外的共享元工具,会增加上下文开销。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Bing News,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "bing-news": {
      "type": "http",
      "url": "https://gateway.pipeworx.io/bing-news/mcp"
    }
  }
}

README

@pipeworx/bing-news

Keyword news search via Bing News RSS — a third, independent news source (different vendor and infrastructure from Google News/country-news and GDELT/gdelt), returning recent matching articles ranked by Bing with the real article link, publish time, source publication and a short description.

Part of Pipeworx — an MCP gateway connecting AI agents to 1745+ live data sources. This is an independent, unofficial integration — not affiliated with, endorsed by, or published by the upstream provider.

Tools

  • bing_news_search(query, limit?) — searches Bing News for query and returns up to limit (1-50, default 20) matching articles: title, link (the real destination article URL, not Bing's tracking redirect), description, published (RFC-822), source (the publication name).

Auth

Keyless. No registration, no API key, no rate-limit documented by Bing for this endpoint.

Data sources

  • https://www.bing.com/news/search?q=<query>&format=rss — Bing's own news search, RSS output. Not a documented/versioned API — it is the same feed a browser gets from the "News" tab's RSS link, so its shape can change without notice the way any scraped HTML/XML can.

Rediscoverable-the-hard-way notes:

  • The link element is a tracking-redirect wrapper, not the article URL. Bing wraps every result as https://www.bing.com/news/apiclick.aspx?ref= ...&url= followed by the percent-encoded real article URL and more tracking params. The real destination is the value of that url query param, and it is present and decodable on every item observed (verified live 2026-10-09 against 5 search results — msn.com, finance.yahoo.com, pulse2.com). realArticleUrl() decodes it; this pack returns the decoded URL as link, never the apiclick wrapper. If Bing ever omits the url param, the code falls back to the raw link rather than dropping the item.
  • The source element is namespaced. It is News:Source, not a plain source element — easy to miss if you copy a generic RSS-item parser from another pack (country-news's Google News feed has no equivalent element at all; it comes from a different field).
  • A 200 is not proof of a real result. Like GDELT and Google News, a CAPTCHA/anti-bot challenge page can come back with HTTP 200 and content-type: application/xml or text/html instead of the RSS feed — guarded here by checking for a literal <item tag before parsing, so that case surfaces as a loud failure rather than a silent empty result.
  • Cloudflare Workers egress is NOT blocked for this endpoint — edge-probed live 2026-10-09 from a throwaway wrangler dev --remote Worker on the prod account: bing.com/news/search answered the Worker's own egress HTTP 200, 10,393 bytes, well-formed RSS. Unlike country-news (Google News blocks CF egress outright), this pack's direct fetch is not currently routed through the shared Supabase egress relay — the relay-fallback code exists (same _proxyUrl/_proxyToken convention as country-news/gdelt) but nothing in the gateway injects those args for this pack's slug, because nothing has needed to yet. Re-probe before assuming that's still true months later.

Quick Start

Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):

json
{  "mcpServers": {    "bing-news": {      "url": "https://gateway.pipeworx.io/bing-news/mcp"    }  }}

What this endpoint actually serves

tools/list at https://gateway.pipeworx.io/bing-news/mcp returns the tools in the table above plus the shared Pipeworx meta-tools — ask_pipeworx, discover_tools, search_within, remember/recall and the rest of the gateway-wide set. So the tool count you see is larger than this table: a single-pack endpoint currently lists roughly 30 shared tools alongside the pack's own. The connection's initialize response states its exact scope, and is the authoritative answer for a given day.

This is deliberate, not multiplexing by accident. The meta-tools are what let a scoped connection answer a question this pack does not cover — via ask_pipeworx, which routes across the whole catalog — without you adding a second MCP server. There is currently no way to mount a pack endpoint without them; if the extra schemas cost you more context than the routing is worth, connect to the full gateway once rather than to several pack endpoints.

Or connect to the full Pipeworx gateway to get every pack's tools listed directly, instead of just this one's:

json
{  "mcpServers": {    "pipeworx": {      "url": "https://gateway.pipeworx.io/mcp"    }  }}

Both URLs reach the same gateway and the same 1745+ data sources. The only difference is which pack's tools are listed directly; ask_pipeworx reaches all of them from either one.

No MCP client? Call it over HTTP

bash
curl -X POST https://gateway.pipeworx.io/v1/tools/bing_news_search \  -H 'Content-Type: application/json' \  -d '{"query":"\"Series A\" funding","limit":5}'

No account needed for the first calls. Inspect any tool: GET https://gateway.pipeworx.io/v1/tools/bing_news_search. Find one: POST https://gateway.pipeworx.io/v1/tools/search_packs with {"query":"..."}.

Standalone (no gateway account)

This package also runs as a local stdio MCP server — no Pipeworx account, no gateway round-trip:

json
{  "mcpServers": {    "bing-news": {      "command": "npx",      "args": ["-y", "@pipeworx/mcp-bing-news"]    }  }}

Or run it directly to confirm it starts:

bash
npx -y @pipeworx/mcp-bing-news

It speaks MCP over stdin/stdout and answers initialize/tools/list/tools/call for only this pack's tools — none of the shared meta-tools the gateway connection above adds. Same source, same tools, no ask_pipeworx routing.

Using with ask_pipeworx

Instead of calling tools directly, you can ask questions in plain English — this works on the pack endpoint above as well as on the full gateway:

ask_pipeworx({ question: "your question about Bing News data" })

The gateway picks the right tool and fills the arguments automatically.

More

License

MIT

来源:README.md,提交 fe71107

工具

0
工具元数据尚未被收录。

版本历史

1
  1. v0.1.0最新Oct 9, 2026