> For the complete documentation index, see [llms.txt](https://docs.flash.im/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flash.im/docs/for-ai-agents/mcp-server.md).

# MCP Server

Use FLASH news as tools, directly from LLMs and AI agents such as Claude and ChatGPT.

## Why FLASH MCP

**What you need from the news is importance.** Thousands of stories are published every day, and what people ask an AI about the news comes down to "what matters". "What do I need to know today?" "Why did Bitcoin suddenly move?"

**FLASH has already judged the importance of every story.** FLASH analyzes about 10,000 stories a week across crypto, economy, politics, and geopolitics, and a top-tier reasoning model judges every one by the same standard. It asks whether market participants need to know the story today, and ranks stories by importance and coverage together. Top news ranks the most important events, category by category, out of the roughly 3,000 stories of the last 48 hours across all four categories. This standard has been refined through log analysis and improvement of the results of analyzing millions of news stories. Your agent gets news ranked by importance in a single tool call, and the same story gets the same importance no matter who asks or how many times.

**Web search judges importance from scratch every time.** When you ask through web search, the agent writes search queries, finds and opens articles, reads them, and decides on its own what matters. Every condition you add means more searching and reading. The judgment depends on the prompt and the request at that moment, so asking the same question three times changes which stories are picked and in what order.

On October 6, 2026, we asked Claude Opus 5.5 for "the 5 most important crypto news stories today" three times, and all three times it put the CFTC's advance notice of proposed rules at the top. Nothing in that notice has been decided yet. On the same day, FLASH put the news that had actually been decided (FinCEN's withdrawal of wallet rules and the SEC's approval of leveraged funds) higher, and the CFTC notice below them.

| "The 5 most important crypto news stories today" | Web search on your own                              | FLASH                                              |
| ------------------------------------------------ | --------------------------------------------------- | -------------------------------------------------- |
| Stories judged for importance                    | About 23 pages opened and read                      | All crypto stories of the last 48 hours, about 260 |
| Tool calls                                       | About 50 (27 searches, 23 page opens)               | 1                                                  |
| Text read                                        | About 110,000 characters                            | About 13,000 characters                            |
| Time from question to answer                     | About 7.7 minutes                                   | About 36 seconds                                   |
| Cost from question to answer (estimate)          | About $1.93                                         | About $0.17                                        |
| Asked three times                                | Only 4 of 5 stories the same, and the order changes | The same 5 stories in the same order               |

**So it is also cheaper and faster.** From question to answer, it is about 12 times cheaper and about 13 times faster than web search on your own.¹ The cost is the model and search fees your agent pays, not a FLASH fee.

**Can't I save with a smaller model?** A smaller model or fewer searches will save tokens. But judging importance depends on a model's reasoning. The importance and rankings FLASH returns come from a top-tier reasoning model. To get the same result yourself, you would need to apply the same standard with a model of that class every time, and pay that cost again with every question.

¹ FLASH measurement (October 6, 2026): we asked Claude Opus 5.5 agents the same question three times per method. The web search side used only web search and page fetching. The FLASH side received the default response of this MCP server's top news tool once (10 ranked items, the 8 default fields without the body) and answered with ranks 1 to 5 as given. Values are the median of the three runs and include the time and cost of the agent writing its answer on both sides. Costs are estimated at Claude Opus 5.5 list prices ($4 input and $20 output per million tokens) and $10 per 1,000 web searches.

## Server address

```
https://api.flash.im/mcp
```

Add this address to your agent's connector settings and it connects right away. There is no FLASH sign-in step. The transport is Streamable HTTP. MCP access will be part of the paid plans (free during the beta test period).

## Connect

### Claude (web and desktop)

1. Go to **Customize > Connectors**.
2. Click **+ Add** and choose **Add custom connector**.
3. Enter `FLASH` as the name and `https://api.flash.im/mcp` as the URL, then click **Continue**.
4. For authentication, choose **No sign in**, then click **Add**.
5. In a chat, turn FLASH on under **+ > Connectors** at the lower left.

On the Free plan you can add one custom connector. On Team and Enterprise, an organization owner adds it under **Organization settings > Connectors**, and members click **Connect** under **Customize > Connectors**.

### Claude Code

```bash
claude mcp add --transport http flash https://api.flash.im/mcp
```

It is connected when `/mcp` or `claude mcp list` shows `✔ Connected`.

### ChatGPT

1. Go to **ChatGPT Plugins**.
2. Click **+** and choose **Add custom MCP server**.
3. Enter a name and description, and put `https://api.flash.im/mcp` under **Connection**.
4. Leave authentication off, read the warning, and click **I understand and want to continue**.
5. In a chat, type `@` and choose FLASH.

For the plans that can use custom MCP servers and how to turn on developer mode, see OpenAI's help center.

### Other MCP clients

Add the address above as a remote (Streamable HTTP) server. Examples for clients that use a JSON config file:

Cursor (`mcp.json`)

```json
{ "mcpServers": { "flash": { "url": "https://api.flash.im/mcp" } } }
```

VS Code (`.vscode/mcp.json`)

```json
{ "servers": { "flash": { "type": "http", "url": "https://api.flash.im/mcp" } } }
```

## Tools

There are four tools, all read-only. Each returns the same data as one FLASH API.

| Tool              | What it does                                                                      | API with the same data                                | Arguments                                                                                           |
| ----------------- | --------------------------------------------------------------------------------- | ----------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `get_top_news`    | The top news ranking for one category (10 items)                                  | [Top News API](/docs/api-reference/top-news-api.md)   | `category` (required), `lang`, `fields`                                                             |
| `get_latest_news` | The latest news, newest first                                                     | [News Feed API](/docs/api-reference/news-feed-api.md) | `category`, `impact`, `subCategory`, `excludeSources`, `lang`, `limit`, `before`, `after`, `fields` |
| `find_news`       | News about one asset, company, person, institution, or prediction-market contract | [Match API](/docs/api-reference/match-api.md)         | `keyword` or `sentence` (one is required), `subEntities`, and the rest as in `get_latest_news`      |
| `get_news_cover`  | News cover images for the subjects in a headline, or for names and tickers        | [NewsCover API](/docs/api-reference/newscover-api.md) | `headline` or `q` (one is required), `mode`                                                         |

The four categories are `crypto`, `economy`, `politics`, and `geopolitics`, and `get_latest_news` and `find_news` accept several together. Section names are on [Categories](/docs/api-reference/categories.md). There are 16 languages.

## Examples

### In a conversation

<table data-search="false"><thead><tr><th>Ask your agent</th><th>Tool it calls</th></tr></thead><tbody><tr><td>"Give me today's top crypto news"</td><td><code>get_top_news {"category": "crypto"}</code></td></tr><tr><td>"An economy briefing in Korean"</td><td><code>get_top_news {"category": "economy", "lang": "ko"}</code></td></tr><tr><td>"Only the important news, any category"</td><td><code>get_latest_news {"impact": [4, 5]}</code></td></tr><tr><td>"Why did Solana move?"</td><td><code>find_news {"keyword": ["Solana", "SOL"], "category": ["crypto"], "impact": [4, 5], "limit": 5}</code></td></tr><tr><td>"Will Bitcoin hit $150,000 by 2026? Related news"</td><td><code>find_news {"sentence": "Will Bitcoin hit $150,000 by 2026?", "category": ["crypto"], "limit": 5}</code></td></tr><tr><td>"Put the past week of Nvidia news in order"</td><td><code>find_news {"keyword": ["Nvidia", "NVDA"], "category": ["economy"], "after": "&#x3C;a week ago>", "limit": 100}</code></td></tr><tr><td>"Just the crypto headlines, 30 of them"</td><td><code>get_latest_news {"category": ["crypto"], "fields": ["headline", "impact", "publishedAt"], "limit": 30}</code></td></tr><tr><td>"Top crypto headlines, no summaries"</td><td><code>get_top_news {"category": "crypto", "fields": ["headline", "impact"]}</code></td></tr><tr><td>"A cover image for this headline"</td><td><code>get_news_cover {"headline": "Bitcoin surges as SEC approves ETF"}</code></td></tr></tbody></table>

### On a schedule

Hand the job to an agent or automation tool that can run on a schedule, and it will call FLASH at set times and deliver the results by email, messenger, or team channel. The agent or automation tool sends the notification. FLASH returns the news.

<table data-search="false"><thead><tr><th>Situation</th><th>What you ask the agent</th><th>Tool it calls</th></tr></thead><tbody><tr><td>Important news alerts</td><td>"Every 15 minutes, check for new impact 4 and 5 news and email me if there is any"</td><td><code>get_latest_news {"impact": [4, 5], "after": "&#x3C;last check>"}</code></td></tr><tr><td>Morning briefing</td><td>"Every day at 8 a.m., send me the top crypto and economy news, three lines each"</td><td><code>get_top_news {"category": "crypto"}</code>, <code>get_top_news {"category": "economy"}</code></td></tr><tr><td>Watchlist</td><td>"Every day at 6 p.m., collect today's news on Bitcoin, Ethereum, and Nvidia"</td><td><code>find_news {"keyword": ["Bitcoin", "BTC", "Ethereum", "ETH", "Nvidia", "NVDA"], "after": "&#x3C;midnight today>", "limit": 50}</code></td></tr><tr><td>Prediction-market positions</td><td>"Tell me when there is new news about the contracts I hold"</td><td><code>find_news {"sentence": "&#x3C;contract question>", "after": "&#x3C;last check>"}</code></td></tr><tr><td>Weekly section roundup</td><td>"Every Monday, summarize last week's crypto ETF news"</td><td><code>get_latest_news {"subCategory": ["crypto-etf"], "after": "&#x3C;a week ago>", "limit": 100}</code></td></tr><tr><td>Team channel briefing</td><td>"Every morning, post the top economy news in Korean to the team channel"</td><td><code>get_top_news {"category": "economy", "lang": "ko"}</code></td></tr><tr><td>Newsletter and social drafts</td><td>"Every evening, draft a newsletter from the top five geopolitics stories and add a cover image to each"</td><td><code>get_top_news {"category": "geopolitics"}</code>, <code>get_news_cover {"headline": "&#x3C;headline>"}</code></td></tr><tr><td>What moved the price</td><td>With a price alert: "When Solana moves more than 5%, find the news behind it and send it to me"</td><td><code>find_news {"keyword": ["Solana", "SOL"], "impact": [4, 5], "after": "&#x3C;an hour ago>", "limit": 5}</code></td></tr></tbody></table>

* **To get only new news**, put a time a few hours before your last check in `after` and skip the stories you already have: some stories reach FLASH hours after their `publishedAt`. Checking every 10 to 15 minutes is enough.
* **To get more at once**, raise `limit` (up to 100) and narrow `fields` to `headline`, `impact`, and `publishedAt`. With the default fields, 100 items are about 25,000 tokens; with those three, about 4,500.
* **When the same event arrives more than once**: when several outlets report the same event, the same news can arrive again. Add `clusterId` to `fields` and send each value only once to reduce this.
* **Watchlists** take up to 30 names and tickers at once.

## Response

The tools return the same JSON as the matching API. For what each field means, see [News Item Fields](/docs/api-reference/news-item-fields.md).

The defaults are kept small so your agent reads less: 10 items with the default fields are about 3,000 tokens, and `headline` with `impact` alone are about 400.

* **Fields**: unless you choose fields, the three news tools return 8 of them (`headline`, `summary`, `whyItMatters`, `impact`, `eventType`, `source`, `sourceUrl`, `publishedAt`). If you need entities or covers, add `entities` or `covers` to `fields`. For a quick scan send `fields: ["headline", "impact", "publishedAt"]`, about 40 tokens per item, and ask for the default fields only for the stories you will read in full.
* **Count**: `get_latest_news` and `find_news` return 10 items by default, and up to 100 with `limit`. `get_top_news` returns the 10 ranked items, occasionally fewer.

## Errors

| Situation            | What your agent receives                                                                                                            |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| An argument is wrong | The API's error message as is, for example `keyword accepts at most 30 values`. The agent reads it, fixes the call, and tries again |
| Temporary outage     | `FLASH is temporarily unavailable. Try again in a minute.`                                                                          |

## MCP, skill, or API?

| Where you use it                        | Choose                                                                                                        |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| Chat agents such as Claude and ChatGPT  | The MCP server (this page)                                                                                    |
| An agent you build yourself             | The MCP server with the [Agent Skill](/docs/for-ai-agents/agent-skill.md), or the Agent Skill with an API key |
| News screens in your own app or website | The API. Start with the [Quick Start](/docs/quick-start.md)                                                   |

## Logging

To improve the service, we log tool calls (tool name, arguments, and response time) together with the IP address and user agent of the call. If you pass a question as a sentence to `find_news`, that sentence is logged too. For details, see the [Privacy Policy](/docs/resources/privacy-policy.md).
