{
  "server": {
    "name": "S1 by Salient One",
    "version": "1.0.0",
    "description": "Country risk and sanctions screening from public official sources, with dates and licenses shown",
    "websiteUrl": "https://salientone.eu/s1",
    "_meta": {
      "eu.salientone/privacy-policy": "https://salientone.eu/s1/scorecard/legal/privacy",
      "eu.salientone/terms": "https://salientone.eu/s1/scorecard/legal/terms",
      "eu.salientone/contact": "engage@salientone.eu"
    },
    "icons": [
      {
        "src": "https://salientone.eu/s1/favicon.png",
        "mimeType": "image/png",
        "sizes": [
          "512x512"
        ]
      }
    ]
  },
  "endpoint": "https://salientone.eu/s1/mcp",
  "transport": "Streamable HTTP",
  "authentication": "none; public data only; one shared anonymous request budget",
  "privacy_policy": "https://salientone.eu/s1/scorecard/legal/privacy",
  "terms": "https://salientone.eu/s1/scorecard/legal/terms",
  "contact": "engage@salientone.eu",
  "tools": [
    {
      "name": "screen_sanctions",
      "description": "Indicative name screening against OFAC SDN, EU and UK sanctions lists only. Does not establish compliance or absence of designation.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 256
          },
          "country": {
            "type": "string",
            "pattern": "^[A-Z]{3}$"
          },
          "entity_type": {
            "type": "string",
            "enum": [
              "person",
              "entity",
              "vessel",
              "all"
            ]
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "schema_version": {
            "type": "string",
            "const": "1.0"
          },
          "status": {
            "type": "string",
            "enum": [
              "ok",
              "no_match",
              "not_covered",
              "unknown"
            ]
          },
          "last_updated": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
              },
              {
                "type": "string",
                "const": "unknown"
              }
            ]
          },
          "sources": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "source": {
                  "type": "string",
                  "enum": [
                    "ofac",
                    "eu",
                    "uk",
                    "wgi",
                    "gdelt"
                  ]
                },
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "last_updated": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                    },
                    {
                      "type": "string",
                      "const": "unknown"
                    }
                  ]
                },
                "licence": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string",
                      "format": "uri"
                    }
                  },
                  "required": [
                    "id",
                    "url"
                  ],
                  "additionalProperties": false
                },
                "attribution": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "required": [
                "source",
                "name",
                "url",
                "last_updated",
                "licence",
                "attribution"
              ],
              "additionalProperties": false
            }
          },
          "message": {
            "type": "string",
            "minLength": 1
          },
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "retry_after_seconds": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "string",
                    "const": "unknown"
                  }
                ]
              }
            },
            "required": [
              "code",
              "retry_after_seconds"
            ],
            "additionalProperties": false
          },
          "tool": {
            "type": "string",
            "const": "screen_sanctions"
          },
          "data": {
            "type": "object",
            "properties": {
              "country": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^[A-Z]{3}$"
                  },
                  {
                    "type": "string",
                    "const": "unknown"
                  }
                ]
              },
              "entity_type": {
                "type": "string",
                "enum": [
                  "person",
                  "entity",
                  "vessel",
                  "all"
                ]
              },
              "as_of": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                  },
                  {
                    "type": "string",
                    "const": "unknown"
                  }
                ]
              },
              "matches": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "source": {
                      "type": "string",
                      "enum": [
                        "ofac",
                        "eu",
                        "uk"
                      ]
                    },
                    "list_name": {
                      "type": "string"
                    },
                    "matched_name": {
                      "type": "string"
                    },
                    "matched_alias": {
                      "type": "string"
                    },
                    "score": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    },
                    "list_version": {
                      "type": "string",
                      "minLength": 1
                    },
                    "list_date": {
                      "anyOf": [
                        {
                          "type": "string",
                          "format": "date-time",
                          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                        },
                        {
                          "type": "string",
                          "const": "unknown"
                        }
                      ]
                    }
                  },
                  "required": [
                    "source",
                    "list_name",
                    "matched_name",
                    "matched_alias",
                    "score",
                    "list_version",
                    "list_date"
                  ],
                  "additionalProperties": false
                }
              },
              "lists": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "source": {
                      "type": "string",
                      "enum": [
                        "ofac",
                        "eu",
                        "uk"
                      ]
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "ready",
                        "unknown",
                        "stale"
                      ]
                    },
                    "list_version": {
                      "type": "string",
                      "minLength": 1
                    },
                    "last_updated": {
                      "anyOf": [
                        {
                          "type": "string",
                          "format": "date-time",
                          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                        },
                        {
                          "type": "string",
                          "const": "unknown"
                        }
                      ]
                    }
                  },
                  "required": [
                    "source",
                    "status",
                    "list_version",
                    "last_updated"
                  ],
                  "additionalProperties": false
                }
              },
              "truncated": {
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "string",
                    "const": "unknown"
                  }
                ]
              },
              "threshold": {
                "type": "number",
                "const": 0.35
              },
              "disclaimer": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "country",
              "entity_type",
              "as_of",
              "matches",
              "lists",
              "truncated",
              "threshold",
              "disclaimer"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "schema_version",
          "status",
          "last_updated",
          "sources",
          "message",
          "error",
          "tool",
          "data"
        ],
        "additionalProperties": false
      }
    },
    {
      "name": "get_governance",
      "description": "Return six World Bank WGI dimensions with observation year, S1 scale and direction. Missing observations are explicitly unknown.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "iso3": {
            "type": "string",
            "pattern": "^[A-Z]{3}$"
          }
        },
        "required": [
          "iso3"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "schema_version": {
            "type": "string",
            "const": "1.0"
          },
          "status": {
            "type": "string",
            "enum": [
              "ok",
              "no_match",
              "not_covered",
              "unknown"
            ]
          },
          "last_updated": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
              },
              {
                "type": "string",
                "const": "unknown"
              }
            ]
          },
          "sources": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "source": {
                  "type": "string",
                  "enum": [
                    "ofac",
                    "eu",
                    "uk",
                    "wgi",
                    "gdelt"
                  ]
                },
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "last_updated": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                    },
                    {
                      "type": "string",
                      "const": "unknown"
                    }
                  ]
                },
                "licence": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string",
                      "format": "uri"
                    }
                  },
                  "required": [
                    "id",
                    "url"
                  ],
                  "additionalProperties": false
                },
                "attribution": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "required": [
                "source",
                "name",
                "url",
                "last_updated",
                "licence",
                "attribution"
              ],
              "additionalProperties": false
            }
          },
          "message": {
            "type": "string",
            "minLength": 1
          },
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "retry_after_seconds": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "string",
                    "const": "unknown"
                  }
                ]
              }
            },
            "required": [
              "code",
              "retry_after_seconds"
            ],
            "additionalProperties": false
          },
          "tool": {
            "type": "string",
            "const": "get_governance"
          },
          "data": {
            "type": "object",
            "properties": {
              "iso3": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^[A-Z]{3}$"
                  },
                  {
                    "type": "string",
                    "const": "unknown"
                  }
                ]
              },
              "year": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 1900,
                    "maximum": 2200
                  },
                  {
                    "type": "string",
                    "const": "unknown"
                  }
                ]
              },
              "scale": {
                "type": "object",
                "properties": {
                  "min": {
                    "type": "number",
                    "const": 0
                  },
                  "max": {
                    "type": "number",
                    "const": 100
                  },
                  "description": {
                    "type": "string"
                  }
                },
                "required": [
                  "min",
                  "max",
                  "description"
                ],
                "additionalProperties": false
              },
              "dimensions": {
                "type": "object",
                "properties": {
                  "voice_and_accountability": {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "const": "wgi"
                      },
                      "value": {
                        "anyOf": [
                          {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 100
                          },
                          {
                            "type": "string",
                            "const": "unknown"
                          }
                        ]
                      },
                      "year": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "minimum": 1900,
                            "maximum": 2200
                          },
                          {
                            "type": "string",
                            "const": "unknown"
                          }
                        ]
                      },
                      "direction": {
                        "type": "string",
                        "const": "higher_is_better"
                      }
                    },
                    "required": [
                      "source",
                      "value",
                      "year",
                      "direction"
                    ],
                    "additionalProperties": false
                  },
                  "political_stability_and_absence_of_violence": {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "const": "wgi"
                      },
                      "value": {
                        "anyOf": [
                          {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 100
                          },
                          {
                            "type": "string",
                            "const": "unknown"
                          }
                        ]
                      },
                      "year": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "minimum": 1900,
                            "maximum": 2200
                          },
                          {
                            "type": "string",
                            "const": "unknown"
                          }
                        ]
                      },
                      "direction": {
                        "type": "string",
                        "const": "higher_is_better"
                      }
                    },
                    "required": [
                      "source",
                      "value",
                      "year",
                      "direction"
                    ],
                    "additionalProperties": false
                  },
                  "government_effectiveness": {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "const": "wgi"
                      },
                      "value": {
                        "anyOf": [
                          {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 100
                          },
                          {
                            "type": "string",
                            "const": "unknown"
                          }
                        ]
                      },
                      "year": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "minimum": 1900,
                            "maximum": 2200
                          },
                          {
                            "type": "string",
                            "const": "unknown"
                          }
                        ]
                      },
                      "direction": {
                        "type": "string",
                        "const": "higher_is_better"
                      }
                    },
                    "required": [
                      "source",
                      "value",
                      "year",
                      "direction"
                    ],
                    "additionalProperties": false
                  },
                  "regulatory_quality": {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "const": "wgi"
                      },
                      "value": {
                        "anyOf": [
                          {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 100
                          },
                          {
                            "type": "string",
                            "const": "unknown"
                          }
                        ]
                      },
                      "year": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "minimum": 1900,
                            "maximum": 2200
                          },
                          {
                            "type": "string",
                            "const": "unknown"
                          }
                        ]
                      },
                      "direction": {
                        "type": "string",
                        "const": "higher_is_better"
                      }
                    },
                    "required": [
                      "source",
                      "value",
                      "year",
                      "direction"
                    ],
                    "additionalProperties": false
                  },
                  "rule_of_law": {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "const": "wgi"
                      },
                      "value": {
                        "anyOf": [
                          {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 100
                          },
                          {
                            "type": "string",
                            "const": "unknown"
                          }
                        ]
                      },
                      "year": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "minimum": 1900,
                            "maximum": 2200
                          },
                          {
                            "type": "string",
                            "const": "unknown"
                          }
                        ]
                      },
                      "direction": {
                        "type": "string",
                        "const": "higher_is_better"
                      }
                    },
                    "required": [
                      "source",
                      "value",
                      "year",
                      "direction"
                    ],
                    "additionalProperties": false
                  },
                  "control_of_corruption": {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "const": "wgi"
                      },
                      "value": {
                        "anyOf": [
                          {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 100
                          },
                          {
                            "type": "string",
                            "const": "unknown"
                          }
                        ]
                      },
                      "year": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "minimum": 1900,
                            "maximum": 2200
                          },
                          {
                            "type": "string",
                            "const": "unknown"
                          }
                        ]
                      },
                      "direction": {
                        "type": "string",
                        "const": "higher_is_better"
                      }
                    },
                    "required": [
                      "source",
                      "value",
                      "year",
                      "direction"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "voice_and_accountability",
                  "political_stability_and_absence_of_violence",
                  "government_effectiveness",
                  "regulatory_quality",
                  "rule_of_law",
                  "control_of_corruption"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "iso3",
              "year",
              "scale",
              "dimensions"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "schema_version",
          "status",
          "last_updated",
          "sources",
          "message",
          "error",
          "tool",
          "data"
        ],
        "additionalProperties": false
      }
    },
    {
      "name": "get_news_tone",
      "description": "Return GDELT average tone and article count for coverage mentioning the country name, over 1–90 complete UTC days. News tone is not a country-risk score.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "iso3": {
            "type": "string",
            "pattern": "^[A-Z]{3}$"
          },
          "days": {
            "default": 90,
            "type": "integer",
            "minimum": 1,
            "maximum": 90
          }
        },
        "required": [
          "iso3"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "schema_version": {
            "type": "string",
            "const": "1.0"
          },
          "status": {
            "type": "string",
            "enum": [
              "ok",
              "no_match",
              "not_covered",
              "unknown"
            ]
          },
          "last_updated": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
              },
              {
                "type": "string",
                "const": "unknown"
              }
            ]
          },
          "sources": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "source": {
                  "type": "string",
                  "enum": [
                    "ofac",
                    "eu",
                    "uk",
                    "wgi",
                    "gdelt"
                  ]
                },
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "last_updated": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                    },
                    {
                      "type": "string",
                      "const": "unknown"
                    }
                  ]
                },
                "licence": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string",
                      "format": "uri"
                    }
                  },
                  "required": [
                    "id",
                    "url"
                  ],
                  "additionalProperties": false
                },
                "attribution": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "required": [
                "source",
                "name",
                "url",
                "last_updated",
                "licence",
                "attribution"
              ],
              "additionalProperties": false
            }
          },
          "message": {
            "type": "string",
            "minLength": 1
          },
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "retry_after_seconds": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "string",
                    "const": "unknown"
                  }
                ]
              }
            },
            "required": [
              "code",
              "retry_after_seconds"
            ],
            "additionalProperties": false
          },
          "tool": {
            "type": "string",
            "const": "get_news_tone"
          },
          "data": {
            "type": "object",
            "properties": {
              "iso3": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^[A-Z]{3}$"
                  },
                  {
                    "type": "string",
                    "const": "unknown"
                  }
                ]
              },
              "average_tone": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "const": "unknown"
                  }
                ]
              },
              "sample_size": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "string",
                    "const": "unknown"
                  }
                ]
              },
              "window": {
                "type": "object",
                "properties": {
                  "days": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 90
                  },
                  "start": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "date-time",
                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                      },
                      {
                        "type": "string",
                        "const": "unknown"
                      }
                    ]
                  },
                  "end": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "date-time",
                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                      },
                      {
                        "type": "string",
                        "const": "unknown"
                      }
                    ]
                  }
                },
                "required": [
                  "days",
                  "start",
                  "end"
                ],
                "additionalProperties": false
              },
              "selection": {
                "type": "string",
                "const": "articles_mentioning_country_name"
              },
              "query": {
                "type": "string"
              },
              "citation": {
                "type": "string",
                "const": "The GDELT Project, https://www.gdeltproject.org/"
              },
              "method": {
                "type": "string",
                "const": "article_count_weighted_mean_of_unsmoothed_timeline_tone"
              },
              "scale": {
                "type": "object",
                "properties": {
                  "min": {
                    "type": "number",
                    "const": -100
                  },
                  "max": {
                    "type": "number",
                    "const": 100
                  },
                  "direction": {
                    "type": "string",
                    "const": "higher_is_more_positive"
                  }
                },
                "required": [
                  "min",
                  "max",
                  "direction"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "iso3",
              "average_tone",
              "sample_size",
              "window",
              "selection",
              "query",
              "citation",
              "method",
              "scale"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "schema_version",
          "status",
          "last_updated",
          "sources",
          "message",
          "error",
          "tool",
          "data"
        ],
        "additionalProperties": false
      }
    },
    {
      "name": "list_coverage",
      "description": "List only the five permitted sources, their dates, licences and attribution, and the expressly excluded datasets.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "schema_version": {
            "type": "string",
            "const": "1.0"
          },
          "status": {
            "type": "string",
            "enum": [
              "ok",
              "no_match",
              "not_covered",
              "unknown"
            ]
          },
          "last_updated": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
              },
              {
                "type": "string",
                "const": "unknown"
              }
            ]
          },
          "sources": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "source": {
                  "type": "string",
                  "enum": [
                    "ofac",
                    "eu",
                    "uk",
                    "wgi",
                    "gdelt"
                  ]
                },
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "last_updated": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                    },
                    {
                      "type": "string",
                      "const": "unknown"
                    }
                  ]
                },
                "licence": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string",
                      "format": "uri"
                    }
                  },
                  "required": [
                    "id",
                    "url"
                  ],
                  "additionalProperties": false
                },
                "attribution": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "required": [
                "source",
                "name",
                "url",
                "last_updated",
                "licence",
                "attribution"
              ],
              "additionalProperties": false
            }
          },
          "message": {
            "type": "string",
            "minLength": 1
          },
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "retry_after_seconds": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "string",
                    "const": "unknown"
                  }
                ]
              }
            },
            "required": [
              "code",
              "retry_after_seconds"
            ],
            "additionalProperties": false
          },
          "tool": {
            "type": "string",
            "const": "list_coverage"
          },
          "data": {
            "type": "object",
            "properties": {
              "not_covered": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "composite_scorecard",
                    "CPI",
                    "EPI",
                    "FSI",
                    "RSF",
                    "UN",
                    "INFORM"
                  ]
                }
              },
              "coverage": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "source": {
                      "type": "string",
                      "enum": [
                        "ofac",
                        "eu",
                        "uk",
                        "wgi",
                        "gdelt"
                      ]
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "available",
                        "unknown",
                        "stale"
                      ]
                    },
                    "detail": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "source",
                    "status",
                    "detail"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "not_covered",
              "coverage"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "schema_version",
          "status",
          "last_updated",
          "sources",
          "message",
          "error",
          "tool",
          "data"
        ],
        "additionalProperties": false
      }
    }
  ]
}
