HasData Bing

com.hasdata由 hasdata.com 發布官方發布者v1.0.3更新於 Oct 24, 2026

Bing search results with the ad block and Copilot answer, geo and market targeting, as JSON.

發布方自己的服務:HasData Airbnb

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取資料與分析

概覽

AI 產生的概覽

由 HasData 託管的 MCP 伺服器,讓助理執行 Bing 搜尋,並以結構化 JSON 回傳自然結果、廣告與 Copilot 回答。

可以做什麼
  • 依查詢抓取一頁 Bing 結果,可指定國家、市場、語言、裝置、安全搜尋與日期篩選,回傳含排名、標題、連結與摘要的自然結果。
  • 在頁面包含時讀取廣告區塊,以及 Copilot 回答與其引用的頁面。
  • 依位移翻頁,並以免費資源形式讀取市場、國家、語言、安全搜尋與裝置的固定選項清單。
適用情境
適合需要即時 Bing 排名、廣告監測、Copilot 回答查核,或比較不同國家、語言與裝置下結果的情境,且不想自行建置爬蟲或持有 Azure 訂閱。
執行需求
需要 HasData API 金鑰,透過 x-api-key 標頭傳送(npm 與 PyPI 的 stdio 啟動器使用 HASDATA_API_KEY)。遠端端點為 streamable HTTP;僅支援 stdio 的用戶端需以 Node.js 執行 @hasdata/bing-mcp,或以 uvx 執行 hasdata-bing-mcp。每次呼叫會消耗點數。
安裝前請注意
每次成功呼叫消耗 10 點;免費額度為每月 1,000 點,付費方案每月 59 美元起。非 200 回應不計費,但成功卻無結果的呼叫仍會計費。結果為第三方頁面內容,涉及人名的查詢可能回傳個人資料;供應商與微軟無關聯,使用結果須自行遵守 Bing 條款。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 HasData Bing,將其新增到工作區。
  2. 連接 x-api-key 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.hasdata%2Fbing/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "hasdata-bing": {
      "type": "http",
      "url": "https://mcp.hasdata.com/mcp?apis=bing",
      "headers": {
        "x-api-key": "<YOUR_API_KEY>"
      }
    }
  }
}

README

Bing MCP Server

A hosted Bing MCP server that gives Claude, Cursor, Windsurf and any other MCP client one read-only Bing tool. Run a Bing search from a chosen country, market, language and device, and get the organic results, the ad block and the Copilot answer as structured JSON, with no Azure subscription and nothing to host.

It reads the Bing results page a signed-out visitor sees.

1,000 free credits every month, no card required, which is 100 Bing calls at the 10-credit rate.

https://mcp.hasdata.com/mcp?apis=bing

[Glama score] [tool contract] [MCP] [Tools]

Contents

What you need

An MCP client and a HasData API key from the dashboard, free to create with no card, and the free tier covers about 100 calls a month at the 10-credit rate. This is a remote server, so the simplest path is a URL and an x-api-key header, with no container to run. A client that only speaks stdio reaches it through a thin launcher, published as @hasdata/bing-mcp on npm and hasdata-bing-mcp on PyPI, shown below.

Quick start

The server URL is the same for every client. We run it hands-on in Claude Code and Claude Desktop. The other blocks follow each client's own documented format for a remote server.

FieldValue
URLhttps://mcp.hasdata.com/mcp?apis=bing
TransportHTTP, streamable
Auth headerx-api-key: HASDATA_API_KEY

Clients with OAuth support can add the same URL as a connector and sign in without putting a key in a config file.

Claude Code
bash
claude mcp add --transport http bing "https://mcp.hasdata.com/mcp?apis=bing" \  --header "x-api-key: HASDATA_API_KEY"
Claude Desktop

Settings, then Connectors, then Add custom connector, then paste https://mcp.hasdata.com/mcp?apis=bing and sign in.

For the config-file route, Claude Desktop loads only local (stdio) servers, so it reaches a remote server through a stdio launcher. The @hasdata/bing-mcp package is that launcher, and it reads the key from the environment. Add this to claude_desktop_config.json:

json
{  "mcpServers": {    "bing": {      "command": "npx",      "args": ["-y", "@hasdata/bing-mcp"],      "env": { "HASDATA_API_KEY": "YOUR_KEY" }    }  }}

For Python instead of Node, swap the launcher for the PyPI package, which uvx runs without a manual install:

json
{  "mcpServers": {    "bing": {      "command": "uvx",      "args": ["hasdata-bing-mcp"],      "env": { "HASDATA_API_KEY": "YOUR_KEY" }    }  }}
Cursor

~/.cursor/mcp.json for every project, or .cursor/mcp.json for one:

json
{  "mcpServers": {    "bing": {      "url": "https://mcp.hasdata.com/mcp?apis=bing",      "headers": { "x-api-key": "HASDATA_API_KEY" }    }  }}
Windsurf

~/.codeium/windsurf/mcp_config.json. Windsurf calls the field serverUrl, not url:

json
{  "mcpServers": {    "bing": {      "serverUrl": "https://mcp.hasdata.com/mcp?apis=bing",      "headers": { "x-api-key": "HASDATA_API_KEY" }    }  }}
VS Code

.vscode/mcp.json in the workspace:

json
{  "servers": {    "bing": {      "type": "http",      "url": "https://mcp.hasdata.com/mcp?apis=bing",      "headers": { "x-api-key": "HASDATA_API_KEY" }    }  }}

Example prompts

  • Search Bing for python web scraping tutorials and list the top ten sources.
  • Who is advertising against the query "best crm software" on Bing right now?
  • What does Bing Copilot answer for this query, and which pages does it cite?
  • Run this query from Germany in German and compare the results with the US ones.
  • Show me pages Bing indexed for this query in the past week.
  • Search this query as a mobile user and tell me whether the ranking differs from desktop.

One call answers each of these. Paging to the second and third page of results takes one more call each.

Tools

ToolWhat it returns
hasdata_bing_serp_getSearchResultsOrganic results (title, url, snippet, displayed url, position), related searches, answer boxes/knowledge panels, and pagination metadata. 10 credits a call

One tool, 10 credits per successful call.

Get Bing search results

hasdata_bing_serp_getSearchResults

One Bing results page.

ParameterTypeRequiredNotes
qstringyesThe search term
locationstringFree-text origin, such as Austin, Texas. Resolved to coordinates
lat / lonstringGPS origin. Takes precedence over location
mktstringMarket, one of 38, such as en-gb or de-de
ccstringCountry, one of 36, such as gb or de
setLangstringInterface and preferred result language, one of 39
safeSearchstringoff, moderate or strict
deviceTypestringdesktop, mobile or tablet
filtersstringA Bing filter string, such as ex1:"ez2" for the past week
firstnumberResult offset, 1 for the first page, 11 for the second

Returns organicResults always, plus ads and copilotSearch when the page carries them.

An organic result has position, title, link, displayedLink, source and snippet.

json
{  "position": 1,  "title": "10 Best CRM Software Of 2026 – Forbes Advisor",  "link": "https://www.forbes.com/advisor/business/software/best-crm-software/",  "displayedLink": "https://www.forbes.com › advisor › business › software › best-crm-software",  "source": "Forbes",  "snippet": "Compare top CRM options to find the best fit for your needs and budget, and explore features, pricing and support using the links below."}

ads appears on commercial queries and carries position, blockPosition, title, link, source, displayedLink, description and sitelinks. Six ads came back for best crm software and none for weather.

copilotSearch appears when Bing puts its AI answer on the page. It holds textBlocks, a sequence of typed blocks where a heading carries a snippet and a list carries an array of them, and references, the pages the answer cites.

json
{  "textBlocks": [    {      "type": "heading",      "snippet": "Top CRM software in 2026 includes Agentforce Sales, HubSpot Sales Hub, Pipedrive, Zoho CRM, and ActiveCampaign, each excelling in sales automation, pipeline management, and customer engagement."    },    { "type": "heading", "snippet": "Top CRM Options" },    { "type": "list", "list": [{ "snippet": "Agentforce Sales (formerly Salesforce Sales Cloud) – Best for highly customizable..." }] }  ],  "references": []}

Prompts and resources

The server exposes 5 resources, one per parameter whose accepted values are a fixed list. Reading one is cheaper than learning the vocabulary from a rejected call, and it costs no credits. Each URI is hasdata://bing/<parameter>.

ParameterValuesWhat it selects
mkt38The two-letter country code for the country to search from.
cc36The two-letter country code for the country to search from.
setLang39The language of the user interface and preferred result language. Accepts a two-letter language code (e.g. en, de) or a locale/script variant (e.g. en-gb, zh-hans, pt-br).
safeSearch3Adult Content Filtering option.
deviceType3Specify the device type for the search.

The list is served without an API key, so a client can read it before a user has signed up.

Errors and failure paths

Plan for these rather than assuming a happy path.

The result count is not ten and does not hold still. The same query returned 6 organic results on one call and 14 on another, because Bing decides how much of the page to give to ads and to Copilot. Read the array length rather than assuming a page size, and do not compute a rank position by multiplying page number by ten.

ads and copilotSearch are absent rather than empty when the page has neither. Test for the key before you read it. A query like weather came back with organic results alone.

An ad link is a Bing click tracker, not the advertiser's URL. It points at bing.com/aclk with the destination encoded inside. Read displayedLink for the domain that was advertising, and treat the tracker as a click-through rather than as a page address.

lat and lon override location. Sending all three silently ignores the free text. Send one or the other.

mkt, cc and setLang are three separate axes. The market decides which Bing index answers, the country code decides the origin, and the language decides the interface and the preferred result language. Setting only one moves the results less than you expect.

filters is a raw Bing filter string. The date options are documented, ex1:"ez1" for the past day through ex1:"ez3" for the past month. For anything else, run the search in a browser and copy the parameter out of the Bing URL, because the values are Bing's rather than ours.

Paging is by offset, and pages overlap a little. first: 11 is the second page. Consecutive pages shared one result out of six in our checks, which is Bing being Bing rather than a fault. Deduplicate by link when you merge pages.

Results that carry data also carry a requestMetadata.id worth quoting in support.

Pricing, free tier and limits

The Bing tool costs 10 credits per successful call. Response size does not change the price.

The free tier is 1,000 credits every month with no card, which is 100 Bing calls at the base rate. It renews with the billing cycle, so a low-volume agent runs on the free tier indefinitely.

Paid plans start at $59 a month for 200,000 credits, which is 20,000 calls. The unit price falls with volume, from $2.95 per 1,000 calls on the entry plan to $1.19 on Basic and $0.83 across the Growth tiers. Current figures live on the pricing page.

Your plan also sets concurrency. The free tier allows 5 requests at a time, Startup 5, Basic 15, and the Growth tiers run from 50 to 500. Retry on the 429 with a backoff in anything unattended, because an agent that sweeps a keyword list will reach the ceiling before you do.

A request that comes back non-200 is not billed. A successful call that finds nothing is still a call.

How it compares

Microsoft retired the Bing Search APIs on 11 August 2025, and the old endpoints now answer 410. Developers are routed to Grounding with Bing Search in Azure AI Agent Service, which is a different product rather than a renamed endpoint.

Grounding with Bing SearchThis server
EligibilityAn Azure subscription and an agent resourceAn API key
What you getA grounded model answer with citationsThe results page, parsed
Ad blockNot returnedReturned when present
Ranking positionsNot the point of the productposition on every result
Display requirementsBound by the grounding termsYours to check
Cost modelPer grounding call, billed through AzureCredits

The row that decides it is what you are asking for. Grounding is built to feed a model an answer, and rank tracking, ad monitoring and SERP comparison need the page itself. When you want an answer rather than a ranking, the Azure route is the one Microsoft supports.

FAQ

Is there an official Bing MCP server?

Microsoft does not publish one for search results. This one is maintained by HasData and reads public Bing pages.

What is a Bing MCP server?

An MCP server exposes tools an AI client can call. This one turns a Bing results page into JSON an agent can reason over, without a browser or a scraping library in your stack.

Do I need an Azure subscription or a Bing API key?

No. The only credential is your HasData key.

Why do I get fewer than ten results?

Because Bing gives part of the page to ads and to the Copilot answer, and what is left is what you get. Six and fourteen both came back for the same query on different calls.

Does it return the Copilot answer?

When Bing shows one, yes, as copilotSearch with its text blocks and references. It is absent on queries where Bing does not generate an answer.

How do I search from another country?

Set cc for the country and mkt for the market, and add setLang when you also want the interface and result language to change. location or lat/lon narrows the origin further, to city level.

Can I use this together with other HasData APIs?

Yes. One key covers everything, and one endpoint serves them all through the apis parameter. Point a client at ?apis=bing,google_serp to get both tool sets in one connection, or at mcp.hasdata.com/mcp for the full catalogue.

Is HasData affiliated with Microsoft or Bing?

No. HasData is an independent service and is not affiliated with, endorsed by, or sponsored by Microsoft. Bing is a trademark of its respective owner. The tools work with publicly available data only, and you are responsible for using the results in line with Bing's terms and the law that applies to you.

Compliance and personal data

A results page returns titles, links and snippets from third-party sites, so what comes back depends on what you searched for. A query naming a person returns pages about that person, which makes the response personal data even though the tool has no concept of one. Keep that in mind before you store result sets from name queries, and check your own obligations.

HasData links

Other HasData MCP servers: Google Search, DuckDuckGo, Google Maps, Google Trends, Google Flights, YouTube, TikTok, Instagram, Amazon, Walmart, Shopify, Yelp, Yellow Pages, Zillow, Redfin, Airbnb, Booking.com, Indeed, Glassdoor.

Development

The launcher is a thin stdio bridge to the remote server, so there is nothing to build.

bash
npm installHASDATA_API_KEY=your_key_here npm test

The tests in test/ assert the tool contract, the part that can break without a commit here. They check that ?apis=bing returns the one expected tool, that its name has not changed, that it still requires q and carries a description, that the targeting enums this README lists are still offered, and that the key in use is actually accepted. That last check calls the tool for real and costs 10 credits, which is the price of a canary that can fail for the right reason.

One test asserts that a live commercial query still returns organic results carrying position and link. This README documents the result count as variable, so a test that pinned a count would fail for the wrong reason, and one that only listed tools would pass while the parser returned nothing.

The contract suite also runs weekly on a schedule, because the upstream tool list can change without anyone touching this repository.

Contributing

A tool table, a response sample or a documented behaviour that does not match reality is worth an issue. There is a template for exactly that. Pull requests are welcome for the same, and for anything in the launcher.

License

MIT, see LICENSE.

來源:README.md,提交 1417edd

工具

0
SourceWeft 尚未讀取此伺服器的工具。

版本歷史

3
  1. v1.0.3最新Sep 24, 2026
  2. v1.0.2Sep 22, 2026
  3. v1.0.0Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Hasdata 整合