{
  "schema_version": "2025-06-18",
  "name": "bedrocknews.com",
  "description": "Read-only MCP server for BedrockNews — a structured, opinionated analysis layer over the news. 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).",
  "servers": [
    {
      "name": "bedrocknews",
      "transport": "streamable-http",
      "url": "https://api.bedrocknews.com/api/mcp",
      "authentication": "none",
      "install": "claude mcp add --transport http bedrocknews https://api.bedrocknews.com/api/mcp"
    }
  ],
  "tools": [
    { "name": "list_stories", "title": "Find stories", "description": "GRIN-aware discovery: filter stories by verdict (extractive/mixed/generative), plumb range, editorial mode, category, date, or title search.", "readOnly": true },
    { "name": "get_article", "title": "Read a story", "description": "Fetch one story with its full structured analysis; fields:'grin' for the analysis-only view.", "readOnly": true },
    { "name": "get_extraction_graph", "title": "Extraction graph", "description": "A story's extraction map as real nodes+edges data — re-renderable in any style.", "readOnly": true },
    { "name": "get_related", "title": "Related stories", "description": "Related stories for a given article.", "readOnly": true },
    { "name": "list_categories", "title": "Categories", "description": "The category taxonomy and each category's editorial framework.", "readOnly": true },
    { "name": "get_site_info", "title": "About BedrockNews", "description": "The frameworks, terms, machine surfaces, and full capability map — call this first.", "readOnly": true }
  ],
  "prompts": [
    { "name": "daily_plumb", "description": "Brief on today's highest-plumb (clearest-analysis) stories." },
    { "name": "extractive_or_generative", "description": "Sourced verdict on whether coverage of a topic is extractive or generative, via GRIN scores." },
    { "name": "map_extraction", "description": "Pull a story's extraction graph and re-render + narrate who extracts value from whom." },
    { "name": "research_radar", "description": "Triage recent research stories through the CLAIMS framework." }
  ],
  "resources": [
    { "uri": "bedrocknews://front-page", "description": "The current front page as structured JSON — story briefs with plumb, GRIN scores, verdicts." },
    { "uri": "https://bedrocknews.com/llms.txt", "description": "Curated site map + editorial-framework overview." },
    { "uri": "https://bedrocknews.com/llms-full.txt", "description": "The full API-for-agents reference (endpoints, filters, schema, terms)." },
    { "uri": "https://bedrocknews.com/schema/v1/article.json", "description": "Versioned JSON Schema for the article contract." }
  ],
  "related": {
    "agents_txt": "https://bedrocknews.com/agents.txt",
    "llms_txt": "https://bedrocknews.com/llms.txt",
    "llms_full_txt": "https://bedrocknews.com/llms-full.txt",
    "json_schema": "https://bedrocknews.com/schema/v1/article.json",
    "rest_api": "https://api.bedrocknews.com/api/articles"
  },
  "terms": {
    "attribution": "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}).",
    "access": "Open, read-only, no auth. Rate limited. Original source attribution (sourceUrl) must be preserved."
  },
  "discovery_help": {
    "note": "Call get_site_info for the full capability map — it lists every tool, prompt, and resource even if your client only surfaces some of them. Prompts and resources are exposed via the prompts/list and resources/list JSON-RPC methods (some clients only surface tools).",
    "claude_code": "claude mcp add --transport http bedrocknews https://api.bedrocknews.com/api/mcp",
    "claude_web": "Settings -> Connectors -> Add custom connector -> https://api.bedrocknews.com/api/mcp"
  }
}
