Five sourced lines from a video, podcast, article or PDF, and a check that a quote is in its source
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
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.
check_quote over a batch, for auditing what an agent wrote down earlier. Give it up to 10 remembered claims, each with the source it is attributed to, and it returns the same verdict and receipt for every one: FOUND, CLOSE MATCH, DISTILLED MATCH, NOT FOUND or CAN'T ESTABLISH, with where, the speaker and the class of that claim, the passage, which representation was read and how much of it, and when. Reach for it when a note, a memory store or a shared workspace has accumulated claims nobody re-checked, and you want the ones no source supports. The summary counts verdicts and lists the claims that came back NOT FOUND; it is deliberately not a score, a percentage or a trust rating, because a NOT FOUND is bounded to the representation Yank read and is never a claim that the words were not said. A claim whose source is audio Yank would have to transcribe returns CAN'T ESTABLISH rather than being paid for. No model is consulted anywhere in this: every verdict resolves against the representation itself, and none of them is a judgement on whether a claim is true.
The remembered claims to check, up to 10 per call. Each one is checked against its own source.
check_quote over a batch, for auditing what an agent wrote down earlier. Give it up to 10 remembered claims, each with the source it is attributed to, and it returns the same verdict and receipt for every one: FOUND, CLOSE MATCH, DISTILLED MATCH, NOT FOUND or CAN'T ESTABLISH, with where, the speaker and the class of that claim, the passage, which representation was read and how much of it, and when. Reach for it when a note, a memory store or a shared workspace has accumulated claims nobody re-checked, and you want the ones no source supports. The summary counts verdicts and lists the claims that came back NOT FOUND; it is deliberately not a score, a percentage or a trust rating, because a NOT FOUND is bounded to the representation Yank read and is never a claim that the words were not said. A claim whose source is audio Yank would have to transcribe returns CAN'T ESTABLISH rather than being paid for. No model is consulted anywhere in this: every verdict resolves against the representation itself, and none of them is a judgement on whether a claim is true.
| Argument | Type | Description |
|---|---|---|
| claims* | array | The remembered claims to check, up to 10 per call. Each one is checked against its own source. |
{
"type": "object",
"required": [
"claims"
],
"properties": {
"claims": {
"type": "array",
"items": {
"type": "object",
"required": [
"statement",
"source"
],
"properties": {
"id": {
"type": "string",
"description": "Optional. Your own identifier for this claim, echoed back so you can match the verdict to the note it came from."
},
"prior": {
"type": "object",
"required": [
"sha256",
"checker"
],
"properties": {
"sha256": {
"type": "string",
"description": "inspected.sha256 from the earlier check: 64 hex characters."
},
"checker": {
"type": "string",
"description": "checker from the earlier check."
}
},
"description": "Optional. An earlier check of this claim: its inspected.sha256 and checker. The answer then says since: unchanged (same text, same rules), source-changed (the text read is not the text read then) or checker-changed (same text, new matching rules)."
},
"source": {
"type": "string",
"description": "The public http(s) link the claim is attributed to."
},
"statement": {
"type": "string",
"description": "The remembered words, as written down. Up to 600 characters."
}
}
},
"maxItems": 10,
"minItems": 1,
"description": "The remembered claims to check, up to 10 per call. Each one is checked against its own source."
}
}
}Yank Check: a statement and the source it is supposed to come from, in; a verdict and a receipt, out. FOUND (the words are in the representation Yank inspected), CLOSE MATCH (substantially the same wording, with the difference shown), DISTILLED MATCH (a passage shares most of the statement's content words but not its literal words; shared words can say the opposite, so read the passage), NOT FOUND (Yank inspected an adequate representation and could not find support), or CAN'T ESTABLISH (Yank could not obtain or inspect enough evidence; the reason says why). With where (a moment for media, the publisher's page opened on the exact words for an article), speaker with the class of that claim (file-stated, representation-stated, not-established), the passage around it, which representation was read (captions, transcript, article text, filing, document) and how much of it (inspected: words, duration, and sha256, the fingerprint of the exact text read), the checker's version (checker), and when. A NOT FOUND is a bounded claim scoped to the representation read, never a claim that the words were not said; a CLOSE MATCH lists the words that differ (difference.tokens), never a similarity number; every verdict carries one plain sentence (finding). No model is consulted: the verdict resolves against the representation itself. Sources Yank already holds check immediately; an article, a public PDF (located by page) or a captioned video is read for the check; audio that would need transcribing is not spent on here and returns CAN'T ESTABLISH with acquisition_required, so yank it first. None of the verdicts is a judgement on whether the statement is true.
| Argument | Type | Description |
|---|---|---|
| source* | string | The public http(s) link the statement is supposed to come from. |
| statement* | string | The words to check, as claimed. One claim at a time, up to 600 characters. |
Ask before you extract: everything yank.info already holds from one source URL. Any form of the link works (a youtu.be short link with a timestamp, a watch URL with a playlist, an article with tracking parameters, an Apple Podcasts or Overcast episode link); equivalent URLs return the same answer. Returns real counts (yanks, lines, verbatim lines) and, for up to five yanks, every line with its verbatim flag, timestamp, moment link, context and permanent card URL. Zero yanks is an answer, not an error. Reads the library only; never fetches the source.
| Argument | Type | Description |
|---|---|---|
| url* | string | The source URL in any of its forms. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The source URL in any of its forms."
}
}
}Fetch a yank (five extracted lines from one source) by its slug, the last path segment of a yank.info/y/<slug> URL. Includes every line's verbatim flag, timestamp, moment link, surrounding context, permanent card URL, share image, plus the whole yank as Markdown.
| Argument | Type | Description |
|---|---|---|
| slug* | string | e.g. stanford-connect-the-dots-looking-1s52rgg |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "e.g. stanford-connect-the-dots-looking-1s52rgg"
}
}
}The newest yanks in the library, one card each (rank-1 line, author, source type, URL).
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 8,
"maximum": 24,
"minimum": 1
}
}
}Full-text search across every line yank.info has ever extracted. Returns quotable lines with a verbatim flag (true = literal substring of the source transcript; false = labeled paraphrase), the speaker/author, the source, a timestamp and a moment link where the source is a video, and the permanent card URL to cite. Supports quoted phrases and a leading minus to exclude a word.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query* | string | Words, a name, a show, or a quoted phrase. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 40,
"minimum": 1
},
"query": {
"type": "string",
"description": "Words, a name, a show, or a quoted phrase."
}
}
}Full-text search inside the whole transcripts of every podcast and video yank.info has yanked, not only their five lines (§10.424). Returns moments: the source, where in it (startSeconds, endSeconds), the words around the match (snippet, the match between « and »), a moment link that opens the source at that second, and yankThisPartUrl, which yanks the few minutes around it. The words are a machine transcript (representation: transcript), not a checked line: to quote one, yank that part or use check_quote. Supports quoted phrases and a leading minus.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query* | string | Words, a name, or a quoted phrase, as it might have been said. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 12,
"maximum": 40,
"minimum": 1
},
"query": {
"type": "string",
"description": "Words, a name, or a quoted phrase, as it might have been said."
}
}
}{
"type": "object",
"required": [
"statement",
"source"
],
"properties": {
"source": {
"type": "string",
"description": "The public http(s) link the statement is supposed to come from."
},
"statement": {
"type": "string",
"description": "The words to check, as claimed. One claim at a time, up to 600 characters."
}
}
}