read_article
Have the catalog's own model (Gemini) read an article through the article_playbook runbook and KEEP the reading in the signed-in reader's history, in one call. For a client with no model of its own (the Android analyser app), or when the reader asks for a Gemini reading. If you can read the article yourself, prefer emit_runbook_surface + save_reading. Pass text when you already have the article (it is then the only source the reading may quote), else url and it is fetched server-side. Takes 20-60 s. Needs a signed-in reader; capped per reader per day.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"url": "<url>"
},
"name": "read_article"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The article's public URL. Required: it is the attribution link. | |
| lens | No | Default explain. | |
| text | No | The article text, if the caller already fetched it. Truncated to 60000 chars. | |
| domains | No | For lens "apply": the reader's domains, comma-separated. | |
| concerns | No | What the reader wants the reading to look for or push back on. | |
| source_title | No | The article's headline, kept with the reading for attribution. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | True when the reading was produced. | |
| url | No | Renderer URL for the reading. | |
| note | No | Set when the article text was truncated. | |
| payload | No | The stamped article_playbook surface. | |
| retrieval | No | How the text was obtained. | |
| reading_id | No | Id of the saved reading. | |
| analysed_by | No | Model that read the article. | |
| reads_today | No | Reads used today by this reader. | |
| save_warning | No | Why the reading was not saved. |