Read-only AI news with sources, Model Tracker prices, releases and retirement dates.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional. "Bearer moai_..." API key for the key's rate limits; without it the anonymous limits apply.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
For each model id (as written in code): the Model Tracker row, its lifecycle status, retirement date and precision, replacement, source page and when it was last checked. Match order: exact API id, API id in another case, tracker slug, display name; `match` says which. Ids the tracker does not hold are returned with found: false.
For each model id (as written in code): the Model Tracker row, its lifecycle status, retirement date and precision, replacement, source page and when it was last checked. Match order: exact API id, API id in another case, tracker slug, display name; `match` says which. Ids the tracker does not hold are returned with found: false.
| Argument | Type | Description |
|---|---|---|
| ids* | array |
{
"type": "object",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 50,
"minItems": 1
}
}
}Side-by-side Model Tracker rows for 2 to 6 model slugs.
| Argument | Type | Description |
|---|---|---|
| slugs* | array |
{
"type": "object",
"required": [
"slugs"
],
"properties": {
"slugs": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 6,
"minItems": 2
}
}
}Published corrections and retractions, newest first, optionally since an ISO 8601 time.
| Argument | Type | Description |
|---|---|---|
| since | string |
{
"type": "object",
"properties": {
"since": {
"type": "string",
"format": "date-time"
}
}
}Funding rounds of AI companies that Minutes of AI reported, newest first: date, stage, amount, lead investors, the article FundingData cites, our story. Filter by company (name, or our entity slug) and/or since (YYYY-MM-DD, round date). Round data from FundingData (fundingdata.com), attributed per record.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| since | string | YYYY-MM-DD |
| company | string |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1
},
"since": {
"type": "string",
"format": "date",
"description": "YYYY-MM-DD"
},
"company": {
"type": "string",
"maxLength": 120,
"minLength": 2
}
}
}Latest published stories, newest first, with status labels and sources (primary first).
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| topic | string | |
| format | string |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
},
"topic": {
"enum": [
"models",
"agents",
"chips",
"policy",
"funding",
"open_source",
"research",
"products",
"safety",
"enterprise",
"business",
"society"
],
"type": "string"
},
"format": {
"enum": [
"breaking",
"model_drop",
"the_number",
"money",
"explainer",
"rumor",
"for_the_minutes",
"standard",
"wire_link"
],
"type": "string"
}
}
}One Model Tracker row plus its applied changelog.
| Argument | Type | Description |
|---|---|---|
| slug* | string |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string"
}
}
}Model Tracker rows: category, release date, lab, modalities, context window, prices per 1M text tokens, license, availability, benchmarks labelled by who ran them, per-field sources with as-of dates. Preview and dated snapshot variants are folded into one row.
| Argument | Type | Description |
|---|---|---|
| lab | string | |
| category | string | |
| open_weights | boolean |
{
"type": "object",
"properties": {
"lab": {
"type": "string"
},
"category": {
"enum": [
"llm",
"image",
"audio",
"video",
"embedding",
"other"
],
"type": "string"
},
"open_weights": {
"type": "boolean"
}
}
}One Model Tracker model's applied changes since 2026-10-05 (input, output and cached input price per 1M text tokens by default, or one field), each with its source URL and time, plus the price step series. Prices are decimal strings as stored.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Model Tracker slug, as in /model-tracker/{slug} |
| field | string |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Model Tracker slug, as in /model-tracker/{slug}"
},
"field": {
"enum": [
"inputPrice",
"outputPrice",
"cachedInputPrice",
"contextWindow",
"maxOutput",
"releaseDate",
"modalitiesIn",
"modalitiesOut",
"lifecycle",
"deprecationDate",
"retirementDate",
"availability",
"license",
"openWeights",
"category",
"apiId",
"name"
],
"type": "string"
}
}
}One story with its full body (what changed, who it affects, key dates with precision, what happened, not yet known, why it matters, first reported by), sources, label history and corrections.
| Argument | Type | Description |
|---|---|---|
| slug* | string |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string"
}
}
}The latest 'The Number' figure with its source, plus the previous nine.
No arguments.
{
"type": "object",
"properties": {}
}Scheduled dates in AI, soonest first: regulation and standards dates (each with its official source), model retirements and deprecations (Model Tracker), price changes. Each date has its precision (exact, month, quarter, not_before, earliest, tentative) and dateText as the source states it. Filter by kinds, jurisdictions (EU, US, US-CA, UK, CN, ...), entity (our entity slug), from_date (YYYY-MM-DD, default today) and days (default 365).
| Argument | Type | Description |
|---|---|---|
| days | integer | |
| kinds | array | |
| limit | integer | |
| entity | string | |
| from_date | string | YYYY-MM-DD; default today (UTC) |
| jurisdictions | array |
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"default": 365,
"maximum": 3650,
"minimum": 1
},
"kinds": {
"type": "array",
"items": {
"enum": [
"model_retirement",
"model_deprecation_notice",
"price_change",
"regulation",
"standard",
"event"
],
"type": "string"
}
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 200,
"minimum": 1
},
"entity": {
"type": "string",
"maxLength": 120
},
"from_date": {
"type": "string",
"format": "date",
"description": "YYYY-MM-DD; default today (UTC)"
},
"jurisdictions": {
"type": "array",
"items": {
"type": "string",
"maxLength": 20
},
"maxItems": 20
}
}
}Model releases dated at or after an ISO 8601 time, newest first: model, lab, kind (new, version, preview, ga, open_weights), status (confirmed: a primary source from the lab's own channel; reported: none yet), the lab's announcement time, the release date the lab's model page states, when and where the release was first seen, the first primary source, the story and every source. A value the sources give only as a date has precision "day" and is written YYYY-MM-DD.
| Argument | Type | Description |
|---|---|---|
| lab | string | lab name or key, e.g. OpenAI or mistral-ai |
| kind | string | |
| limit | integer | |
| since* | string | ISO 8601 date or time |
{
"type": "object",
"required": [
"since"
],
"properties": {
"lab": {
"type": "string",
"description": "lab name or key, e.g. OpenAI or mistral-ai"
},
"kind": {
"enum": [
"new",
"version",
"preview",
"ga",
"open_weights"
],
"type": "string"
},
"limit": {
"type": "integer",
"default": 100,
"maximum": 200,
"minimum": 1
},
"since": {
"type": "string",
"description": "ISO 8601 date or time"
}
}
}Models with a retirement date on or before `before` (YYYY-MM-DD), soonest first, optionally for one lab: status, API id, date and precision, replacement, source. Tentative (not-before) dates are left out unless include_tentative is true.
| Argument | Type | Description |
|---|---|---|
| lab | string | lab name or key, e.g. OpenAI, mistral-ai |
| before* | string | YYYY-MM-DD |
| status | string | |
| include_tentative | boolean |
{
"type": "object",
"required": [
"before"
],
"properties": {
"lab": {
"type": "string",
"description": "lab name or key, e.g. OpenAI, mistral-ai"
},
"before": {
"type": "string",
"format": "date",
"description": "YYYY-MM-DD"
},
"status": {
"enum": [
"deprecated",
"retired"
],
"type": "string"
},
"include_tentative": {
"type": "boolean",
"default": false
}
}
}Requires an API key. The webhook subscriptions of the key: URL, events, filters, status (a disabled one says why), failures in a row, last success and last error. Never the secret.
No arguments.
{
"type": "object",
"properties": {}
}Applied Model Tracker price changes (input, output, cached input per 1M text tokens) since an ISO 8601 time, newest first, each with model, previous and new value as stored, source URL and time. History starts 2026-10-05.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| since* | string |
{
"type": "object",
"required": [
"since"
],
"properties": {
"limit": {
"type": "integer",
"default": 200,
"maximum": 500,
"minimum": 1
},
"since": {
"type": "string",
"format": "date-time"
}
}
}A model name or API id to Model Tracker rows. Tiers, first that matches: API id, slug, display name, entity alias, then a substring of a name or API id (3+ characters). `match` names the tier.
| Argument | Type | Description |
|---|---|---|
| name_or_api_id* | string |
{
"type": "object",
"required": [
"name_or_api_id"
],
"properties": {
"name_or_api_id": {
"type": "string",
"maxLength": 200,
"minLength": 2
}
}
}Full-text search over published headlines and ledes.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query* | string |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 30,
"minimum": 1
},
"query": {
"type": "string",
"minLength": 2
}
}
}Requires an API key. Registers an https URL that receives a signed POST (Standard Webhooks: webhook-id, webhook-timestamp, webhook-signature) for each story event: story.published, story.updated, story.label_changed, story.corrected, story.retracted (default story.published, story.corrected, story.retracted). Optional filters: formats, topics, labels. Returns the subscription and its signing secret (whsec_...), shown only once. At most 5 per key; five failed attempts in a row or a 410 disable it.
| Argument | Type | Description |
|---|---|---|
| url* | string | https URL on a public host (port 443 or 8443) |
| events | array | |
| labels | array | |
| topics | array | |
| formats | array | |
| description | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "https URL on a public host (port 443 or 8443)"
},
"events": {
"type": "array",
"items": {
"enum": [
"story.published",
"story.updated",
"story.label_changed",
"story.corrected",
"story.retracted"
],
"type": "string"
}
},
"labels": {
"type": "array",
"items": {
"enum": [
"confirmed",
"official",
"reported_single",
"rumor",
"benchmark_claim"
],
"type": "string"
}
},
"topics": {
"type": "array",
"items": {
"enum": [
"models",
"agents",
"chips",
"policy",
"funding",
"open_source",
"research",
"products",
"safety",
"enterprise",
"business",
"society"
],
"type": "string"
}
},
"formats": {
"type": "array",
"items": {
"enum": [
"breaking",
"model_drop",
"the_number",
"money",
"explainer",
"rumor",
"for_the_minutes",
"standard"
],
"type": "string"
}
},
"description": {
"type": "string",
"maxLength": 200
}
}
}Requires an API key. Deletes one of the key's webhook subscriptions by id, with its delivery log. Nothing more is sent to it.
| Argument | Type | Description |
|---|---|---|
| id* | string | subscription id from subscribe_webhook or list_webhooks |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "subscription id from subscribe_webhook or list_webhooks"
}
}
}Stories published, updated, relabelled, corrected or retracted since an ISO 8601 time (at most 7 days back), in pages of up to 500 events. If hasMore is true, call again with the same since and cursor=nextCursor. Poll this instead of re-reading the whole feed.
| Argument | Type | Description |
|---|---|---|
| since* | string | |
| cursor | integer | nextCursor from the previous page |
{
"type": "object",
"required": [
"since"
],
"properties": {
"since": {
"type": "string",
"format": "date-time"
},
"cursor": {
"type": "integer",
"minimum": 1,
"description": "nextCursor from the previous page"
}
}
}