# agents.txt — BedrockNews (bedrocknews.com) # # Terms and endpoints for automated agents. Companion to /llms.txt, which is # the prose overview, and /llms-full.txt, the full API-for-agents reference; # this file is the machine contract. Nothing here is new: it is the same # posture already stated in /robots.txt, /llms.txt, /llms-full.txt, # /.well-known/mcp.json and /terms, packaged in one place. If this file and # one of those ever disagree: /terms is the authority on licensing and use # rights, /robots.txt wins on crawl policy, and /.well-known/mcp.json wins on # the MCP roster. ## Posture Agents are welcome to read. BedrockNews is a structured, opinionated analysis layer over the news, built to be read by machines: every story ships with a machine-readable GRIN/CLAIMS/NOVEL decomposition, a 0-100 plumb (analytical clarity) score, and a re-renderable extraction graph (nodes + edges, not a picture). Crawling is allowed, including by AI crawlers, which /robots.txt welcomes by name rather than by omission: 11 named groups (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-Web, anthropic-ai, PerplexityBot, Perplexity-User, Google-Extended, Applebot-Extended, CCBot). The read APIs below need no authentication. Reading, citing, and summarizing published content with attribution is permitted. **Rights are narrower than "crawling is allowed."** /terms grants a limited, non-commercial, personal-use license (§6) and separately prohibits, without our prior written permission: systematic scraping/harvesting beyond what's "expressly permitted... in writing" (§5), and training or fine-tuning a machine learning or AI model on Service content (§5). Fetching pages and calling the read APIs below is the permission already granted here; bulk extraction, commercial use, or training a model on this content is NOT — that needs separate written permission. See https://bedrocknews.com/terms. **/dev/ — scoped, not blanket.** Do not fetch /dev/ for training or citation if you are an AI/training/citation crawler. Those are design mocks — invented content, not reporting. They 404 on production and still render (200, noindex) on dev and preview hosts, which serve this same file. This is NOT identical to /robots.txt's rule: only the 11 named AI-crawler groups there carry `Disallow: /dev/`. The `User-agent: *` group deliberately has NO Disallow, because search engines can only drop the old indexed URLs by recrawling them and observing the 404 — a blanket Disallow would block that recrawl. So: general web crawlers and search engines may fetch /dev/ (to see the 404); agents reading for AI training or citation should not. ## Terms of use - GRIN/CLAIMS/NOVEL scores and verdicts are BedrockNews's disclosed editorial lens, not neutral fact. Attribute verdicts to BedrockNews and link the canonical article (https://bedrocknews.com/article/{id}). - Preserve upstream provenance. BedrockNews transforms stories from public news sources and always keeps the original attribution via `sourceUrl`. Whether `sourceUrl` is present on a given payload depends on the fields you requested (e.g. `?fields=id,title` omits it; the default article shape includes it). A full `provenance` block (publisher, original source and URL, publish date, retrieval time) is attached on two calls only: the single-article read and the extraction-graph read. List/related results carry the equivalent fields inline (sourceUrl, newsSource, publishedAt) but not the nested block. Carry whichever you get into the ANSWER your reader sees — naming BedrockNews and the original source — not just the tool trace. - Suggested attribution form: "Source: BedrockNews (bedrocknews.com), originally from [original source]". - Do not present transformed content as the original publisher's words, and do not present /dev/ mock content as BedrockNews reporting. - Full license terms, including the non-commercial-use limit and the training restriction, are at https://bedrocknews.com/terms (§5 Acceptable Use, §6 Intellectual Property). This file is a discovery aid, not a substitute for reading it. ## Rate limits - REST (https://api.bedrocknews.com/api/...): open, no auth. Heavily-filtered list queries are scan-capped per request and return a partial page plus a `nextCursor` — keep paginating to continue. Rate limiting may be tightened at firehose scale. Be a good citizen: cache, and don't hammer. - MCP (https://api.bedrocknews.com/api/mcp) batch size: a single request carries at most 20 JSON-RPC messages. Over that, the endpoint answers with HTTP 200 and JSON-RPC error -32600 (Invalid Request) — the request is rejected outright, not queued or throttled. - MCP (https://api.bedrocknews.com/api/mcp) rate limit: advisory, best-effort cap of 60 JSON-RPC messages per minute per IP (batched messages count individually). This is NOT a hard quota: the counter is instance-local and resets on cold start, so real throughput scales with concurrent Lambda instances — treat it as a hammer blunter, not a guarantee. Over the cap in a given instance, that instance answers HTTP 429 with JSON-RPC error -32000. ## Endpoints REST API (open, no auth) — list/discover stories: https://api.bedrocknews.com/api/articles Single article: https://api.bedrocknews.com/api/article/{id} Related articles: https://api.bedrocknews.com/api/articles/related?id={id}&limit={n} Extraction graph: https://api.bedrocknews.com/api/extraction-graph/{id} Categories: https://api.bedrocknews.com/api/categories Comments on a story: https://api.bedrocknews.com/api/comments?postId={id} MCP server (streamable HTTP, JSON-RPC 2.0, no auth): https://api.bedrocknews.com/api/mcp Manifest (read this before connecting): https://bedrocknews.com/.well-known/mcp.json Versioned JSON Schema for the article contract (draft-07): https://bedrocknews.com/schema/v1/article.json List: https://bedrocknews.com/schema/v1/articles.json Extraction graph: https://bedrocknews.com/schema/v1/extraction-graph.json Prose overview of the site and the editorial frameworks: https://bedrocknews.com/llms.txt Full API-for-agents reference (endpoints, filters, schema, terms): https://bedrocknews.com/llms-full.txt Crawl policy: https://bedrocknews.com/robots.txt Terms of Service (licensing authority — read before bulk/commercial/training use): https://bedrocknews.com/terms Route map: https://bedrocknews.com/sitemap.xml Registry namespace authorization (ed25519 public key): https://bedrocknews.com/.well-known/mcp-registry-auth ## Install Claude Code: claude mcp add --transport http bedrocknews https://api.bedrocknews.com/api/mcp claude.ai: Settings -> Connectors -> Add custom connector -> https://api.bedrocknews.com/api/mcp ## Start here Call `get_site_info` first. It returns the full capability map — every tool, prompt and resource — even if your client only surfaces some of them. Prompts and resources live behind the `prompts/list` and `resources/list` JSON-RPC methods, which tool-only clients never call. Tools: list_stories, get_article, get_extraction_graph, get_related, list_categories, get_site_info Prompts: daily_plumb, extractive_or_generative, map_extraction, research_radar Resources: bedrocknews://front-page, plus /llms.txt, /llms-full.txt and the JSON Schema `get_extraction_graph` returns real nodes and edges rather than an image, so you can re-render a story's extraction map in your own style. `list_stories` filters on the analysis itself: verdict (extractive/mixed/generative), plumb range, editorial mode, category, date, title search. `get_related` (MCP) has a REST equivalent: GET /api/articles/related?id={id}&limit={n}, above. ## Contact Website: https://bedrocknews.com Email: legal@bedrocknews.com — licensing, rate limits, agent access Creator: Erik Bethke (https://erikbethke.com)