Verified world changes with sources: topics, companies, countries, SeekEarth and evidence receipts.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer followed by your AiSeek API key (ask_live_…), made on aiseek.dev/en/account
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.
Get one published change with its scores, main subject and every outlet that reported it (name, link, date, evidence level, role). Use it after list_changes, search_changes or get_topic to see who reported a change; for its receipts and what AiSeek knew earlier use get_change_history. Parameters: id is the change UUID from those tools, or the last part of an aiseek.dev/{locale}/signals/{id} link; locale translates headline and summary only, while source names and links are the same in every language. Behavior: scores and sources can grow as later reports arrive, so a second call may return more; quoted passages are never returned; a dossierId points to https://aiseek.dev/{locale}/stories/{dossierId}, which no tool returns; a withdrawn or unknown id is an error. One call of the key's quota (Free keys have a daily MCP cap); a rejected argument costs nothing.
The change id: a UUID such as 3f2b8c1e-5a47-4d0e-9b6a-1c7e2d8f4a90, taken from the id of an item in list_changes, search_changes or get_topic; an unpublished id is an error
Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set)
Get one published change with its scores, main subject and every outlet that reported it (name, link, date, evidence level, role). Use it after list_changes, search_changes or get_topic to see who reported a change; for its receipts and what AiSeek knew earlier use get_change_history. Parameters: id is the change UUID from those tools, or the last part of an aiseek.dev/{locale}/signals/{id} link; locale translates headline and summary only, while source names and links are the same in every language. Behavior: scores and sources can grow as later reports arrive, so a second call may return more; quoted passages are never returned; a dossierId points to https://aiseek.dev/{locale}/stories/{dossierId}, which no tool returns; a withdrawn or unknown id is an error. One call of the key's quota (Free keys have a daily MCP cap); a rejected argument costs nothing.
| Argument | Type | Description |
|---|---|---|
| id* | string | The change id: a UUID such as 3f2b8c1e-5a47-4d0e-9b6a-1c7e2d8f4a90, taken from the id of an item in list_changes, search_changes or get_topic; an unpublished id is an error |
| locale | string | Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The change id: a UUID such as 3f2b8c1e-5a47-4d0e-9b6a-1c7e2d8f4a90, taken from the id of an item in list_changes, search_changes or get_topic; an unpublished id is an error"
},
"locale": {
"enum": [
"zh",
"en",
"ja"
],
"type": "string",
"description": "Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set)"
}
}
}Get how AiSeek's evidence record for one published change developed: its receipts per claim, newest first, each naming its parent so the revision chain reads from the list, and the change as first published when the plan reaches that date. A receipt records an assessment; it is not a certificate that a claim is true. Use it for what-did-we-know-then questions and to find receipt ids for get_receipt; for today's view use get_change. Parameters: id is the change id; known_at adds the change as known at that moment, e.g. 2026-10-08 (a date alone means 00:00 UTC) or 2026-10-08T12:00:00Z; it must not be in the future and must fall within the plan's window (Free 7 days, Pro 30, Intelligence 90, Developer 180). Behavior: history starts the day SeekTrace began, before which the answer says precision EXISTENCE_ONLY; old headline text is not kept. One call of the key's quota (Free keys have a daily MCP cap); a rejected argument costs nothing.
| Argument | Type | Description |
|---|---|---|
| id* | string | The change id: a UUID such as 3f2b8c1e-5a47-4d0e-9b6a-1c7e2d8f4a90, the same id get_change takes, from list_changes or search_changes |
| locale | string | Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set) |
| known_at | string | An earlier moment to read the change as of: an ISO 8601 date or date-time with a zone (e.g. 2026-10-08 or 2026-10-08T12:00:00Z), not in the future and not before the plan's window (Free 7 days back, Pro 30, Intelligence 90, Developer 180); omit for the receipts only |
Get a company's AiSeek profile: name, home country, legal name, website, listings, description, recent published changes, the facts AiSeek states about it and its relations to other entities. Use it after search_companies. Do not use it to search by name (search_companies) or for news about the company (search_changes). Parameters: slug is the exact company slug from search_companies (e.g. toyota); locale changes names, descriptions and headlines. Behavior: a description from Wikipedia carries its link (CC BY-SA 4.0); filings are left out; an unknown slug is an error. One call of the key's quota (Free keys have a daily MCP cap); a rejected argument costs nothing.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The exact AiSeek company slug (lower case letters, digits and hyphens, e.g. toyota), taken from search_companies |
| locale | string | Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,99}$",
"description": "The exact AiSeek company slug (lower case letters, digits and hyphens, e.g. toyota), taken from search_companies"
},
"locale": {
"enum": [
"zh",
"en",
"ja"
],
"type": "string",
"description": "Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set)"
}
}
}Get SeekEarth's Change Heat per country: how much verified change each country had against its own recent normal, 0 to 100, where 50 is an ordinary day; it measures change, never danger or instability. Use it to see where things are changing; for all country codes use list_countries, for the changes themselves search_changes, for one place at one moment get_earth_view. Parameters: country (e.g. jp or JP) narrows the answer to one country, otherwise the 60 hottest come back; days sets the window, e.g. 1 for today against normal or 30 for a month; domain (e.g. MARKETS) counts one coverage domain. Behavior: a days value above the plan's cap (Free 7, Pro 30, Intelligence and Developer 90) is cut to the cap without an error, and days/maxDays in the answer show what was used; heat is computed once a day (asOf); changes with no single country are left out. One call of the key's quota (Free keys have a daily MCP cap); a rejected argument costs nothing.
| Argument | Type | Description |
|---|---|---|
| days | integer | Window in days, 1 to 90 (default 7); capped by the key's plan: Free 7, Pro 30, Intelligence and Developer 90 |
| domain | string | Only changes of this coverage domain; omit for the connection's default domain, or all domains when none is set |
| locale | string | Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set) |
| country | string | ISO 3166-1 alpha-2 country code, e.g. JP or US, upper or lower case; omit for every country (the 60 hottest) |
Get SeekEarth for one place and moment: the published changes placed there, the Change Heat of its countries, and the Earth's layer items in force (disaster alerts, cyclones, official warnings, conflict, outbreaks, river levels and more), each with its nature and source to credit. Use it for where-and-when questions; for heat across all countries use get_country_heat, for the country list list_countries, for changes by subject search_changes. Parameters: give country, or lat with lon and a radius_km circle; at sets the moment and days the window before it; mode NOW reads today's knowledge of those days, KNOWN what readers could see at the time; layers narrows the Earth layers. Behavior: at most 30 changes, most important first; in KNOWN mode changes withdrawn since are only counted (withdrawnLater); a place is required. One call of the key's quota (Free keys have a daily MCP cap); a rejected argument costs nothing.
| Argument | Type | Description |
|---|---|---|
| at | string | The moment to read, ISO 8601 date or date-time with a zone (default now); not in the future and within the plan's reach |
| lat | number | Latitude of the place in degrees (with lon); the place is a circle of radius_km around it |
| lon | number | Longitude of the place in degrees (with lat) |
| days | integer | Window in days before `at`, 1 to 180 (default 7); capped by the key's plan |
| mode | string | NOW (default): today's knowledge of the window; KNOWN: what readers could see at `at` |
Get the latest brief: AiSeek's own summary of a period's changes, grouped by section, each item linking to its page. Use it for a digest; for the raw newest-first list use list_changes, for a subject get_topic or search_changes. Parameters: type DAILY (the default) covers the last UTC day, WEEKLY the last week plus its largest market moves and the coming week's events; locale picks that language's edition of the same brief (zh, en or ja). Behavior: on a Free key a brief opens one day after publication; a younger one returns only title and summary with locked true and unlocksAt; an error if none has been published yet. One call of the key's quota (Free keys have a daily MCP cap); a rejected argument costs nothing.
| Argument | Type | Description |
|---|---|---|
| type | string | DAILY (the default): one UTC day's changes; WEEKLY: the week's changes with market moves and the week ahead |
| locale | string | Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"type": {
"enum": [
"DAILY",
"WEEKLY"
],
"type": "string",
"default": "DAILY",
"description": "DAILY (the default): one UTC day's changes; WEEKLY: the week's changes with market moves and the week ahead"
},
"locale": {
"enum": [
"zh",
"en",
"ja"
],
"type": "string",
"description": "Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set)"
}
}
}Get one SeekTrace evidence receipt: the immutable record of how AiSeek assessed one claim (class FACT, SUPPORTED or HYPOTHESIS, statuses, valid time, evidence links and digests, independence counts, parent receipt, sha256 digest). A receipt records an assessment; it is not a certificate that a claim is true. Use it to read what a receipt says; to check the stored record is unchanged use verify_receipt. Parameters: id is a receipt id from get_change_history (receipts[].id), never a change id; pass the same id to verify_receipt; locale translates only the notice, the record itself is language-neutral. Behavior: a receipt never changes once written (a revision is a new receipt with this one as parent); only public receipts are readable, on every plan; withheld source links are counted in redactedEvidence. One call of the key's quota (Free keys have a daily MCP cap); a rejected argument costs nothing.
| Argument | Type | Description |
|---|---|---|
| id* | string | The receipt id: a UUID such as 7d1e4a52-0c3b-4f68-a9d2-5e8b1c6f3a07, taken from receipts[].id in the get_change_history result; only public receipts can be read |
| locale | string | Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The receipt id: a UUID such as 7d1e4a52-0c3b-4f68-a9d2-5e8b1c6f3a07, taken from receipts[].id in the get_change_history result; only public receipts can be read"
},
"locale": {
"enum": [
"zh",
"en",
"ja"
],
"type": "string",
"description": "Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set)"
}
}
}Get one published topic and up to 50 of its published changes from the last 90 days, most relevant first. Use it after list_topics to read what is happening in a subject; for words that are not a topic use search_changes, for the newest changes overall list_changes. Parameters: slug is the topic's slug exactly as list_topics returns it; locale changes names and headlines. Behavior: a topic with no recent change returns its profile and an empty list; an unknown slug is an error. One call of the key's quota (Free keys have a daily MCP cap); a rejected argument costs nothing.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The topic slug (lower case letters, digits and hyphens), taken from list_topics |
| locale | string | Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,99}$",
"description": "The topic slug (lower case letters, digits and hyphens), taken from list_topics"
},
"locale": {
"enum": [
"zh",
"en",
"ja"
],
"type": "string",
"description": "Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set)"
}
}
}List the newest published changes on AiSeek (verified changes in economy, markets, policy, technology, companies and science), newest first, 20 per page. Use it to see what is new; to look for a subject, company or country use search_changes, to browse a curated subject use list_topics, and for a digest use get_latest_brief. Parameters: start at page 0 and pass page + 1 while hasMore is true; locale only changes the language of headlines. Behavior: new changes appear as they are published, so page 0 can shift between calls; pages stop at 25 (500 changes). One call of the key's quota (Free keys have a daily MCP cap); a rejected argument costs nothing.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 0 (the newest 20); each page has 20 changes, up to page 25 |
| locale | string | Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"page": {
"type": "integer",
"default": 0,
"maximum": 25,
"minimum": 0,
"description": "Page number, from 0 (the newest 20); each page has 20 changes, up to page 25"
},
"locale": {
"enum": [
"zh",
"en",
"ja"
],
"type": "string",
"description": "Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set)"
}
}
}List public corrections about published content, newest first: changes taken down, and changes or dossiers whose evidence was corrected and is under review or was resolved in the last 30 days. Use it to check whether something you read earlier was corrected or to audit AiSeek's error record. Do not use it for one change's evidence history (get_change_history) or new changes (list_changes). Parameters: limit counts corrections from the newest (1 to 50, default 20 or the connection's default); there is no paging, so ask for 50 to see the whole window; locale translates titles. Behavior: nothing is withdrawn automatically: a correction flags what depends on the corrected evidence for review; the window reaches back as far as the plan's (Free 7 days to Developer 180); titles appear only where they may be shown. One call of the key's quota (Free keys have a daily MCP cap); a rejected argument costs nothing.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many corrections to return, 1 to 50, newest first; omit for the connection's default (20 unless set) |
| locale | string | Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "How many corrections to return, 1 to 50, newest first; omit for the connection's default (20 unless set)"
},
"locale": {
"enum": [
"zh",
"en",
"ja"
],
"type": "string",
"description": "Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set)"
}
}
}List every country and territory AiSeek places changes in, with its name, its number of published changes in the last 7 days and its Change Heat on the last day. Use it to get all country codes at once or to see which countries have news; for heat details and seven-day series use get_country_heat, for what happened in one place get_earth_view. Parameters: domain counts only changes of one coverage domain (falls back to the connection's default); locale changes the country names. Behavior: about 180 entries in one answer, most changes first, then by code; a country with no change has heat null, not 0; Free keys see at most 7 days. One call of the key's quota (Free keys have a daily MCP cap); a rejected argument costs nothing.
| Argument | Type | Description |
|---|---|---|
| domain | string | Count only changes of this coverage domain; omit for the connection's default domain, or all domains when none is set |
| locale | string | Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"domain": {
"enum": [
"TECHNOLOGY",
"ECONOMY",
"MARKETS",
"BUSINESS",
"SERVICES",
"INDUSTRY",
"ENERGY",
"GEOPOLITICS",
"POLICY",
"CONSUMER",
"FINANCE",
"TRANSPORT",
"HEALTH",
"REAL_ESTATE",
"SCIENCE",
"CLIMATE",
"LABOR",
"AGRICULTURE",
"CRYPTO"
],
"type": "string",
"description": "Count only changes of this coverage domain; omit for the connection's default domain, or all domains when none is set"
},
"locale": {
"enum": [
"zh",
"en",
"ja"
],
"type": "string",
"description": "Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set)"
}
}
}List scheduled decisions and releases in a time range, in time order: central-bank decisions, statistics, earnings, rule effective dates, comment deadlines, trade measures, filings, meetings, votes, launches and speeches. Use it for what is coming or has just passed; for what has already happened and been reported use list_changes or search_changes. Parameters: from and to are UTC times such as 2026-11-01T00:00:00Z; for one week ask from a Sunday 00:00Z to the next Sunday; without them the range is one day ago to 31 days ahead; to must follow from by at most 400 days; domain keeps one coverage domain. Behavior: times are UTC; tracked releases give the previous reading and, once out, the new one (never a forecast); policy-rate figures are left out; how far ahead a plan sees is capped. One call of the key's quota (Free keys have a daily MCP cap); a rejected argument costs nothing.
| Argument | Type | Description |
|---|---|---|
| to | string | End of the range, ISO 8601 with a zone; default 31 days ahead; at most 400 days after `from` |
| from | string | Start of the range, ISO 8601 with a zone (e.g. 2026-10-15T00:00:00Z); default one day ago |
| domain | string | Only events of this coverage domain; omit for the connection's default domain, or all domains when none is set |
| locale | string | Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"to": {
"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))$",
"description": "End of the range, ISO 8601 with a zone; default 31 days ahead; at most 400 days after `from`"
},
"from": {
"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))$",
"description": "Start of the range, ISO 8601 with a zone (e.g. 2026-10-15T00:00:00Z); default one day ago"
},
"domain": {
"enum": [
"TECHNOLOGY",
"ECONOMY",
"MARKETS",
"BUSINESS",
"SERVICES",
"INDUSTRY",
"ENERGY",
"GEOPOLITICS",
"POLICY",
"CONSUMER",
"FINANCE",
"TRANSPORT",
"HEALTH",
"REAL_ESTATE",
"SCIENCE",
"CLIMATE",
"LABOR",
"AGRICULTURE",
"CRYPTO"
],
"type": "string",
"description": "Only events of this coverage domain; omit for the connection's default domain, or all domains when none is set"
},
"locale": {
"enum": [
"zh",
"en",
"ja"
],
"type": "string",
"description": "Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set)"
}
}
}List AiSeek's published topics: curated subjects (a technology, an industry, a policy area) that group related changes, with their counts for the last 90 and 7 days and their newest change. Use it to browse by subject or category and to find a slug for get_topic; for free-text search use search_changes. Parameters: domain keeps topics that belong to that coverage domain among others (a topic can sit in several), e.g. TECHNOLOGY or ENERGY; omitted, the connection's default domain or every topic applies; locale translates names and descriptions. Behavior: every matching topic comes back in one list in AiSeek's own order (no paging); counts are computed live on each call. One call of the key's quota (Free keys have a daily MCP cap); a rejected argument costs nothing.
| Argument | Type | Description |
|---|---|---|
| domain | string | Only topics of this coverage domain; omit for the connection's default domain, or all domains when none is set |
| locale | string | Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"domain": {
"enum": [
"TECHNOLOGY",
"ECONOMY",
"MARKETS",
"BUSINESS",
"SERVICES",
"INDUSTRY",
"ENERGY",
"GEOPOLITICS",
"POLICY",
"CONSUMER",
"FINANCE",
"TRANSPORT",
"HEALTH",
"REAL_ESTATE",
"SCIENCE",
"CLIMATE",
"LABOR",
"AGRICULTURE",
"CRYPTO"
],
"type": "string",
"description": "Only topics of this coverage domain; omit for the connection's default domain, or all domains when none is set"
},
"locale": {
"enum": [
"zh",
"en",
"ja"
],
"type": "string",
"description": "Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set)"
}
}
}Search published changes by words, ranked by relevance, best first, not by time. Use it to find changes about a company, country, subject or name; to browse what is newest use list_changes, for a curated subject use get_topic, for a company's profile use search_companies. Parameters: query is matched against headlines and summaries in the language of locale, so search in that language (a Chinese or Japanese query also matches simplified, traditional and Japanese forms of the same characters); limit trims the ranked list (1 to 25). Behavior: no match is an empty list, not an error; each result's id feeds get_change. One call of the key's quota (Free keys have a daily MCP cap); a rejected argument costs nothing.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many changes to return, 1 to 25, best match first; omit for the connection's default (10 unless set) |
| query* | string | Words to look for, 2 to 120 characters: a company, a country, a subject or a name, in any of the three languages |
| locale | string | Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "How many changes to return, 1 to 25, best match first; omit for the connection's default (10 unless set)"
},
"query": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "Words to look for, 2 to 120 characters: a company, a country, a subject or a name, in any of the three languages"
},
"locale": {
"enum": [
"zh",
"en",
"ja"
],
"type": "string",
"description": "Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set)"
}
}
}Search AiSeek's public companies by name, alias or ticker and return up to 10 matches, most active first, each with its slug, home country, listings and page url. Use it to find a company's slug for get_company; for news about a company use search_changes with its name. Parameters: query takes a name, alias or ticker in English, Chinese or Japanese (e.g. Toyota, トヨタ, 7203). Behavior: no match is an empty list, not an error; only companies with a public AiSeek page are searched. One call of the key's quota (Free keys have a daily MCP cap); a rejected argument costs nothing.
| Argument | Type | Description |
|---|---|---|
| query* | string | A company name, alias or ticker, 2 to 80 characters, in any of the three languages |
| locale | string | Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "A company name, alias or ticker, 2 to 80 characters, in any of the three languages"
},
"locale": {
"enum": [
"zh",
"en",
"ja"
],
"type": "string",
"description": "Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set)"
}
}
}Verify a receipt: recompute its digest from the stored record and report ok, digestMatches, canonicalForm, columnsMatch, evidenceRowsMatch and any problems. ok true means the record is unchanged since it was written. A receipt records an assessment; it is not a certificate that a claim is true. Use it before citing a receipt, after get_receipt has shown what it says; it does not return the content. Parameters: id is the receipt id you read with get_receipt (receipts[].id from get_change_history), never a change id; locale translates only the notice. Behavior: the check runs live on every call; problems name the failing part (DIGEST_MISMATCH, NOT_CANONICAL, COLUMN_MISMATCH:<field>, EVIDENCE_ROWS_MISMATCH, PAYLOAD_UNREADABLE); an unknown or non-public id is an error. One call of the key's quota (Free keys have a daily MCP cap); a rejected argument costs nothing.
| Argument | Type | Description |
|---|---|---|
| id* | string | The receipt id: a UUID such as 7d1e4a52-0c3b-4f68-a9d2-5e8b1c6f3a07, taken from receipts[].id in the get_change_history result; only public receipts can be read |
| locale | string | Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The receipt id: a UUID such as 7d1e4a52-0c3b-4f68-a9d2-5e8b1c6f3a07, taken from receipts[].id in the get_change_history result; only public receipts can be read"
},
"locale": {
"enum": [
"zh",
"en",
"ja"
],
"type": "string",
"description": "Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set)"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The change id: a UUID such as 3f2b8c1e-5a47-4d0e-9b6a-1c7e2d8f4a90, the same id get_change takes, from list_changes or search_changes"
},
"locale": {
"enum": [
"zh",
"en",
"ja"
],
"type": "string",
"description": "Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set)"
},
"known_at": {
"type": "string",
"maxLength": 40,
"minLength": 8,
"description": "An earlier moment to read the change as of: an ISO 8601 date or date-time with a zone (e.g. 2026-10-08 or 2026-10-08T12:00:00Z), not in the future and not before the plan's window (Free 7 days back, Pro 30, Intelligence 90, Developer 180); omit for the receipts only"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"days": {
"type": "integer",
"default": 7,
"maximum": 90,
"minimum": 1,
"description": "Window in days, 1 to 90 (default 7); capped by the key's plan: Free 7, Pro 30, Intelligence and Developer 90"
},
"domain": {
"enum": [
"TECHNOLOGY",
"ECONOMY",
"MARKETS",
"BUSINESS",
"SERVICES",
"INDUSTRY",
"ENERGY",
"GEOPOLITICS",
"POLICY",
"CONSUMER",
"FINANCE",
"TRANSPORT",
"HEALTH",
"REAL_ESTATE",
"SCIENCE",
"CLIMATE",
"LABOR",
"AGRICULTURE",
"CRYPTO"
],
"type": "string",
"description": "Only changes of this coverage domain; omit for the connection's default domain, or all domains when none is set"
},
"locale": {
"enum": [
"zh",
"en",
"ja"
],
"type": "string",
"description": "Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set)"
},
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code, e.g. JP or US, upper or lower case; omit for every country (the 60 hottest)"
}
}
}| layers | array | Which Earth layers to include (e.g. gdacs, nhc, jma, ucdp, aftershock); omit for every event layer |
| locale | string | Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set) |
| country | string | ISO 3166-1 alpha-2 country code, e.g. JP; give either this or lat and lon |
| radius_km | number | Radius of the circle around lat and lon, 10 to 3000 km (default 500) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"at": {
"type": "string",
"maxLength": 40,
"minLength": 8,
"description": "The moment to read, ISO 8601 date or date-time with a zone (default now); not in the future and within the plan's reach"
},
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude of the place in degrees (with lon); the place is a circle of radius_km around it"
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude of the place in degrees (with lat)"
},
"days": {
"type": "integer",
"default": 7,
"maximum": 180,
"minimum": 1,
"description": "Window in days before `at`, 1 to 180 (default 7); capped by the key's plan"
},
"mode": {
"enum": [
"KNOWN",
"NOW"
],
"type": "string",
"default": "NOW",
"description": "NOW (default): today's knowledge of the window; KNOWN: what readers could see at `at`"
},
"layers": {
"type": "array",
"items": {
"enum": [
"gdacs",
"eonet",
"nhc",
"jtwc",
"tsunami",
"pager",
"volcano-us",
"drought-us",
"nws",
"jma",
"dwd",
"space-weather",
"sea-ice",
"ucdp",
"unhcr",
"ecdc",
"gem-power",
"sanctions",
"chokepoints",
"ports",
"eia-energy",
"lpi",
"aftershock",
"flood-uk",
"rivers-de",
"rivers-us",
"tides"
],
"type": "string"
},
"maxItems": 27,
"description": "Which Earth layers to include (e.g. gdacs, nhc, jma, ucdp, aftershock); omit for every event layer"
},
"locale": {
"enum": [
"zh",
"en",
"ja"
],
"type": "string",
"description": "Language of headlines, summaries and notices in the answer: en, zh or ja; omit for the connection's default language (en unless set)"
},
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code, e.g. JP; give either this or lat and lon"
},
"radius_km": {
"type": "number",
"default": 500,
"maximum": 3000,
"minimum": 10,
"description": "Radius of the circle around lat and lon, 10 to 3000 km (default 500)"
}
}
}