A Model Context Protocol server that provides AI models with real-time trending content from 18 major Chinese internet platforms, including Weibo, Zhihu, and Bilibili.
A powerful Model Context Protocol (MCP) server providing real-time trending content from the Chinese internet.
Features โข Installation โข Quick Start โข Documentation โข Contributing โข License
Pulse CN MCP Server enables AI models to access up-to-date information about what's trending on the Chinese internet. Built with the Model Context Protocol (MCP), it acts as a bridge between AI models and real-time data from China's most popular social media platforms, news sites, and content aggregators.
The server provides real-time access to trending data from 18 major Chinese platforms:
Platform | Content | Status |
---|---|---|
๐ฎ ๆๅบง่ฟๅฟ | Daily horoscope predictions | โ |
๐ฌ ๆฏๆฅไธๅฅๅฑๅฟ่ฑ่ฏญ | Daily motivational English quotes | โ |
๐ ็ญๆ็ญๆฆ่ๅ | Aggregated trending topics | โ |
๐ฅ ๅพฎๅๅฎๆถ็ญๆ | Weibo real-time trending topics | โ |
๐ฐ ไปๆฅๅคดๆก็ญๆ | Today's Headlines trending news | โ |
๐ ๆพๆนๆฐ้ป็ญๆ | ThePaper.cn news trending topics | โ |
๐ ่ๆๆญฅ่ก่ก็ญๆ | Hupu BXJ real-time trends | ๐ |
โ ็ฅไนๅฎๆถ็ญๆ | Zhihu real-time trending topics | ๐ |
๐ ็ฅไนๆฏๆฅๆฅๆฅ | Zhihu daily digest | ๐ |
๐ผ 36ๆฐช24ๅฐๆถ็ญๆฆ | 36Kr 24-hour trending business news | ๐ |
๐ฌ ๅๅฉๅๅฉๅ จ็ซๆฅๆฆ | Bilibili daily rankings | ๐ |
๐ ็พๅบฆ็ญ็น็ญๆฆ | Baidu trending topics | ๐ |
๐ฑ ๆ้ณ็ญ็น็ญๆฆ | Douyin trending topics | ๐ |
๐ฅ ่ฑ็ฃๅฐ็ป็ฒพ้ | Douban group featured content | ๐ |
๐ป IT่ต่ฎฏ็ญๆฆ | IT news trending topics | ๐ |
๐ ่ๅ ็ฝ็ญๆฆ | Huxiu 24-hour trending topics | ๐ |
๐ฑ ไบงๅ็ป็็ญๆๆฆ | Woshipm daily popular articles | ๐ |
๐ ่ซๆ้จ่ฝๆๆฐ็ญ้จ | Chongbuluo latest popular content | ๐ |
# Clone the repository git clone https://github.com/wangtsiao/pulse-cn-mcp.git # Navigate to the project directory cd pulse-cn-mcp # Using npm npm install npm run build # Or using Bun (faster) bun install bun run build
Start the MCP server with:
# Using npm npm start # Or using Bun bun start
This launches the server using the Stdio transport, making it ready for MCP-compatible AI models to connect.
Pulse CN MCP Server follows a modular architecture with individual tools for each data source:
src/
โโโ index.ts # Main entry point and server setup
โโโ tools/ # Individual tool implementations
โโโ weiboHotspots.js
โโโ horoscope.js
โโโ dailyEnglishSentence.js
โโโ internetHotspotsAggregator.js
โโโ todayHeadlinesHotspots.js
โโโ paperNewsHotspots.js
โโโ otherHotspots.js
Tool Name | Description | Endpoint |
---|---|---|
weibo-hotspots | Real-time trending topics from Weibo | /weibo-hotspots |
horoscope | Daily horoscope by zodiac sign | /horoscope |
daily-english-sentence | Daily motivational English quotes | /daily-english-sentence |
internet-hotspots-aggregator | Aggregated trending topics | /internet-hotspots-aggregator |
today-headlines-hotspots | Today's Headlines trending topics | /today-headlines-hotspots |
paper-news-hotspots | ThePaper.cn trending news | /paper-news-hotspots |
hupu-pedestrian-street-hotspots
zhihu-realtime-hotspots
zhihu-daily-hotspots
36-krypton-24-hour-hotspots
bilibili-daily-hotspots
baidu-hotspots
douyin-hotspots
douban-group-hotspots
huxiu-hotspots
product-manager-hotspots
in-information-hotspots
insect-hotspots
Here's how to integrate with the server using TypeScript:
import { McpClient } from "@modelcontextprotocol/sdk/client"; async function example() { const client = new McpClient(); // Get Weibo trending topics const weiboHotspots = await client.callTool("weibo-hotspots", {}); console.log(weiboHotspots.content); // Get daily horoscope for Aries const horoscope = await client.callTool("horoscope", { sign: "aries" }); console.log(horoscope.content); }
src/tools/
(e.g., myNewTool.ts
)src/index.ts
Example:
// src/tools/myNewTool.ts import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { z } from "zod"; export function registerMyNewTool(server: McpServer) { server.tool( "my-new-tool", "Description of my new tool", { // Tool parameters schema param1: z.string().describe("Parameter description") }, async (params) => { // Tool implementation return { content: [ { type: "text", text: "Result of my tool" } ] }; } ); } // src/index.ts - Add import and registration import { registerMyNewTool } from './tools/myNewTool.js'; // ... registerMyNewTool(server);
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature
)git commit -m 'Add some amazing feature'
)git push origin feature/amazing-feature
)This project is licensed under the MIT License - see the LICENSE file for details.
This project utilizes the free APIs provided by ้ฉๅฐ้ฉAPI. We express our sincere gratitude for their excellent service and support.
Built with โค๏ธ by wangtsiao
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!