Skip to main content
Glama
Zessi-C

jiuyan-mcp

by Zessi-C

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

jiuyan_get_timeline

Zeitachse: nach Datum gruppierter Ereignisstrom (Titel/Bewertung/Thema/verknüpfte Artikel)

Nein

jiuyan_get_rank_board

Rangliste: Rangliste der Such-Hotwords + Rangliste der beliebten Artikel

Nein

jiuyan_search_articles

Stichwortsuche nach Diskussionsbeiträgen/Artikeln (sortiert nach Beliebtheit oder Zeit)

Nein

jiuyan_get_article_detail

HTML-Volltext und Metainformationen eines Artikels per article_id abrufen

Nein

jiuyan_get_community

Liste der Community-Bereiche (Forschung/Agora/Lebensbereich × Sortierung nach Neueste/Beliebt/Kursbewegung)

Nein

jiuyan_get_action_field

Liste der Sektorfelder des Tages mit Kursbewegungen (action_field_id)

Ja

jiuyan_get_action_list

Details zu einzelnen Aktienbewegungen innerhalb eines Sektors mit Kursbewegungen (Gründe für Limit-Up usw.)

Ja

jiuyan_get_follow_feed

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 install

Registrieren 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)

  1. Melden Sie sich im Browser bei www.jiuyangongshe.com; an;

  2. F12 → Application/Speicher → Cookies → https://www.jiuyangongshe.com;

  3. Kopieren Sie den Wert mit dem Namen SESSION und tragen Sie ihn in JIYAN_SESSION ein;

  4. 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.com hat 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_IDS aktualisiert werden.

Struktur

src/
  signer.js   # SSR digest 抓取 + vm 沙箱签名函数发现与调用
  api.js      # HTTP 客户端:鉴权头、限速、errCode 映射、110 自动重试
  tools.js    # 8 个 MCP 工具定义与入参 schema
  index.js    # stdio MCP 服务器入口

License

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides 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
  • F
    license
    A
    quality
    D
    maintenance
    Enables searching notes, retrieving note content and comments, and posting comments on Xiaohongshu (Little Red Book) via HTTP API without using Playwright.
    6
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables 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
    -