typesearch

News search for AI agents: recent news on any topic from outlets worldwide, by country and language.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
99%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~3,018Tokens (tool definitions)
~9.5 KBTypical response size
Significant attention impact (2.36% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "news": {
      "url": "https://api.typesearch.ai/mcp"
    }
  }
}

Remote endpoints

https://api.typesearch.ai/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

๐ŸŸข Read-only๐ŸŸก Write๐Ÿ”ด Deleteโšช Unknown
๐ŸŸขsearch_news(query, mode, max_results, days, published_after, ...)

Search recent news on any topic across a curated index of news outlets worldwide, judged by a relevance model. Returns the matching articles: title, link, source, date, country and language, standfirst, and short excerpts in the modes that read. Use it for current events and for what outlets reported about a company, person, place or topic. Defaults: mode "fast" (US$1.40 per 1,000 searches) and the last 7 days; mode "ultra" judges headlines only, for US$1.00.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 200,
      "description": "What to look for, in any language: a topic, event, person, company or place, such as \"inflation in Argentina\" or \"OpenAI funding\"."
    },
    "mode": {
      "default": "fast",
      "description": "fast (default): headlines and standfirsts ยท ultra (cheapest): headlines only ยท normal: also reads the best matches ยท deep: reads more, finds the topic in other words too.",
      "type": "string",
      "enum": [
        "ultra",
        "fast",
        "normal",
        "deep"
      ]
    },
    "max_results": {
      "default": 10,
      "description": "How many results, 1 to 25. Defaults to 10.",
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    },
    "days": {
      "description": "Only the last N days, 1 to 365. Defaults to 7 unless published_after or published_before are given.",
      "type": "integer",
      "minimum": 1,
      "maximum": 365
    },
    "published_after": {
      "description": "Published on or after this date: 2026-09-25, or a date-time with offset.",
      "anyOf": [
        {
          "type": "string",
          "format": "date",
          "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])))$"
        },
        {
          "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)))$"
        }
      ]
    },
    "published_before": {
      "description": "Published on or before this date; a bare date includes that whole day.",
      "anyOf": [
        {
          "type": "string",
          "format": "date",
          "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])))$"
        },
        {
          "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)))$"
        }
      ]
    },
    "include_domains": {
      "description": "Only these domains or paths, such as example.com or example.com/sports.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 200
      }
    },
    "exclude_domains": {
      "description": "Never these domains or paths.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 200
      }
    },
    "countries": {
      "description": "Only sources from these countries: ISO 3166-1 alpha-2 codes, such as [\"AR\"] or [\"US\", \"GB\"].",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 20
      }
    },
    "languages": {
      "description": "Only sources that publish in these languages: ISO 639-1 codes, such as [\"es\"] or [\"en\", \"pt\"].",
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 35
      }
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "mode": {
      "type": "string",
      "enum": [
        "ultra",
        "fast",
        "normal",
        "deep"
      ]
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "published_at": {
            "description": "ISO 8601, UTC, to the minute.",
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "snippet": {
            "description": "The standfirst, as the outlet published it (shortened).",
            "type": "string"
          },
          "highlights": {
            "description": "Short verbatim excerpts from reading the article.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "score": {
            "type": "number",
            "description": "Probability that the article is about the query."
          },
          "found_in": {
            "description": "Only when it was not found in the index: where it came from.",
            "type": "string",
            "enum": [
              "homepage",
              "section",
              "site_search",
              "discovery"
            ]
          }
        },
        "required": [
          "title",
          "url",
          "score"
        ],
        "additionalProperties": false
      }
    },
    "near_misses": {
      "description": "Only when nothing matched: the closest articles, which may not be about it.",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "published_at": {
            "description": "ISO 8601, UTC, to the minute.",
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "snippet": {
            "description": "The standfirst, as the outlet published it (shortened).",
            "type": "string"
          },
          "highlights": {
            "description": "Short verbatim excerpts from reading the article.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "score": {
            "type": "number",
            "description": "Probability that the article is about the query."
          },
          "found_in": {
            "description": "Only when it was not found in the index: where it came from.",
            "type": "string",
            "enum": [
              "homepage",
              "section",
              "site_search",
              "discovery"
            ]
          }
        },
        "required": [
          "title",
          "url",
          "score"
        ],
        "additionalProperties": false
      }
    },
    "incomplete": {
      "description": "The time or token budget ran out: there may be more.",
      "type": "boolean",
      "const": true
    },
    "cached": {
      "type": "boolean",
      "const": true
    },
    "cost_usd": {
      "type": "number"
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "message"
        ],
        "additionalProperties": false
      }
    },
    "request_id": {
      "type": "string"
    }
  },
  "required": [
    "query",
    "mode",
    "results",
    "cost_usd",
    "request_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
๐ŸŸขget_contents(urls, query)

Get the title, standfirst, date, source and a short verbatim excerpt (up to 25 words) of up to 10 news article URLs. With a query, the excerpt is the one about it and relevance says how much the article covers it. Never returns the full text. US$0.20 per 1,000 pages read (US$0.40 with a query); pages that fail are free.

Input Schema

{
  "type": "object",
  "properties": {
    "urls": {
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 2000
      },
      "description": "Up to 10 article URLs, such as https://example.com/news/article."
    },
    "query": {
      "description": "Optional: the excerpt is then the one about this query, with a relevance score.",
      "type": "string",
      "minLength": 2,
      "maxLength": 200
    }
  },
  "required": [
    "urls"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "ok",
              "error"
            ]
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "published_at": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "excerpt": {
            "type": "string"
          },
          "highlights": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "relevance": {
            "type": "number"
          },
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            },
            "required": [
              "code",
              "message"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "url",
          "status"
        ],
        "additionalProperties": false
      }
    },
    "cost_usd": {
      "type": "number"
    },
    "request_id": {
      "type": "string"
    }
  },
  "required": [
    "results",
    "cost_usd",
    "request_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
๐ŸŸขfind_similar(url, max_results, days)

Find other news articles about the same story as a given article URL, across the index (the last 7 days by default). Useful to see how other outlets covered a story. US$2.20 per 1,000 calls.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 2000,
      "description": "The article URL whose story to find elsewhere."
    },
    "max_results": {
      "default": 10,
      "description": "How many results, 1 to 25. Defaults to 10.",
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    },
    "days": {
      "description": "Only the last N days, 1 to 365. Defaults to 7.",
      "type": "integer",
      "minimum": 1,
      "maximum": 365
    }
  },
  "required": [
    "url"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "reference": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "title",
        "url"
      ],
      "additionalProperties": false
    },
    "mode": {
      "type": "string",
      "enum": [
        "ultra",
        "fast",
        "normal",
        "deep"
      ]
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "published_at": {
            "description": "ISO 8601, UTC, to the minute.",
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "snippet": {
            "description": "The standfirst, as the outlet published it (shortened).",
            "type": "string"
          },
          "highlights": {
            "description": "Short verbatim excerpts from reading the article.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "score": {
            "type": "number",
            "description": "Probability that the article is about the query."
          },
          "found_in": {
            "description": "Only when it was not found in the index: where it came from.",
            "type": "string",
            "enum": [
              "homepage",
              "section",
              "site_search",
              "discovery"
            ]
          }
        },
        "required": [
          "title",
          "url",
          "score"
        ],
        "additionalProperties": false
      }
    },
    "near_misses": {
      "description": "Only when nothing matched: the closest articles, which may not be about it.",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "published_at": {
            "description": "ISO 8601, UTC, to the minute.",
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "snippet": {
            "description": "The standfirst, as the outlet published it (shortened).",
            "type": "string"
          },
          "highlights": {
            "description": "Short verbatim excerpts from reading the article.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "score": {
            "type": "number",
            "description": "Probability that the article is about the query."
          },
          "found_in": {
            "description": "Only when it was not found in the index: where it came from.",
            "type": "string",
            "enum": [
              "homepage",
              "section",
              "site_search",
              "discovery"
            ]
          }
        },
        "required": [
          "title",
          "url",
          "score"
        ],
        "additionalProperties": false
      }
    },
    "incomplete": {
      "description": "The time or token budget ran out: there may be more.",
      "type": "boolean",
      "const": true
    },
    "cached": {
      "type": "boolean",
      "const": true
    },
    "cost_usd": {
      "type": "number"
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "message"
        ],
        "additionalProperties": false
      }
    },
    "request_id": {
      "type": "string"
    }
  },
  "required": [
    "mode",
    "results",
    "cost_usd",
    "request_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools