Read an X (Twitter) post
read_x_postRead public X (Twitter) posts from x.com or twitter.com URLs or post ids, through X's documented oEmbed endpoint (publish.x.com/oembed), with no login and no key. Use when the user shares a link to a post and wants what it says, who wrote it, the day it went up and its language. Each post row has text, author (handle, name), createdAt (YYYY-MM-DD), lang, the links in the text and hasMedia. X cuts posts longer than 280 characters in the embed and ends them with an ellipsis. The embed carries no media files, quoted post, like or view counts, replies or thread, so this tool cannot return them. A post X will not embed (deleted, protected, age-restricted, suspended author) comes back as a type "error" row with code unavailable, never partial data. Reads only the posts asked for; no timelines, search or profiles.
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": {
"posts": "<posts>"
},
"name": "read_x_post"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| posts | Yes | Post URLs or numeric ids, e.g. ["https://x.com/jack/status/20", "20"] |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cache | Yes | How the result was served: HIT or STALE from a cache tier, MISS or BYPASS when it was fetched now. | |
| results | Yes | One row per requested post, read through X's oEmbed endpoint, or an error row with a code. |