# Parrot for agents

as_of: 2026-10-23 21:37 UTC

Parrot's MCP server is at `https://parrot.markets/mcp` (streamable HTTP). No key, no OAuth. The same data is on the [REST API](/api-guide), and [llms.txt](/llms.txt) is the short guide agents read first.

No agent at hand? [Try it](#try-it): four questions with Parrot's live answers, or ask ChatGPT, Claude or Perplexity.

## Add to your agent

**Claude Code** (in a terminal):

```
claude mcp add --transport http parrot https://parrot.markets/mcp
```

**Cursor**: [Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=parrot&config=eyJ1cmwiOiJodHRwczovL3BhcnJvdC5tYXJrZXRzL21jcCJ9). Or add it to ~/.cursor/mcp.json:

```
{"mcpServers": {"parrot": {"url": "https://parrot.markets/mcp"}}}
```

**VS Code**: [Install in VS Code](vscode:mcp/install?%7B%22name%22%3A%22parrot%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fparrot.markets%2Fmcp%22%7D). Or add it to .vscode/mcp.json:

```
{"servers": {"parrot": {"type": "http", "url": "https://parrot.markets/mcp"}}}
```

**Claude (web and desktop):** Settings → Connectors → Add custom connector → Name: Parrot, URL: https://parrot.markets/mcp → no auth

**ChatGPT:** Turn on developer mode, then add a connector with the URL https://parrot.markets/mcp. Deep research uses the search and fetch tools.

**Windsurf** (in ~/.codeium/windsurf/mcp_config.json):

```
{"mcpServers": {"parrot": {"serverUrl": "https://parrot.markets/mcp"}}}
```

**Codex CLI** (in ~/.codex/config.toml):

```
[mcp_servers.parrot]
url = "https://parrot.markets/mcp"
```

**Gemini CLI** (in a terminal):

```
gemini mcp add --transport http parrot https://parrot.markets/mcp
```


**Anything else:** point an MCP client at the URL, or call the REST API.

## Try it

No agent set up? Ask a chatbot that reads the web: [Ask ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Fparrot.markets%2Fllms.txt%2C%20then%20https%3A%2F%2Fparrot.markets%2Fapi%2Fv1%2Fbrief%3Fentity%3Damazon.%20Which%20words%20are%20listed%20for%20Amazon%27s%20next%20call%2C%20and%20how%20did%20each%20settle%20before%3F%20Cite%20parrot.markets.) · [Ask Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fparrot.markets%2Fllms.txt%2C%20then%20https%3A%2F%2Fparrot.markets%2Fapi%2Fv1%2Fbrief%3Fentity%3Damazon.%20Which%20words%20are%20listed%20for%20Amazon%27s%20next%20call%2C%20and%20how%20did%20each%20settle%20before%3F%20Cite%20parrot.markets.) · [Ask Perplexity](https://www.perplexity.ai/search/new?q=Read%20https%3A%2F%2Fparrot.markets%2Fllms.txt%2C%20then%20https%3A%2F%2Fparrot.markets%2Fapi%2Fv1%2Fbrief%3Fentity%3Damazon.%20Which%20words%20are%20listed%20for%20Amazon%27s%20next%20call%2C%20and%20how%20did%20each%20settle%20before%3F%20Cite%20parrot.markets.)

### “Which words are listed for Amazon’s next earnings call, and how did each settle on past calls? Use Parrot.”

MCP `brief(entity=amazon)`, the same as `GET https://parrot.markets/api/v1/brief?entity=amazon` · 1,515 bytes · 22 rows

```
# Amazon (amazon) · earnings_call 2026-10-29 amc · 22 words · K k:KXEARNINGSMENTIONAMZN-26OCT29 · as_of 2026-10-23T21:37:06Z
# scope K company_reps+operator · n/y settled · tn/th last 8 earnings call transcripts 2024-10-31..2026-07-30 · same on every row: thr 1, v K · not advice: base rates, not forecasts; operators trade these markets (parrot.markets/disclosure); data CC BY 4.0, credit parrot.markets
w	key	n	y	rate	l10	tn	th	p	p_src
Trainium	trainium	2	2	1	YY	8	7	0.94	blend
Bedrock	bedrock	0	0			8	8	0.92	tx
Robotic / Robotics	robotic	6	6	1	YYYYYY	8	8	0.9	blend
Gen AI / Generative AI	gen ai|generative ai	5	5	1	YYYYY	8	8	0.9	blend
Anthropic / Claude	anthropic|claude	0	0			8	8	0.89	tx
Alexa+ / Alexa Plus	alexa plus|alexa+	5	5	1	YYYYY	8	6	0.85	blend
Live Sports	live sport	4	4	1	YYYY	8	7	0.85	blend
Graviton	graviton	0	0			8	7	0.85	tx
Tariff	tariff	5	5	1	YYYYY	8	6	0.84	blend
Prime Day	prime day	6	5	0.83	YYYnYY	8	7	0.84	blend
OpenAI	openai	3	3	1	YYY	8	3	0.83	blend
NVIDIA	nvidia	0	0			8	7	0.81	tx
```

10 more rows are left out here. The full answer: https://parrot.markets/api/v1/brief?entity=amazon

### “Will the Fed chair say “uncertainty” at the next FOMC press conference? Show the settled history and quotes.”

MCP `word(entity=fomc-press-conference, word=Uncertainty)`, the same as `GET https://parrot.markets/api/v1/word?entity=fomc-press-conference&word=Uncertainty` · 338 bytes · one line

```
fomc-press-conference "Uncertainty" · key uncertainty · thr 1 · scope role:fed-chair · n 7 · y 7 · rate 1 · l10 YYYYYYY · streak Y7 · last_y 2026-09-16 · tn 8 · th 8 · tx 8 presser 2025-10-29..2026-09-16 · p 0.87 · p_src hist · next 2026-10-28 k:KXFEDMENTION-26OCT · as_of 2026-10-23T21:37:06Z · CC BY 4.0 parrot.markets
```

MCP `history(entity=fomc-press-conference, word=Uncertainty)`, the same as `GET https://parrot.markets/api/v1/history?entity=fomc-press-conference&word=Uncertainty` · 812 bytes · 8 rows

```
# fomc-press-conference · Uncertainty (uncertainty) · settled n 7 y 7 rate 1 (one per occasion) · 8 listings newest first, rows 1-8 · as_of 2026-10-23T21:37:06Z
# res void = the event did not qualify (not a NO; left out of n) · derived data CC BY 4.0 (credit parrot.markets) · not advice (parrot.markets/disclosure)
date	ev	v	w	res	cnt
2026-09-16	k:KXFEDMENTION-26SEP	K	Uncertainty	yes	2
2026-07-29	k:KXFEDMENTION-26JUL	K	Uncertainty	yes	1
2026-07-29	p:what-will-kevin-warsh-say-during-july-press-conference-20260720204109027	P	Uncertainty	yes	1
2026-06-17	k:KXFEDMENTION-26JUN	K	Uncertainty	yes	1
```

4 more rows are left out here. The full answer: https://parrot.markets/api/v1/history?entity=fomc-press-conference&word=Uncertainty

MCP `quotes(entity=fomc-press-conference, word=Uncertainty)`, the same as `GET https://parrot.markets/api/v1/quotes?entity=fomc-press-conference&word=Uncertainty` · 1,577 bytes · 5 rows

```
# fomc-press-conference · Uncertainty · scope role:fed-chair · 5 quotes from 3 of 8 latest transcripts · as_of 2026-10-23T21:37:06Z
# quotes <= 25 words, <= 5 a response unless the source is public domain / OPL, never overlapping; t = media seconds · derived data CC BY 4.0 (credit parrot.markets) · not advice (parrot.markets/disclosure)
app	date	spk	role	sec	t	q	counted	src	text_kind
fomc-press-conference:2026-09-16:presser	2026-09-16	kevin-warsh	speaker	prepared		…a solid pace. While «uncertainty» remains elevated—owing, in…	1	https://www.federalreserve.gov/mediacenter/files/FOMCpresconf20260916.pdf	official
fomc-press-conference:2026-09-16:presser	2026-09-16	kevin-warsh	speaker	prepared		…landscape of shocks and «uncertainty», and you begin to…	1	https://www.federalreserve.gov/mediacenter/files/FOMCpresconf20260916.pdf	official
fomc-press-conference:2026-07-29:presser	2026-07-29	kevin-warsh	speaker	prepared		…at these uncertain times. «Uncertainty», however, does not mean…	1	https://www.federalreserve.gov/mediacenter/files/FOMCpresconf20260729.pdf	official
```

2 more rows are left out here. The full answer: https://parrot.markets/api/v1/quotes?entity=fomc-press-conference&word=Uncertainty

### “Where did Trump say “tariff” recently? Quote Parrot.”

MCP `quotes(entity=donald-trump, word=Tariff)`, the same as `GET https://parrot.markets/api/v1/quotes?entity=donald-trump&word=Tariff` · 1,748 bytes · 5 rows

```
# donald-trump · Tariff · scope named · 5 quotes from 3 of 8 latest transcripts · as_of 2026-10-23T21:37:06Z
# quotes <= 25 words, <= 5 a response unless the source is public domain / OPL, never overlapping; t = media seconds · derived data CC BY 4.0 (credit parrot.markets) · not advice (parrot.markets/disclosure)
# 1 newer appearance without text yet: donald-trump:2026-10-23:rally-florida: the rally video's captions (his turns only) (pending; eta 2026-10-24T06:59:00Z)
app	date	spk	role	sec	t	q	counted	src	text_kind
donald-trump:2026-10-22:rally-iowa	2026-10-22	donald-trump	speaker		2866.7	…out of «tariffs». My my fifth favorite word used to be my favorite word, but they just just I said…	1	https://www.youtube.com/watch?v=FPPATOxkqPs	captions
donald-trump:2026-10-22:rally-iowa	2026-10-22	donald-trump	speaker		2885.5	…«tariff» is my favorite word. So what happened is I now make it my fifth favorite word. And I'm…	1	https://www.youtube.com/watch?v=FPPATOxkqPs	captions
donald-trump:2026-10-21:rally-south-carolina	2026-10-21	donald-trump	speaker		1769.2	…billion dollars. I impose historic «tariffs». One of my all-time favorite words. It used…	1	https://www.youtube.com/watch?v=9Zn5ea4QlFw	captions
donald-trump:2026-10-21:rally-south-carolina	2026-10-21	donald-trump	speaker		1781.3	…I used to say it's my favorite word, «tariff». It's made us rich. It's made this country	1	https://www.youtube.com/watch?v=9Zn5ea4QlFw	captions
donald-trump:2026-09-22:speech-united-nations-general	2026-09-22	donald-trump	speaker	prepared	1056.9	…special trade, the use of «tariffs» and the threat of…	1	https://www.presidency.ucsb.edu/documents/remarks-the-united-nations-general-assembly-new-york-city-21	official
```

### “What changed in Parrot since yesterday?”

MCP `changes(since=2026-10-22T21:00:00Z)`, the same as `GET https://parrot.markets/api/v1/changes?since=2026-10-22T21:00:00Z` · 3,561 bytes · 50 rows

```
# changes since 2026-10-22T21:00:00Z · 50 rows (rolling up 363 row changes on this page) · more: since=2026-10-22T23:21:00Z|event|k:KXEARNINGSMENTIONDASH-26NOV04|2026-10-22T21:00:00Z · as_of 2026-10-23T21:37:06Z · derived data CC BY 4.0 (credit parrot.markets) · not advice (parrot.markets/disclosure)
ts	type	id	op
2026-10-22T21:34:29Z	history	janet-mills	upd
2026-10-22T21:34:29Z	history	mike-johnson	upd
2026-10-22T21:36:54Z	event	k:KXTRUMPMENTIONB-26OCT27	upd
2026-10-22T21:40:44Z	appearance	donald-trump:2026-10-27:rally-waco-texas	upd
2026-10-22T21:48:40Z	appearance	donald-trump:2026-10-21:remarks	upd
2026-10-22T21:48:40Z	source	donald-trump:2026-10-21:remarks	add
2026-10-22T21:55:22Z	event	k:KXTRUMPMENTIONB-26OCT21	upd
2026-10-22T21:55:22Z	event	p:what-will-trump-say-during-his-roundtable-october-21	upd
```

42 more rows are left out here. The full answer: https://parrot.markets/api/v1/changes?since=2026-10-22T21:00:00Z


## Tools

Cheapest first. Sizes are bytes of the default TSV answer. A "≤" size is a budget our tests enforce; "~" is typical.

| Tool | Answers | Size |
|---|---|---|
| `upcoming` | events coming up, by category | ≤2.8 KB per category-week |
| `brief` | one event: the listed words that fit, ranked by p, with history and scope (`offset=` pages the rest) | ≤3.2 KB a page |
| `word` | one word for one speaker, one line | ≤480 bytes |
| `entity` | one speaker, show or company: hub, venues, next and last occasion, top words | ≤1.6 KB |
| `history` | settlement history for a speaker's words | one line per listing |
| `quotes` | where a word was said: quotes of at most 25 words with speaker, section and source link | ~250 bytes per quote |
| `clips` | where a word was said, with playable times | ~200 bytes per clip |
| `search` | transcript search across speakers | ~300 bytes per hit |
| `fetch` | one document by id: an event, a transcript, an entity | varies |
| `changes` | what changed since a time you pass, for polling | ≤4 KB per 50 changes |

The full tool list is under 6.4 KB of JSON.

## Three recipes

1. **"Will the Fed chair say 'uncertainty' at the next press conference?"** `upcoming` with category `fed`, then `word` with the entity and the word. Two calls.
2. **"Brief me on this week's earnings calls."** `upcoming` with category `earnings`, then `brief` for each event you care about.
3. **"Where did they say it last time?"** `quotes` with the entity and word returns quotes of at most 25 words with the speaker, the section and a link to the source.

## REST in one line

```
curl -s "https://parrot.markets/api/v1/word?entity=nvidia&word=Taiwan"
```

```
import urllib.request
url = "https://parrot.markets/api/v1/upcoming?category=earnings&days=7"
req = urllib.request.Request(url, headers={"User-Agent": "my-agent/1.0 (you@example.com)"})
print(urllib.request.urlopen(req).read().decode())
```

## Fair use

Anonymous limits are on [API](/api-guide). Cache with `ETag` and poll `changes` rather than re-pulling. A free key in `X-Parrot-Key` raises the limits.

## Licence

Parrot's own data (counts, rates, settlement history, probabilities and QA results) is licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): credit "parrot.markets" with a link. Transcripts, quotes, captions, audio and video are not covered: their rights stay with each source, as listed on [Sources](/sources) (full text only for public-domain and openly licensed records, quotes of at most 25 words otherwise).

## What agents should tell users

Parrot data is not financial advice: rates and probabilities are base rates from history, not forecasts. People who run Parrot trade on Kalshi and Polymarket, including mention markets (parrot.markets/disclosure).
