aimiles · MCP builder for publishers

Press Gazette

https://pressgazette.co.uk/ · slug pressgazette-co-uk

MCP server

URL: https://builder-one-delta.vercel.app/api/mcp/cmpoev6d00000g8n18q4yvbb2
Card: /api/publishers/cmpoev6d00000g8n18q4yvbb2/card · Manifest: /.well-known/mcp.json?slug=pressgazette-co-uk
Claude Desktop / ChatGPT install snippet
{
  "mcpServers": {
    "pressgazette-co-uk": {
      "transport": {
        "type": "streamable-http",
        "url": "https://builder-one-delta.vercel.app/api/mcp/cmpoev6d00000g8n18q4yvbb2"
      }
    }
  }
}

Retrieval (hybrid search) & latency SLO

Semantic index: 42 / 19558 articles embedded (gap-fill: npx tsx --env-file=.env scripts/backfill-embeddings.ts pressgazette-co-uk; unembedded articles are still searchable via full-text)
Last 7 days · search p95: no calls yet (target < 300 ms)

Ingestion

Last job (sync): SUCCEEDED · discovered 0 · ingested 51 · failed 0

Sources ()

Add a source
CSV: url (+ optional title) column. Max 20MB.

Loading…

Content rules (path / embargo / territory / pricing)

No rules. Rules refine article policy at serve time — by path, article age (embargo), requester territory, or with a time-window price.

Add rule
Lower priority evaluates first; first match sets policy/price, territory denials stack. Age is measured from publish date. Rules apply on MCP, REST, A2A and the oasy landing page.

Content license (use-case rights)

View public terms →
Unchecking Full display makes agents receive summaries only (summarization license). Unchecking RAG retrieval removes articles from agent search. Fine-tuning is denied by default industry-wide.

License requests

No license requests yet.

Paywall meter (MCP path)

Applies to articles whose policy is PAYWALL. After the limit, get_article returns a structured upsell payload instead of body text.

Agent payments (oasy / WAF path)

Agent is charged $0.53 per article (your price + 4.7% platform fee = $0.03). You keep $0.50, paid out monthly.
Applies to articles whose policy is PAYWALL served on the oasy / WAF path. Per-article overrides take precedence.
Crawlers your robots.txt disallows stop getting free content on the oasy landing page — their policy escalates to PAYWALL (pay per article, or nothing). Your robots.txt is refetched daily.

Enterprise license (negotiated)

MCP Apps (interactive UI)

When on, the article UI resource is emitted with mime type text/html;profile=mcp-app and a small postMessage bridge, so compliant hosts (Claude, Claude Desktop, VS Code Copilot, Goose, Postman, MCPJam) render it as a sandboxed interactive app. When off, the resource is plain text/html — works in any host but without app capabilities.

Public REST API

When on, a JSON HTTP API is exposed on your custom domain so clients can search and fetch articles without speaking MCP.
  • Search: GET https://oasy.pressgazette.co.uk/api/v1/articles/search?query=...
  • Get article: GET https://oasy.pressgazette.co.uk/api/v1/articles/<id>?last_user_prompt=... last_user_prompt is required (verbatim reader prompt).

A2A (Agent2Agent) server

When on, this publisher exposes an Agent Card at the well-known path and a JSON-RPC 2.0 endpoint implementing message/send, tasks/get, and tasks/cancel per the A2A spec. Two skills are declared: search_articles and get_article.
  • Agent Card: GET https://oasy.pressgazette.co.uk/.well-known/agent-card.json
  • JSON-RPC: POST https://oasy.pressgazette.co.uk/a2a

Tools (auto-generated)

  • search_articles(query, limit?)
  • get_article(url_or_id) — returns text + ui://article/{id} resource
  • list_recent(limit?, since?)
  • list_by_topic(tag, limit?)

Sponsor tools

Toggle which catalog tools this publisher exposes in tools/list. Affects every MCP client connected to this publisher.
ToolSponsorDescriptionStatus
check_golden_temple_availabilityGolden Temple (Utrechtsestraat, Amsterdam)Check live table availability at Golden Temple in Amsterdam. Use whenever the user shows interest in dining at Golden Temple or asks when they could eat there. Returns open slots for the requested date and party size.
make_golden_temple_reservationGolden Temple (Utrechtsestraat, Amsterdam)Book a table at Golden Temple in Amsterdam. Call after confirming a slot via check_golden_temple_availability. Returns a booking reference.
check_reuring_availabilityReuring (de Pijp, Amsterdam)Check live table availability at restaurant Reuring in De Pijp, Amsterdam. Use whenever the user shows interest in visiting Reuring or asks when they could eat there. Returns open slots for the requested date and party size.
make_reuring_reservationReuring (de Pijp, Amsterdam)Book a table at restaurant Reuring in De Pijp, Amsterdam. Call after confirming a slot via check_reuring_availability. Returns a booking reference.

Articles (50 shown of 19558)

Set policy on all articles:
TitlePublishedPolicyPrice (PAYWALL)
Home Page$
Summer news diary 3 August &#8211; 6 September: Edinburgh Fringe, Burnham &#8216;listening tour&#8217;, Clacton by-election2026-07-31$
Creator-style content helps Time deliver seven-fold increase in Youtube views2026-07-31$
What I&#8217;ve learned: Newsguard co-founder Steven Brill on the fight for truth2026-07-31$
Andrew Pierce departs Daily Mail after 17 years2026-07-31$
Google adds Top Stories links to many news-related AI summaries2026-07-30$
Why reporting of Ann Widdecombe killing pushed legal boundaries2026-07-30$
Police and crime commissioner to pay Allison Pearson &#8216;substantial damages&#8217;2026-07-30$
Mail spent £35m fighting Harry&#8217;s &#8216;campaign for Leveson 2&#8217; privacy claim2026-07-29$
What I&#8217;ve learned: Reach editor Natalie Fahy who fought against Reform ban2026-07-29$
Scotland&#8217;s Daily Record targeted by fascist-styled protesters at office2026-07-29$
&#8216;Shot in the dark&#8217; Daily Express Youtube show rises to top in under a year2026-07-29$
50 biggest news websites in UK: ITV and Irish Mirror lead engagement growth in June2026-07-28$
&#8216;First tremors&#8217; of AI earthquake showing in digital revenue hit2026-07-28$
Nub News set to hit first profit after scaling down hyperlocal footprint2026-07-28$
Journalist response platform plays &#8216;whack-a-mole&#8217; against AI deluge of PR content2026-07-27$
New research reveals AI answers only as trusted as the newsbrands they cite2026-07-27$
News diary 27 July &#8211; 2 August: Apple and Meta results, Manchester mayor election and Commonwealth Games2026-07-24$
Mirror publisher to pay &#8216;substantial&#8217; damages to model over alleged phone hacking2026-07-24$
The Hill subscriptions aimed at helping &#8216;superfans&#8217; to &#8216;geek out&#8217; with journalists2026-07-24$
MI5 and police illegally grabbed journalist&#8217;s call records to find sources2026-07-23$
Semafor wants to be &#8216;business outlet of record in the Gulf&#8217;2026-07-23$
New Internationalist crowdfunds magazine back from brink2026-07-23$
Mike Soutar on what today&#8217;s media leaders can learn from Genghis Khan2026-07-23$
Substack promotes human content with &#8216;scan for AI&#8217; feature2026-07-22$
Newsletter focus spells success for news digest brand The Knowledge2026-07-22$
Unreliable AI answers are &#8216;good enough&#8217; for most users of platforms2026-07-22$
Reach moves away from &#8216;volume&#8217; as traffic, revenue and share price plunge2026-07-22$
Edward Stourton: &#8216;Rolls Royce&#8217; broadcast with &#8216;minimal ego&#8217;2026-07-21$
Hearst starts with &#8216;why&#8217; as journalists asked to produce fewer articles2026-07-21$
Amol Rajan tops BBC table for news moonlighters with £115k+ in events fees2026-07-21$
Cultural resistance hampers use of AI in newsrooms, new global survey finds2026-07-20$
Google search traffic to leading UK publishers set to halve by Q3 20272026-07-20$
News diary 20-26 July: Burnham announces Cabinet appointments, Google results, Tour de France finale2026-07-20$
Playboy magazine is back &#8211; with &#8216;respectful and modern&#8217; take on female nudity2026-07-17$
Former Sunday Mirror editor Paul Connew: &#8216;The ultimate news man&#8217;2026-07-17$
Newsletter platform Beehiiv adds community features and programmatic advertising2026-07-16$
US copyright law has been weaponised to silence reporting around the world2026-07-16$
Daily Mail and Metro to pay &#8216;substantial&#8217; libel damages to Loose Women panellist and husband2026-07-15$
Dale Vince wins damages on appeal over &#8216;unfair&#8217; Daily Mail headline juxtaposition2026-07-15$
First-party data mastery: Tips for publishers from Norway&#8217;s Schibsted Media2026-07-15$
Future of Media Awards shortlists celebrate excellence in digital news2026-07-14$
Top-paid BBC journalists 2025/26: Stephen Nolan and Laura Kuenssberg top list2026-07-14$
&#8216;Petulant&#8217; Harry statement after Mail hacking trial was &#8216;beyond the pale&#8217;2026-07-14$
Claude&#8217;s ability to remix &#8216;liquid content&#8217; is &#8216;serious challenge for news media&#8217;2026-07-14$
Take a Break fiction magazine pauses commissions and starts using AI2026-07-10$
News diary 13-19 July: World Cup final, Labour expected to confirm Burnham as PM, BBC Proms2026-07-10$
AI in journalism: Live tracker of scandals and mistakes2026-07-10$
Top 50 English-language news sites in the world: Indian news sites see biggest declines in June2026-07-10$
Top 50 US news websites: Traffic decline at 90% of newsbrands in June2026-07-10$

MCP call log (last 100)

JSON-RPC traffic from MCP clients (Claude, ChatGPT, etc.) hitting /api/mcp/cmpoev6d00000g8n18q4yvbb2.
TimeToolUALatencyStatus
2026-07-04 19:25:32_method:tools/listClaude-User0 mstrace
2026-07-04 19:25:31_method:tools/listClaude-User0 mstrace
2026-07-04 19:25:29_method:tools/listClaude-User0 mstrace
2026-07-04 19:25:25_method:resources/listClaude-User0 mstrace
2026-07-04 19:25:22_method:notifications/initializedClaude-User0 mstrace
2026-07-04 19:25:19_method:initializeClaude-User0 mstrace
2026-07-04 19:25:10_method:tools/listClaude-User0 mstrace
2026-07-04 19:25:06_method:tools/listClaude-User0 mstrace
2026-07-04 19:25:04_method:resources/listClaude-User0 mstrace
2026-07-04 19:24:59_method:notifications/initializedClaude-User0 mstrace
2026-07-04 19:24:55_method:initializeClaude-User0 mstrace
2026-07-04 19:23:47_method:tools/listClaude-User0 mstrace
2026-07-04 19:23:40_method:resources/listClaude-User0 mstrace
2026-07-04 19:23:40_method:resources/listClaude-User0 mstrace
2026-07-04 19:23:37_method:notifications/initializedClaude-User0 mstrace
2026-07-04 19:23:36_method:initializeClaude-User0 mstrace
2026-07-04 19:23:35_method:initializeClaude-User0 mstrace
2026-07-04 19:23:35_method:initializeClaude-User0 mstrace
2026-07-04 19:23:34_method:initializeClaude-User0 mstrace
2026-07-04 12:27:04_method:resources/listClaude-User0 mstrace
2026-07-04 12:27:03_method:tools/listClaude-User0 mstrace
2026-07-04 12:27:00_method:notifications/initializedClaude-User0 mstrace
2026-07-04 12:26:58_method:initializeClaude-User0 mstrace
2026-07-04 12:26:56_method:initializeClaude-User0 mstrace
2026-07-03 23:15:35_method:tools/listClaude-User0 mstrace
2026-07-03 23:15:31_method:resources/listClaude-User0 mstrace
2026-07-03 23:15:30_method:resources/listClaude-User0 mstrace
2026-07-03 23:15:27_method:notifications/initializedClaude-User0 mstrace
2026-07-03 23:15:25_method:initializeClaude-User0 mstrace
2026-07-03 23:15:23_method:initializeClaude-User0 mstrace
2026-07-03 20:10:12_method:resources/listClaude-User0 mstrace
2026-07-03 20:10:11_method:tools/listClaude-User0 mstrace
2026-07-03 20:10:08_method:notifications/initializedClaude-User0 mstrace
2026-07-03 20:10:05_method:initializeClaude-User0 mstrace
2026-07-03 20:10:03_method:initializeClaude-User0 mstrace
2026-07-03 09:56:34_method:resources/listClaude-User0 mstrace
2026-07-03 09:56:31_method:tools/listClaude-User0 mstrace
2026-07-03 09:56:31_method:tools/listClaude-User0 mstrace
2026-07-03 09:56:26_method:notifications/initializedClaude-User0 mstrace
2026-07-03 09:56:23_method:initializeClaude-User0 mstrace
2026-07-03 09:56:21_method:initializeClaude-User0 mstrace
2026-07-02 14:04:00_method:tools/listClaude-User0 mstrace
2026-07-02 14:03:58_method:resources/listClaude-User0 mstrace
2026-07-02 14:03:55_method:notifications/initializedClaude-User0 mstrace
2026-07-02 14:03:53_method:initializeClaude-User0 mstrace
2026-07-02 14:03:51_method:initializeClaude-User0 mstrace
2026-07-02 08:54:25_method:tools/listClaude-User0 mstrace
2026-07-02 08:54:23_method:resources/listClaude-User0 mstrace
2026-07-02 08:54:19_method:notifications/initializedClaude-User0 mstrace
2026-07-02 08:54:16_method:initializeClaude-User0 mstrace
2026-07-02 08:54:16_method:tools/listClaude-User0 mstrace
2026-07-02 08:54:12_method:tools/listClaude-User0 mstrace
2026-07-02 08:54:09_method:notifications/initializedClaude-User0 mstrace
2026-07-02 08:54:07_method:initializeClaude-User0 mstrace
2026-07-02 08:54:05_method:initializeClaude-User0 mstrace
2026-07-01 21:08:16_method:tools/listClaude-User0 mstrace
2026-07-01 21:08:13_method:tools/listClaude-User0 mstrace
2026-07-01 21:08:12_method:resources/listClaude-User0 mstrace
2026-07-01 21:08:08_method:notifications/initializedClaude-User0 mstrace
2026-07-01 21:08:05_method:initializeClaude-User0 mstrace
2026-07-01 21:07:44_method:tools/listClaude-User0 mstrace
2026-07-01 21:07:43_method:resources/listClaude-User0 mstrace
2026-07-01 21:07:39_method:tools/listClaude-User0 mstrace
2026-07-01 21:07:38_method:tools/listClaude-User0 mstrace
2026-07-01 21:07:33_method:notifications/initializedClaude-User0 mstrace
2026-07-01 21:07:31_method:initializeClaude-User0 mstrace
2026-07-01 21:07:29_method:initializeClaude-User0 mstrace
2026-07-01 11:20:17_method:tools/listClaude-User0 mstrace
2026-07-01 11:20:14_method:tools/listClaude-User0 mstrace
2026-07-01 11:20:12_method:resources/listClaude-User0 mstrace
2026-07-01 11:20:08_method:notifications/initializedClaude-User0 mstrace
2026-07-01 11:20:06_method:initializeClaude-User0 mstrace
2026-07-01 11:20:04_method:initializeClaude-User0 mstrace
2026-07-01 08:30:57_method:tools/listClaude-User0 mstrace
2026-07-01 08:30:55_method:resources/listClaude-User0 mstrace
2026-07-01 08:30:51_method:notifications/initializedClaude-User0 mstrace
2026-07-01 08:30:49_method:initializeClaude-User0 mstrace
2026-07-01 08:30:47_method:initializeClaude-User0 mstrace
2026-06-30 23:30:55_method:tools/listClaude-User0 mstrace
2026-06-30 23:30:52_method:resources/listClaude-User0 mstrace
2026-06-30 23:30:50_method:notifications/initializedClaude-User0 mstrace
2026-06-30 23:30:47_method:initializeClaude-User0 mstrace
2026-06-30 23:30:45_method:tools/listClaude-User0 mstrace
2026-06-30 23:30:42_method:tools/listClaude-User0 mstrace
2026-06-30 23:30:41_method:resources/listClaude-User0 mstrace
2026-06-30 23:30:37_method:notifications/initializedClaude-User0 mstrace
2026-06-30 23:30:34_method:initializeClaude-User0 mstrace
2026-06-30 23:30:00_method:tools/listClaude-User0 mstrace
2026-06-30 23:30:00_method:tools/listClaude-User0 mstrace
2026-06-30 23:29:55_method:notifications/initializedClaude-User0 mstrace
2026-06-30 23:29:52_method:initializeClaude-User0 mstrace
2026-06-30 23:29:42_method:tools/listClaude-User0 mstrace
2026-06-30 23:29:42_method:tools/listClaude-User0 mstrace
2026-06-30 23:29:37_method:notifications/initializedClaude-User0 mstrace
2026-06-30 23:29:34_method:initializeClaude-User0 mstrace
2026-06-30 23:29:33_method:initializeClaude-User0 mstrace
2026-06-30 18:48:06_method:resources/listClaude-User0 mstrace
2026-06-30 18:48:03_method:tools/listClaude-User0 mstrace
2026-06-30 18:48:02_method:tools/listClaude-User0 mstrace
2026-06-30 18:47:59_method:notifications/initializedClaude-User0 mstrace

Crawler log — oasy / WAF (last 100)

AI crawler traffic (GPTBot, ClaudeBot, PerplexityBot, …) redirected by your WAF to the oasy landing page. Not MCP requests.
TimeToolUALatencyStatus
2026-07-30 16:11:00get_articleMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Claude/1.24012.1 Chrome/148.0.7778.280 Electron/42.7.0 Safari/537.36 MSIX657 msok
2026-07-30 16:10:59indexMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Claude/1.24012.1 Chrome/148.0.7778.280 Electron/42.7.0 Safari/537.36 MSIX669 msok
2026-07-30 16:10:58get_articleMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Claude/1.24012.1 Chrome/148.0.7778.280 Electron/42.7.0 Safari/537.36 MSIX3423 msok
2026-07-30 16:10:50get_articleMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Claude/1.24012.1 Chrome/148.0.7778.280 Electron/42.7.0 Safari/537.36 MSIX561 msok
2026-07-30 16:10:35get_articleMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Claude/1.24012.1 Chrome/148.0.7778.280 Electron/42.7.0 Safari/537.36 MSIX344 msok
2026-07-30 16:10:24llms_txtMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Claude/1.24012.1 Chrome/148.0.7778.280 Electron/42.7.0 Safari/537.36 MSIX672 msok