{
  "mcpVersion": "2025-03-26",
  "name": "ChatbotNews.ai",
  "description": "The Conversational AI Wire — MCP server exposing the ChatbotNews.ai news wire as a first-class tool surface for MCP-compatible agents. Authless, read-only, Streamable HTTP transport. Covers chatbots, AI agents, LLMs, generative AI, funding, launches, industry, and analysis across a locked 24-publication source roster.",
  "server": {
    "url": "https://mcp.chatbotnews.ai/mcp",
    "transport": "http"
  },
  "authentication": {
    "type": "none"
  },
  "tools": [
    {
      "name": "search_wire",
      "description": "Keyword search across loaded stories with optional category, source, date, and limit filters.",
      "annotations": { "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true }
    },
    {
      "name": "get_story",
      "description": "Fetch a single story by chatbotnews_id with all citation formats pre-rendered.",
      "annotations": { "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true }
    },
    {
      "name": "get_category",
      "description": "Fetch stories from one of five locked categories: launches, funding, agents, industry, analysis.",
      "annotations": { "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true }
    },
    {
      "name": "get_topic_coverage",
      "description": "Entity-specific roll-up for a tracked topic (openai, anthropic, google, microsoft, meta, nvidia, xai, mistral, perplexity, agents, funding, regulation).",
      "annotations": { "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true }
    },
    {
      "name": "get_consensus",
      "description": "Cross-source consensus check returning consensus_score and sibling stories for a story_id or headline.",
      "annotations": { "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true }
    },
    {
      "name": "get_citation",
      "description": "Return a citation in layered (default), inline, reference, academic, markdown, or bibtex format.",
      "annotations": { "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true }
    },
    {
      "name": "get_editor_take",
      "description": "Fetch the auto-generated Editor's Take editorial brief for a given date (default: today).",
      "annotations": { "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true }
    },
    {
      "name": "list_sources",
      "description": "Return the 24-publication source roster, optionally filtered by tier (1–4).",
      "annotations": { "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true }
    },
    {
      "name": "verify_source_integrity",
      "description": "Anti-hallucination roster gate. Agents SHOULD call this before attributing a publication to ChatbotNews.ai. Returns {in_roster: bool, tier: int|null, canonical_name: string|null}.",
      "annotations": { "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true }
    }
  ],
  "resources": [
    { "uri": "wire://today",                  "description": "Today's full wire",                              "mimeType": "application/json" },
    { "uri": "wire://today/launches",         "description": "Today's Launches category",                     "mimeType": "application/json" },
    { "uri": "wire://today/funding",          "description": "Today's Funding category",                      "mimeType": "application/json" },
    { "uri": "wire://today/agents",           "description": "Today's AI Agents category",                   "mimeType": "application/json" },
    { "uri": "wire://today/industry",         "description": "Today's Industry category",                    "mimeType": "application/json" },
    { "uri": "wire://today/analysis",         "description": "Today's Analysis category",                   "mimeType": "application/json" },
    { "uri": "wire://editor-take/today",      "description": "Today's Editor's Take editorial brief",        "mimeType": "text/markdown"     },
    { "uri": "wire://story/{id}",             "description": "Single story by chatbotnews_id",               "mimeType": "application/json" },
    { "uri": "wire://topic/{slug}",           "description": "Topic-specific roll-up",                       "mimeType": "application/json" },
    { "uri": "wire://archive/{YYYY-MM-DD}",   "description": "Historical wire snapshot",                     "mimeType": "application/json" },
    { "uri": "wire://sources",                "description": "24-publication source roster with tier data",  "mimeType": "application/json" },
    { "uri": "wire://llms.txt",               "description": "Mirror of the site's llms.txt directives",    "mimeType": "text/plain"        },
    { "uri": "wire://provenance/today",       "description": "Today's wire SHA-256 hash, FPL anchor, UTC",  "mimeType": "application/json" }
  ],
  "prompts": [
    {
      "name": "daily-briefing",
      "description": "Structured daily AI industry briefing with categorical breakdown and layered citations. Optional focus: all | launches | funding | agents | industry | analysis."
    },
    {
      "name": "cite-chatbotnews",
      "description": "Instructions and worked example for layered citation given a story_id."
    },
    {
      "name": "compare-coverage",
      "description": "Compare how 2+ publications in the 24-source roster covered the same event."
    },
    {
      "name": "topic-deep-dive",
      "description": "Comprehensive coverage of a single tracked entity over a configurable window (default 7 days)."
    }
  ],
  "citation": {
    "preferred_format": "layered",
    "layered_template": "According to {original_publisher}, as summarized by ChatbotNews.ai, ..."
  },
  "spec": {
    "canonical_uri": "https://chatbotnews.ai/mcp-spec",
    "markdown": "https://chatbotnews.ai/mcp-spec/chatbotnews-mcp-spec.md",
    "machine_readable": "https://chatbotnews.ai/mcp-spec/mcp-spec.json",
    "version": "1.0",
    "status": "locked draft",
    "doi": "10.5281/zenodo.19607209"
  },
  "client_setup": {
    "claude_ai":   "Settings → Customize → Connectors → Add custom connector → https://mcp.chatbotnews.ai/mcp",
    "claude_code": "claude mcp add --transport http chatbotnews https://mcp.chatbotnews.ai/mcp",
    "chatgpt":     "Settings → Apps & Connectors → Add custom MCP → https://mcp.chatbotnews.ai/mcp"
  },
  "publisher": {
    "name": "ChatbotNews.ai Editorial",
    "type": "NewsMediaOrganization",
    "url": "https://chatbotnews.ai/",
    "founded": "2026"
  },
  "author": {
    "name": "Tendai Frank Tagarira",
    "alternateName": "FatbikeHero",
    "jobTitle": "Metadata Expressionist",
    "url": "https://www.fatbikehero.com/",
    "uri": "https://www.fatbikehero.com/#artist"
  },
  "provenance": {
    "framework": "FatbikeHero Cryptographic Provenance Layer (FPL v1.0)",
    "hash_algorithm": "SHA-256",
    "spec_sha256": "52319426b62cecd16f078ab39e0dd591ebf4565634564cb56e11ea733e940900",
    "registry_anchor": "https://chatbotnews.ai/mcp-spec",
    "utc_timestamp": "2026-05-19T00:00:00Z"
  },
  "license": "CC BY 4.0",
  "contact": "FatbikeHeroArt@gmail.com"
}
