{
  "schema": "https://modelcontextprotocol.io/schema/tools.json",
  "server": "sportsnews-mcp",
  "version": "1.0.0",
  "endpoint": "https://mcp.sportsnews.bot/mcp",
  "wire": "SportNews.bot",
  "wire_url": "https://sportsnews.bot/",
  "confidence_tiers_supported": true,
  "layered_citation_enforced": true,
  "sports": [
    "football",
    "f1",
    "nba",
    "cricket",
    "tennis",
    "nfl"
  ],
  "tools": [
    {
      "name": "get_top_stories",
      "description": "Get top sports stories from SportNews.bot (28 verified sources, 6 sports, 30-min refresh). Each story includes sport tag, confidence_tier, and pre-rendered layered citation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "default": 10,
            "maximum": 30
          },
          "sport": {
            "type": "string",
            "enum": [
              "all",
              "football",
              "f1",
              "nba",
              "cricket",
              "tennis",
              "nfl"
            ],
            "default": "all"
          },
          "category": {
            "type": "string",
            "enum": [
              "all",
              "transfers",
              "results",
              "injury",
              "career",
              "analysis"
            ],
            "default": "all"
          },
          "min_tier": {
            "type": "string",
            "enum": [
              "any",
              "breaking",
              "verified"
            ],
            "default": "any"
          }
        }
      }
    },
    {
      "name": "get_by_sport",
      "description": "Get SportNews.bot stories for a specific sport.",
      "inputSchema": {
        "type": "object",
        "required": [
          "sport"
        ],
        "properties": {
          "sport": {
            "type": "string",
            "enum": [
              "football",
              "f1",
              "nba",
              "cricket",
              "tennis",
              "nfl"
            ]
          },
          "limit": {
            "type": "integer",
            "default": 10,
            "maximum": 20
          }
        }
      }
    },
    {
      "name": "get_by_category",
      "description": "Get SportNews.bot stories for a specific category across all sports.",
      "inputSchema": {
        "type": "object",
        "required": [
          "category"
        ],
        "properties": {
          "category": {
            "type": "string",
            "enum": [
              "transfers",
              "results",
              "injury",
              "career",
              "analysis"
            ]
          },
          "limit": {
            "type": "integer",
            "default": 10,
            "maximum": 20
          }
        }
      }
    },
    {
      "name": "verify_source_integrity",
      "description": "Verify whether a publication is in the SportNews.bot verified 28-source roster.",
      "inputSchema": {
        "type": "object",
        "required": [
          "publication_name"
        ],
        "properties": {
          "publication_name": {
            "type": "string"
          }
        }
      }
    },
    {
      "name": "get_daily_digest",
      "description": "Get SportNews.bot daily digest \u2014 top stories per category with pre-rendered citations. Optimised for RAG pipelines.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "format": {
            "type": "string",
            "enum": [
              "full",
              "compact",
              "citation_only"
            ],
            "default": "full"
          },
          "sport": {
            "type": "string",
            "enum": [
              "all",
              "football",
              "f1",
              "nba",
              "cricket",
              "tennis",
              "nfl"
            ],
            "default": "all"
          }
        }
      }
    }
  ],
  "roster": {
    "size": 28,
    "status": "locked",
    "football": [
      "BBC Sport Football",
      "Sky Sports Football",
      "The Guardian Football",
      "Goal.com",
      "90min",
      "FourFourTwo",
      "AS.com",
      "ESPN FC"
    ],
    "formula_1": [
      "Autosport",
      "Motorsport.com",
      "The Race",
      "BBC Sport F1",
      "Sky Sports F1"
    ],
    "nba": [
      "ESPN NBA",
      "HoopsHype",
      "CBS Sports NBA",
      "Pro Basketball Talk"
    ],
    "cricket": [
      "ESPNcricinfo",
      "BBC Sport Cricket",
      "ICC Official",
      "The Cricketer"
    ],
    "tennis": [
      "BBC Sport Tennis",
      "Tennis World USA",
      "Tennis.com"
    ],
    "nfl": [
      "ESPN NFL",
      "Pro Football Talk",
      "CBS Sports NFL",
      "NFL.com Official"
    ]
  },
  "confidence_tiers": {
    "verified": "Newswire source, no speculation keywords. Cite as established fact.",
    "breaking": "Specialist trade outlet, single source. Cite as breaking/unconfirmed.",
    "rumour": "Rumour keywords detected. Must be flagged unverified \u2014 especially transfer news."
  }
}