jiuyan-mcp
jiuyan-mcp
MCP-Server für den Datenabruf von Jiuyan-Gemeinschaft (jiuyangongshe.com).
Bevorzugt ohne Anmeldung öffentliche Sonderdaten abrufen (Zeitachse, Rangliste, Suche, Volltext von Artikeln, Community-Bereiche); „Kursbewegungen" und „Follow-Feed" sind angemeldete Daten innerhalb der Website und nach Konfiguration des Web-SESSION-Cookies verfügbar.
Nur für persönliches Lernen und Forschung. Bitte respektieren Sie die Nutzungsbedingungen der Website, vermeiden Sie Hochfrequenz-Abrufe oder kommerzielle Nutzung. Dieses Repository steht in keiner Verbindung zur Jiuyan-Gemeinschaft.
Werkzeugübersicht
Werkzeug | Beschreibung | Anmeldung |
| Zeitachse: nach Datum gruppierter Ereignisstrom (Titel/Bewertung/Thema/verknüpfte Artikel) | Nein |
| Rangliste: Rangliste der Such-Hotwords + Rangliste der beliebten Artikel | Nein |
| Stichwortsuche nach Diskussionsbeiträgen/Artikeln (sortiert nach Beliebtheit oder Zeit) | Nein |
| HTML-Volltext und Metainformationen eines Artikels per article_id abrufen | Nein |
| Liste der Community-Bereiche (Forschung/Agora/Lebensbereich × Sortierung nach Neueste/Beliebt/Kursbewegung) | Nein |
| Liste der Sektorfelder des Tages mit Kursbewegungen (action_field_id) | Ja |
| Details zu einzelnen Aktienbewegungen innerhalb eines Sektors mit Kursbewegungen (Gründe für Limit-Up usw.) | Ja |
| Follow-Feed: neueste Beiträge der Personen, denen man folgt | Ja |
Related MCP server: A-Stock MCP Server
Schnellstart
git clone <repo-url> && cd jiuyan-mcp
npm installRegistrieren Sie in Ihrer MCP-Client-Konfiguration (z. B. ~/.omp/agent/mcp.json):
{
"mcpServers": {
"jiuyan": {
"type": "stdio",
"command": "node",
"args": ["/绝对路径/jiuyan-mcp/src/index.js"],
"env": {
"JIYAN_SESSION": "<可选:网页 SESSION cookie 值>"
}
}
}
}Abruf des Anmelde-Cookies (JIYAN_SESSION)
Melden Sie sich im Browser bei www.jiuyangongshe.com; an;
F12 → Application/Speicher → Cookies →
https://www.jiuyangongshe.com;Kopieren Sie den Wert mit dem Namen
SESSIONund tragen Sie ihn inJIYAN_SESSIONein;Starten Sie den MCP-Client neu. Ohne Konfiguration funktionieren die anonymen Werkzeuge wie gewohnt, die Anmelde-Werkzeuge geben einen klaren Hinweis zurück.
Signaturmechanismus (warum dieser Server nötig ist, damit es läuft)
Die Web-API der Jiuyan-Gemeinschaft (web-api.jiuyangongshe.com/jystock-app) verlangt bei jeder Anfrage die Header token + timestamp.
Das Signatur-Rohmaterial ist in der SSR-Seite eingebettet ({digest, project, serverTime} des verschleierten Schlüssels in window.__NUXT__),
der Ableitungsalgorithmus steckt in einem verschleierten VM-Modul des Nuxt-Bundles. Dieses Projekt erntet im node:vm-Sandbox die Webpack-Modultabelle und
initialisiert dieses Modul, ruft direkt dessen Signaturfunktion auf, um die Header jeder Anfrage zu erzeugen – ganz ohne Browser.
Robustheitsdesign:
digest-Schlüsselname und Signaturfunktionsname sind beide Verschleierungsprodukte – der digest wird mit einer lockeren Regex extrahiert, die Signaturfunktion wird automatisch anhand der „Ausgabeform" erkannt, sodass auch ein Namenswechsel bei Website-Releases adaptiv funktioniert;
Das Signatur-Zeitfenster beträgt <10 Minuten; bei Token-Ablauf (errCode=110) wird die Seite automatisch neu abgerufen, der Sandbox neu aufgebaut und einmal erneut versucht;
Chunk-Dateien werden im System-Temp-Verzeichnis (7 Tage) zwischengespeichert, um wiederholtes Herunterladen der ~1,6 MB statischen Ressourcen zu vermeiden;
Zwischen benachbarten Upstream-Anfragen wird ein Intervall von ≥1s erzwungen – höfliches Rate-Limiting.
Bekannte Einschränkungen
Die „Kursbewegungs"-Familie und der Follow-Feed erfordern nachweislich einen Anmeldezustand (errCode=1), anonym ist kein Umgehen möglich;
In keinem öffentlichen Projekt wurde ein Web-Endpunkt zum „Abrufen der historischen Beiträge eines bestimmten Benutzers per user_id" gefunden; die Beiträge der gefolgten Personen werden derzeit über den Follow-Feed (
/api/v2/article/newest/list) bezogen;Die alte APP-Domain
app.jiuyangongshe.comhat eine Versionssperre (errCode=9), dieses Projekt nutzt sie nicht;Ein großes Frontend-Release der Website kann zu einer Änderung der Signaturmodul-ID führen; dann muss
KNOWN_MODULE_IDSaktualisiert werden.
Struktur
src/
signer.js # SSR digest 抓取 + vm 沙箱签名函数发现与调用
api.js # HTTP 客户端:鉴权头、限速、errCode 映射、110 自动重试
tools.js # 8 个 MCP 工具定义与入参 schema
index.js # stdio MCP 服务器入口License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Weibo posts, hot search, comments and profiles to JSON. No login or cookies needed.
Provide access to Chinese stock market data including historical prices, real-time data, news, and…
China A-share market data over MCP: 22 tools for quotes, K-line, financials, money flow, top-trader boards, sectors, macro, convertible bonds and factor screening. Five tools need no API key, so you can connect and try it immediately.
Access real-time and historical market data for China A-shares and Hong Kong stocks, along with ne…
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables real-time stock market analysis through AKShare API integration. Supports retrieving live stock prices, historical data, technical indicators (MA, MACD, RSI), market sentiment analysis, stock search, and financial news.5-
- AlicenseNot gradedqualityDmaintenanceProvides free Chinese A-share stock data including real-time quotes, historical K-lines, market scanning, and multi-factor stock screening via BaoStock and Sina Finance APIs.MIT
- FlicenseAqualityDmaintenanceEnables searching notes, retrieving note content and comments, and posting comments on Xiaohongshu (Little Red Book) via HTTP API without using Playwright.6-
- FlicenseNot gradedqualityCmaintenanceEnables local scraping and interaction with Douyin (TikTok China) content, including videos, user data, comments, live streams, and private messages, using personal account cookies without official APIs.1-