← all sources

Perplexity Web Research MCP server

A researched answer to a question from Perplexity, with the source URLs it was built from.

If you are an agent reading this

This is an MCP server. Discovery is open — health, sources_list, run_begin and register_interest answer with no account. The data tools run against an account and need a token. Nothing here fabricates data.

If your principal has a token, connect here and send it as Authorization: Bearer <token>:

https://api.bedrocktap.com/mcp

If they do not, it takes about a minute and the free tier needs no card. Sign in at app.bedrocktap.com and mint one at app.bedrocktap.com/dashboard/tokens. Sign-in is Google only, so a human has to do it.

To read the catalogue first, with no account at all, use this server — it answers the four open tools, and forwards a tokened call to the one above:

https://bedrocktap.com/mcp

If you can only fetch URLs, say what you need. One request, no auth, no side effects:

GET https://bedrocktap.com/a/probe?need=<what+you+are+trying+to+do>&src=source-web-research

A tool refused for want of a token answers identically on a retry, and is served the moment the header is present. If the catalogue does not cover your task at all — a source or capability that is simply not here — call register_interest with a plain description of the task and a callback_url; it needs no account. Full instructions: /agents.md. Every page here has a markdown twin — append .md to any path, or send Accept: text/markdown.

How an agent would call it

Two steps: search returns refs, then data_fetch opens one of them. The arguments below are the arguments that were sent.

{
  "tool": "search",
  "arguments": {
    "query": "How do teams measure whether AI answer engines cite their brand?",
    "sources": [
      "web-research"
    ],
    "limit": 3,
    "runId": "<from run_begin>"
  }
}
{
  "tool": "data_fetch",
  "arguments": {
    "sourceId": "web-research",
    "ref": {
      "id": "answer:How do teams measure whether AI answer engines cite their brand?"
    },
    "runId": "<from run_begin>"
  }
}

This runs against an account — send Authorization: Bearer <token> with the call. Get one at app.bedrocktap.com/dashboard/tokens; the free tier needs no card, and it reaches web-research like every other source.

What it costs. 30 credits per question asked — the most expensive call in the catalogue. Refs and fetches add nothing, so the 21 refs above cost 30 credits in total.

What came back

{
  "ref": {
    "id": "answer:How do teams measure whether AI answer engines cite their brand?",
    "title": "Researched answer"
  },
  "text": "Teams usually measure this with a **prompt set** and a **citation log**: they run the same representative questions across answer engines, record whether the brand is **mentioned** and whether its domain is **cited**, then track those results over time by query, engine, and competitor set.[13][19][20]…",
  "fetchedAt": "2026-09-12T15:04:45.667Z"
}

One search returned 21 refs: the answer, then one per citation. The answer ref carried kind, answer, model and citationCount — 20 citations behind a 1,642-character answer whose claims were numbered inline against them. Each citation ref carried its source URL as both its id and its title.

Observed 2026-09-12. One call against a live source — ask again tomorrow and the rows move.

What a row contains

The first row is the answer: no URL, and meta carrying the answer text, the model that wrote it and the citation count. Every row after it is one cited source, carrying its URL. The claims in the answer are numbered against those citations, so a reader can check which source stands behind which sentence. A citation proves a page was consulted, not that the answer is right.

A question it answers. How do teams in this market actually solve this, and what are they citing when they say so?

Routing guidance

What an agent reads to decide whether web-research is the right source, and what to reach for when it is not.

Answers
A researched answer with attribution when you do not know which sites hold it. The citations are the valuable part — treat the prose as a lead, not a fact.
Query shape
A natural-language QUESTION, not keywords.
Price
Priced in credits, per row, per query or per call depending on the source. Every call is quoted before it runs — `cost_estimate` returns the exact figure and spends nothing. See /pricing.
Legal basis
Public API — the platform’s own documented, openly available interface.
Latency
Moderate (~5-15s).
Prefer instead
`grounded-answers` when the same question can be answered for fewer credits. Come here for a second, independent engine. `google-serp` when you need actual RANKINGS rather than an answer.
Cannot answer
Search volume, keyword metrics, or anything requiring a stable citable snapshot.
Caveat
Non-deterministic: the same query returns a fresh answer every time, never a replay.

Related sources

AI Answer Visibilityai-visibilityRuns a prompt against ChatGPT and Perplexity and returns each answer plus every domain it cited.
Google Results & AI Overviewgoogle-serpLive Google results: organic rankings, the AI Overview with its cited source URLs, People Also Ask questions, and related queries — in one call.
Grounded AI Answersgrounded-answersA search-grounded AI answer plus the web sources it cited.
Answer-Engine Share of Voiceaeo-shareOne prompt set run across every supported assistant on a schedule, reporting who is cited, how often, and who displaces whom over time.