# app.vercel.indo-news-api/news (remote · indo-news-api.vercel.app)

Indonesian news for AI agents: headlines, keyword search, coverage summaries. Free MCP tools.

- Trust score: 69/100 (medium)
- Change this week: +3
- Registry status: deprecated
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

> **Deprecated**: this server is marked deprecated in the MCP registry. The registry records this reason: "Renamed to app.vercel.indo-news-api/indonesia-news."

## Components

- remote · `indo-news-api.vercel.app`: 69/100 (this document), [markdown](https://verifymcp.io/servers/app-vercel-indo-news-api-news/indo-news-api.md), [page](https://verifymcp.io/servers/app-vercel-indo-news-api-news/indo-news-api)

## Channel facts

- Endpoint: `https://indo-news-api.vercel.app/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 7 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 73/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2944 tokens (~117/item across 25 items; 25 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 25 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 26 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the app.vercel.indo-news-api/news MCP server?

app.vercel.indo-news-api/news is a hosted endpoint at https://indo-news-api.vercel.app/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http app-vercel-indo-news-api-news 'https://indo-news-api.vercel.app/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "app-vercel-indo-news-api-news": {
      "url": "https://indo-news-api.vercel.app/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "app-vercel-indo-news-api-news": {
      "type": "http",
      "url": "https://indo-news-api.vercel.app/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.app-vercel-indo-news-api-news]
url = "https://indo-news-api.vercel.app/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "app-vercel-indo-news-api-news": {
      "type": "remote",
      "url": "https://indo-news-api.vercel.app/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add app-vercel-indo-news-api-news --url 'https://indo-news-api.vercel.app/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  app-vercel-indo-news-api-news:
    url: "https://indo-news-api.vercel.app/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "app-vercel-indo-news-api-news": {
      "Transport": "http",
      "Url": "https://indo-news-api.vercel.app/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add app-vercel-indo-news-api-news -t streamable-http -u 'https://indo-news-api.vercel.app/mcp'
```

### Other

```json
{
  "mcpServers": {
    "app-vercel-indo-news-api-news": {
      "type": "http",
      "url": "https://indo-news-api.vercel.app/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 69, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “indonesia_earthquake” rewrote its description, which is the text the model reads
- [security] Tool “indonesia_holidays” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 2081 → 2944
- [functional] New tool “asia_market_snapshot”
- [functional] New tool “convert_currency”
- [functional] New tool “indonesia_holiday_check”
- [functional] New tool “indonesia_next_working_day”
- [functional] New tool “indonesia_workdays”
- [functional] New tool “web_read”
- [cosmetic] “indonesia_earthquake” added an optional parameter “alert”
- [cosmetic] “indonesia_earthquake” added an optional parameter “minMagnitude”
- [cosmetic] “indonesia_holidays” reworded the description of “year”

### 2026-11-02 (score 68, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “indonesia_headlines_preview” rewrote its description, which is the text the model reads
- [security] Tool “indonesia_new_since” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: pass → fail
- [functional] Server version: 1.0.0 → 1.0.2
- [functional] New tool “indonesia_briefing”
- [functional] New tool “indonesia_crypto_idr”
- [functional] New tool “indonesia_crypto_premium”
- [functional] New tool “indonesia_data_preview”
- [functional] New tool “indonesia_digest”
- [functional] New tool “indonesia_earthquake”
- [functional] New tool “indonesia_feed”
- [functional] New tool “indonesia_fx”
- [functional] New tool “indonesia_headlines”
- [functional] New tool “indonesia_holidays”
- [functional] New tool “indonesia_search”
- [functional] New tool “indonesia_search_preview”
- [functional] New tool “indonesia_sentiment”
- [functional] New tool “indonesia_snapshot”
- [cosmetic] “indonesia_headlines_preview” added an optional parameter “lang”
- [cosmetic] “indonesia_new_since” added an optional parameter “lang”

### 2026-11-01 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-29 (score 66, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional regression] Schema quality: 268 → 454
- [functional] New tool “indonesia_new_since”
- [functional] New tool “indonesia_trending”

### 2026-10-28 (score 65, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-27 (score 64)

First indexed and scored.

## MCP tools (25)

### `indonesia_headlines_preview` (~84 tokens)

Free: 3 latest Indonesian headlines for a topic (Google News ID edition). Pass lang="en" for English-language coverage of Indonesia. Paid full feed: GET /headlines (25 headlines).

Input parameters:

- `lang` (string): id = Bahasa Indonesia (default), en = English-language coverage of Indonesia.
- `topic` (string): News topic. Default: nasional.

### `indonesia_new_since` (~122 tokens)

Free: up to 3 Indonesian articles newer than a cursor, each with detected entities and an auditable sentiment score. Shows exactly what the paid GET /feed returns so an agent can evaluate before paying. Pass lang="en" for English-language coverage (entities only).

Input parameters:

- `lang` (string): id = Bahasa Indonesia (default), en = English-language coverage of Indonesia.
- `since` (string): ISO 8601 time; only newer articles are returned. Omit for the latest batch.
- `topic` (string): News topic. Default: nasional.

### `indonesia_trending` (~69 tokens)

Free: who and what today's Indonesian headlines are about — top 5 entities with mention counts, a positive/neutral/negative split, and one example headline per entity. Paid GET /briefing adds the full ranking and keyword trends.

Input parameters:

- `topic` (string): News topic. Default: nasional.

### `indonesia_search_preview` (~110 tokens)

Free: up to 3 Indonesian articles matching a keyword — a brand, person, place or issue (e.g. 'rupiah', 'pertamina'). Each with detected entities and an auditable sentiment score. Paid GET /search returns up to 25. Pass lang="en" to search English-language coverage of Indonesia.

Input parameters:

- `lang` (string): id = Bahasa Indonesia (default), en = English-language coverage of Indonesia.
- `q` (string, required): Keyword or phrase; Indonesian works best.

### `indonesia_data_preview` (~85 tokens)

Free: one live sample from each Indonesian data vertical — USD/IDR reference rate, BTC/IDR on Indodax, the latest BMKG earthquake and the next public holidays — so an agent can check freshness and shape before paying. Full versions are $0.05 per call via x402: GET /fx, /crypto, /quake, /holidays.

### `indonesia_news_endpoints` (~32 tokens)

Free: list every paid endpoint with its current USDC price and how an x402 client should call it.

### `indonesia_coverage_report` (~65 tokens)

Free quote: price and delivery for a written 30-day coverage report on a brand, person or issue. Agents buy it at /report/buy via x402 ($49); humans use /order.

Input parameters:

- `subject` (string, required): Brand, person or issue to cover.

### `indonesia_headlines` (~116 tokens)

Paid $0.05 per call: the full batch of up to 25 fresh Indonesian headlines for one topic (nasional, dunia, finance, techno, sport, hiburan, sains, kesehatan), each with source, publish time and link. Pass lang="en" for English-language coverage of Indonesia (ANTARA English, Tempo English, Jakarta Post).

Input parameters:

- `lang` (string): id = Bahasa Indonesia (default), en = English-language coverage of Indonesia.
- `topic` (string): News topic. Default: nasional.

### `indonesia_feed` (~137 tokens)

Paid $0.05 per call: only the Indonesian articles newer than your cursor (?since ISO 8601), each with stable id, entities and an auditable sentiment score, plus the next cursor so a polling agent never re-pays for repeats. Pass lang="en" for English-language coverage of Indonesia (entities only, no sentiment score).

Input parameters:

- `lang` (string): id = Bahasa Indonesia (default), en = English-language coverage of Indonesia.
- `since` (string): ISO 8601 timestamp; only newer articles are returned. Omit for the latest batch.
- `topic` (string): News topic. Default: nasional.

### `indonesia_search` (~105 tokens)

Paid $0.10 per call: up to 25 Indonesian articles matching a keyword, deduplicated, newest first, with source, publish time and link. Pass lang="en" to search English-language coverage of Indonesia instead.

Input parameters:

- `lang` (string): id = Bahasa Indonesia (default), en = English-language coverage of Indonesia.
- `q` (string, required): Search keyword, e.g. 'suku bunga', 'rupiah', 'pertamina'. Indonesian works best.

### `indonesia_sentiment` (~86 tokens)

Paid $0.05 per call: one auditable 0-100 sentiment index for a single Indonesian news beat, with label, mood, positive/neutral/negative counts, by-day trend, top positive and negative drivers, and the strongest articles on each side. Deterministic lexicon, no LLM.

Input parameters:

- `topic` (string): News topic. Default: nasional.

### `indonesia_briefing` (~59 tokens)

Paid $0.50 per call: a deduplicated, ranked briefing for one beat — story count, keyword trends, top sources and the ten newest deduplicated articles.

Input parameters:

- `topic` (string): News topic. Default: nasional.

### `indonesia_digest` (~45 tokens)

Paid $2.50 per call: every Indonesian topic in one call — all eight beats merged and deduplicated, cross-topic keyword trends, top sources and the ten newest stories.

### `indonesia_fx` (~124 tokens)

Paid $0.05 per call: FX rates for any currency pair — EUR/USD, GBP/JPY, USD/IDR — latest reference rate plus a 30-day daily series and percentage change. Defaults to USD→IDR. Source: Frankfurter (ECB/BoE reference rates).

Input parameters:

- `days` (integer): Length of the daily series, 1-365. Default 30.
- `from` (string): Base currency, ISO 4217. Default USD.
- `to` (string): Quote currency, ISO 4217. Default IDR.

### `indonesia_crypto_idr` (~92 tokens)

Paid $0.05 per call: crypto prices in Indonesian rupiah from Indodax — last trade, bid, ask, 24h high/low and rupiah volume for up to 8 symbols. The domestic IDR market, including any local premium.

Input parameters:

- `symbols` (string): Comma-separated tickers, e.g. 'btc,eth,usdt'. Up to 8.

### `indonesia_crypto_premium` (~93 tokens)

Paid $0.05 per call: the Indonesian crypto premium — Indodax's IDR price against the global USD spot price converted at the USD/IDR reference rate, per coin, with premium/discount in percent. The arbitrage signal no single ticker shows.

Input parameters:

- `symbols` (string): Comma-separated tickers, e.g. 'btc,eth,usdt'. Up to 8.

### `indonesia_earthquake` (~179 tokens)

Paid $0.05 per call: the latest official BMKG earthquakes — magnitude, depth, coordinates, region, tsunami potential, felt reports and the official shakemap URL. Up to 15 recent events. With alert=true it returns a decision instead of a feed: alert true/false for minMagnitude (default 5 SR) among the events checked, the matching events and a 180s poll hint — the shape a risk or logistics poller acts on, same upstream call, no extra charge.

Input parameters:

- `alert` (boolean): true = decision view: alert true/false for the threshold below, plus the matching events.
- `limit` (integer): Number of recent events, 1-15. Default 5.
- `minMagnitude` (number): Alert threshold in SR (BMKG Magnitudo). Default 5.

### `indonesia_workdays` (~73 tokens)

Paid $0.05 per call: count working days between two dates in Indonesia, excluding weekends, national holidays and joint-leave days, and list the holidays that fall inside the range.

Input parameters:

- `from` (string, required): Range start ISO YYYY-MM-DD.
- `to` (string, required): Range end ISO YYYY-MM-DD.

### `asia_market_snapshot` (~101 tokens)

Paid $0.05 per call: one numbers-only snapshot for trading agents — USD/IDR with 30-day change, BTC/ETH/USDT in rupiah from Indodax with spread, the Indodax premium and the deterministic news-sentiment index.

Input parameters:

- `symbols` (string): Comma-separated tickers, default btc,eth,usdt.
- `topic` (string): News beat for the sentiment component, default finance.

### `indonesia_holiday_check` (~64 tokens)

Paid $0.05 per call: is one date an Indonesian public holiday or joint-leave day, plus weekend status and the next holiday. Answers "can we operate that day" directly.

Input parameters:

- `date` (string, required): Date to test, ISO YYYY-MM-DD.

### `convert_currency` (~81 tokens)

Paid $0.05 per call: convert an amount between currencies at the ECB reference rate, including IDR — the converted figure plus the rate used and its date.

Input parameters:

- `amount` (number, required): Amount to convert, positive.
- `from` (string): Source currency code, default USD.
- `to` (string): Target currency code, default IDR.

### `indonesia_next_working_day` (~64 tokens)

Paid $0.05 per call: the first Indonesian working day after a date, skipping weekends, national holidays and joint-leave days, with each skipped day and its reason.

Input parameters:

- `from` (string): Start date ISO YYYY-MM-DD; defaults to today.

### `indonesia_holidays` (~109 tokens)

Paid $0.05 per call: Indonesian national public holidays and joint-leave days for a year the government calendar publishes (2021-2027) — dates, Indonesian and English names, and how many days away each one is. A year outside that window is refused with a machine-readable reason, not billed.

Input parameters:

- `upcoming` (boolean): true = only holidays today or later.
- `year` (integer): Calendar year, 2021-2027. Defaults to the current year.

### `indonesia_snapshot` (~106 tokens)

Paid $0.05 per call: one call for the whole Indonesian picture — USD/IDR reference rate with a 30-day series, BTC/ETH/USDT in rupiah from Indodax, the latest BMKG earthquakes, upcoming national holidays and the top 5 headlines for a topic. The cheapest way to start.

Input parameters:

- `topic` (string): News topic: nasional, dunia, finance, techno, sport, hiburan, sains, kesehatan. Default nasional.

### `web_read` (~228 tokens)

Paid $0.05 per call: read one public web page and get it back as clean text — title plus paragraph blocks, markup/script/style/iframe removed, capped at 12,000 characters and honest about it in `truncated`. The Indonesian entity dictionary and sentiment lexicon behind indonesia_sentiment then run over that text and come back with their matched terms (no LLM; sentiment is null with a reason when the page declares a non-Indonesian lang rather than a invented score). Safe by construction: only public http/https targets — any host whose DNS answer includes a loopback, private, CGNAT, link-local, cloud-metadata or reserved address is refused, connections go to that validated IP, redirects are never followed, the body is cut at 1.5 MB and only text/html, text/plain, text/markdown, application/json and application/xml are parsed.

Input parameters:

- `url` (string, required): Absolute public http(s) URL. No credentials in the URL, no ports other than 80/443, no private or metadata targets — all refused before payment.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/app-vercel-indo-news-api-news/indo-news-api#diagnostics

## Score history

- 2026-11-05: 69
- 2026-11-04: 69
- 2026-11-03: 68
- 2026-11-02: 68
- 2026-11-01: 67
- 2026-10-31: 66
- 2026-10-30: 66
- 2026-10-29: 66
- 2026-10-28: 65
- 2026-10-27: 64

## Common questions

### What is the app.vercel.indo-news-api/news MCP server?

app.vercel.indo-news-api/news is an MCP server listed in the public MCP registry as app.vercel.indo-news-api/news. Indonesian news for AI agents: headlines, keyword search, coverage summaries. Free MCP tools. This page covers its hosted endpoint (https://indo-news-api.vercel.app/mcp).

### Is the app.vercel.indo-news-api/news MCP server safe to use?

app.vercel.indo-news-api/news scores 69 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the app.vercel.indo-news-api/news MCP server expose?

app.vercel.indo-news-api/news exposes 25 tools: indonesia_headlines_preview, indonesia_new_since, indonesia_trending, indonesia_search_preview, indonesia_data_preview, and 20 more. Their descriptions and schemas cost roughly 2,429 tokens of context every time the server is loaded.

### Does the app.vercel.indo-news-api/news MCP server require authentication?

No. We connected to app.vercel.indo-news-api/news without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the app.vercel.indo-news-api/news MCP server still maintained?

app.vercel.indo-news-api/news is marked deprecated in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What did VerifyMCP test on the app.vercel.indo-news-api/news MCP server?

VerifyMCP ran 12 checks on app.vercel.indo-news-api/news, covering TLS certificate, HTTPS, HSTS header, DNSSEC and 8 more. One item could not be completed, a gap on our side rather than a finding about app.vercel.indo-news-api/news: Authorization. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

- Remote endpoint: https://indo-news-api.vercel.app/mcp
- Website: https://indo-news-api.vercel.app/
- Changelog RSS feed: https://verifymcp.io/servers/app-vercel-indo-news-api-news/indo-news-api.xml
- Changelog JSON feed: https://verifymcp.io/servers/app-vercel-indo-news-api-news/indo-news-api/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/app-vercel-indo-news-api-news/indo-news-api.json
- HTML version of this page: https://verifymcp.io/servers/app-vercel-indo-news-api-news/indo-news-api
