China News Feed

io.github.Ownly-NetworkPublished by GitHub account Ownly-Networkv1.0.1Updated Nov 4, 2026

China news (EN/ZH), Weibo 微博/Baidu 百度/Zhihu 知乎 hot lists and deletion watch from public data.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingData & Analytics

Overview

AI-generated overview

Fetches China news headlines, Weibo/Baidu/Zhihu and other platform hot lists, and censorship/deletion flags from public data via an Apify actor.

What you can do
  • Retrieve China news rows in Chinese, English or both, with optional query and source filters
  • Fetch platform hot lists for Weibo, Baidu, Zhihu, Toutiao, Douyin, Bilibili and Kuaishou with rank limits
  • List deletion-watch rows flagged as censored, with status, label, rank, peak rank and first/last seen times
  • Filter headlines locally by keyword and choose which language projection is returned
When to use it
Useful when you want an assistant to monitor Chinese-language news and social platform trends, compare hot-list rankings, or track items flagged as censored or deleted, without building your own scraper.
Requirements
A remote endpoint is available, and the README also documents a local Node.js 20+ install via npx, git clone or Docker. Full-feed tools need an Apify API token, supplied as the x-apify-token header on the remote endpoint or as APIFY_TOKEN locally; the sample tool works without one. Network access to Apify is required.
Before you install
Full-feed calls run a paid Apify actor billed to your own account at $8 per 1,000 dataset rows, so a default 50-row call can cost up to $0.40; the token is a billable credential and should stay in private config. A separate pay-per-call HTTP API charges $0.01 per call in USDC on Base. Censorship flags are the actor's own assessments, and a timed-out request may leave an actor run active and billable.

Installation

In SourceWeft

  1. Open China News Feed in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.Ownly-Network%2Fchina-news-feed/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "china-news-feed": {
      "type": "http",
      "url": "https://china-news-feed-mcp.joyd-ai-2026.workers.dev/mcp?src=ownly-network"
    }
  }
}

README

china-news-feed-mcp

A TypeScript MCP server for China news, platform hot lists, and deletion-watch flags, wrapping the China News Feed Apify actor (CeTIPfpcWcDrEhrPV). Uses Node.js 20 native fetch and MCP over stdio.

Actor usage costs $8 per 1,000 dataset rows, billed to your own Apify account. Supply your API token through APIFY_TOKEN. Each call starts an actor run with emitOnlyNew: false, snapshotCount: 1, and maxItems as the billed-row cap. A default 50-row call costs up to $0.40 at this row price.

ToolInputsResult
get_china_newslanguage: zh, en, or both (default); maxItems: 1–500 (default 50); optional query, sources, sourceTypesNews rows only; sources maps to actor newsSources, e.g. xinhua, bbc, mfa.
get_hot_listsplatforms (default all); maxRank: 5–50 (default 50); maxItems: 1–500 (default 50); language (default both)Hot-list rows only; maxRank maps to actor maxHotRank.
get_deletionsplatforms (default all); maxItems: 1–500 (default 50); optional highRank: 3–50Rows with non-null censorship flags, including status, label, rank, peak rank, and first/last seen when present. Both headlines are included.

Supported platforms: Weibo 微博 (weibo), Baidu 百度 (baidu), Zhihu 知乎 (zhihu), Toutiao 今日头条 (toutiao), Douyin 抖音 (douyin), Bilibili 哔哩哔哩 (bilibili), Kuaishou 快手 (kuaishou).

News sourceTypes accepts the actor's exact values: State media, Party-gov, Commercial platform, Overseas independent, Dissident, Censorship tracker. Omitting sources or source types uses actor defaults; an empty source-type array selects no news types. An empty platform array selects no hot lists.

language controls output projection: en includes headline_en, zh includes headline_original, and both includes both. Missing translations are omitted. The actor has no language or query input. query filters both headlines locally, case-insensitively, after fetching. Deletion filtering also happens locally, so the returned count can be smaller than the fetched/billed row count. No automatic retries are made.

Claude Desktop and Cursor

Install Node.js 20 or newer and obtain a token from your Apify account. For Claude Desktop, add the following to claude_desktop_config.json (open it through Settings → Developer → Edit Config). For Cursor, add it to .cursor/mcp.json in your project or ~/.cursor/mcp.json for global use. Merge it with existing mcpServers entries, then restart the client.

json
{  "mcpServers": {    "china-news-feed": {      "command": "npx",      "args": ["-y", "github:Ownly-Network/china-news-feed-mcp"],      "env": {        "APIFY_TOKEN": "<your-apify-token>"      }    }  }}

GitHub installation builds dist/ using the prepare script. Git must also be available for installation from GitHub. Keep your real token in private client configuration or your process environment; never commit it.

For a local build:

bash
git clone https://github.com/Ownly-Network/china-news-feed-mcp.gitcd china-news-feed-mcpnpm installnpm run build

Use this server entry in either client's mcpServers object, replacing the path with your absolute checkout path:

json
{  "china-news-feed": {    "command": "node",    "args": ["/absolute/path/china-news-feed-mcp/dist/index.js"],    "env": { "APIFY_TOKEN": "<your-apify-token>" }  }}

For manual startup with APIFY_TOKEN already exported, run npm start. The server reserves stdout for MCP messages. Missing tokens produce a clear tool error; tokens and raw upstream errors are never logged. The fetch timeout is 300 seconds; configure a longer tool timeout in your client if supported. A timed-out request may leave an actor run active in Apify.

Docker

bash
docker build -t china-news-feed-mcp .# APIFY_TOKEN must already be exported in your shell.docker run --rm -i -e APIFY_TOKEN china-news-feed-mcp

To use Docker from Claude Desktop or Cursor, set command to docker, args to ["run", "--rm", "-i", "-e", "APIFY_TOKEN", "china-news-feed-mcp"], and provide APIFY_TOKEN in the server's env. Use -i to keep stdin open for stdio transport.

Smithery

The included smithery.yaml declares a stdio start command and requires the apifyToken configuration value. Smithery maps that value to APIFY_TOKEN and starts node dist/index.js; the included multi-stage Dockerfile supplies the build and runtime. Supply your own token when configuring the server.

The official Apify MCP also works generically with this actor. This wrapper adds dedicated tools, local headline filtering, language projection, and compact output.

Sample output

Shortened from the two fixture rows in sample-rows.json, illustrating a get_deletions response. The tool returns compact JSON text; null and empty fields are dropped. Flags such as likely_censored are actor assessments and retain their status and evidence.

json
{  "count": 2,  "rows": [    {      "kind": "hot",      "source_id": "toutiao",      "headline_en": "The 20th Asian Games Come to a Close",      "headline_original": "第20届亚运会闭幕",      "rank": 1,      "peak_rank": 1,      "first_seen": "2026-10-04T18:07:26Z",      "last_seen": "2026-10-04T23:28:50Z",      "censorship": { "status": "likely_censored", "label": "Likely censored" }    },    {      "kind": "hot",      "source_id": "weibo",      "headline_original": "蔡康永",      "rank": 14,      "peak_rank": 11,      "censorship": { "status": "likely_censored", "label": "Likely censored" }    }  ],  "note": "billed rows: 2 at $8/1000"}

Pay-per-call HTTP API (x402)

Development

bash
npm installnpm run buildnpm test

Tests use mocked fetch responses and the provided fixtures, with no paid actor runs. Input reference: actor-input-schema.json. Licensed under MIT, copyright 2026 Ownly.

Related links

Source: README.md at commit e88651c

Tools

0
SourceWeft has not read this server's tools yet.

Version history

1
  1. v1.0.1LatestOct 21, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts