12306-mcp ist ein webbasiertes Modell-Kontext-Protokoll (MCP) ist ein Abfrageserver für Zugfahrkarten, der für die Abfrage von China Railway 12306 Fahrkarteninformationen entwickelt wurde. Er bietet eine einfach zu bedienende API-Schnittstelle, die es Benutzern oder Entwicklern ermöglicht, über ein Programm schnell auf Echtzeit-Zugfahrkarteninformationen zuzugreifen. Das Projekt, das auf GitHub gehostet und vom Entwickler Joooook erstellt wurde, zielt darauf ab, eine effiziente Unterstützung für Fahrkartenabfragen für KI-Assistenten oder Automatisierungstools zu bieten. Der Server unterstützt die Abfrage von verbleibenden Fahrkarten, Zuginformationen, Haltestellen und Transitoptionen und eignet sich damit für Szenarien, die einen schnellen Zugriff auf Fahrkartendaten erfordern. Das Projekt ist nur für Lernzwecke gedacht, wobei der Schwerpunkt darauf liegt, keine offiziellen Daten zu speichern oder zu manipulieren und sich auf die Einfachheit und Benutzerfreundlichkeit der Schnittstelle zu konzentrieren.
Funktionsliste
- Prüfen Sie 12306 Zugfahrkarteninformationen, einschließlich verbleibender Fahrkarten, Anzahl der Züge, Sitzplatztypen und Fahrpläne.
- Filtern von Zuginformationen, Unterstützung der Filterung nach Zeit, Tarif oder Zugtyp.
- Suchen Sie nach Informationen zu den Haltestellen, den durchfahrenden Städten und den Haltestellenzeiten.
- Unterstützung bei Versandanfragen und Beratung zu Austauschprogrammen aus einer Hand.
- Bietet eine einfache API-Schnittstelle zur einfachen Integration in KI-Assistenten oder Automatisierungsprogramme.
- Unterstützt die unscharfe Suche nach Senderinformationen im ganzen Land, so dass Sender schnell gefunden werden können.
Hilfe verwenden
Einbauverfahren
Um den 12306-mcp-Server zu verwenden, führen Sie die folgenden Schritte aus, um ihn lokal oder auf einem Server einzusetzen:
- Projektcode klonen
Verwenden Sie den Befehl Git, um den Quellcode des Projekts herunterzuladen:git clone https://github.com/Joooook/12306-mcp.git
- Installation von Abhängigkeiten
Wechseln Sie in das Projektverzeichnis und installieren Sie die Node.js-Abhängigkeiten:cd 12306-mcp npm i
- Erstellen Sie das Projekt
Führen Sie den Befehl build aus, um die ausführbare Datei zu erzeugen:npm run build
- Starten Sie den Server
Führen Sie den folgenden Befehl aus, um den Server zu starten:node ./build/index.js
- Konfigurieren des MCP-Servers
Wenn Sie 12306-mcp in ein System integrieren müssen, das das MCP-Protokoll unterstützt, fügen Sie der Konfigurationsdatei Folgendes hinzu:{ "mcpServers": { "12306-mcp": { "command": "npx", "args": ["-y", "12306-mcp"] } } }
Der Pfad der Konfigurationsdatei befindet sich normalerweise auf dem Client oder der Plattform, die vom MCP-Protokoll unterstützt wird. Den spezifischen Pfad entnehmen Sie bitte der Dokumentation des Zielsystems.
Verwendung
Nach der Bereitstellung bietet 12306-mcp eine Reihe von API-Schnittstellen, die Entwickler oder KI-Assistenten über HTTP-Anfragen aufrufen können. Im Folgenden wird der Ablauf der wichtigsten Funktionen beschrieben:
1. die Suche nach Zugfahrkarteninformationen
Benutzer können über die API Anfragen senden, um Zugfahrkarteninformationen für ein bestimmtes Datum, einen bestimmten Start- und Zielort abzufragen. Beispiel: Abfrage von Zugtickets von Peking nach Shanghai:
- Beispiel für eine API-Anfrage::
GET /tickets?from=Beijing&to=Shanghai&date=2025-07-22
- Daten zurücksendenJSON-Format, einschließlich Anzahl der Züge, Abfahrtszeit, Ankunftszeit, Fahrpreis, Anzahl der verbleibenden Fahrkarten, usw.
- Verfahren::
- Bestimmen Sie den Ursprung, das Ziel und das Datum.
- Senden Sie eine GET-Anfrage mit einem HTTP-Client (z. B. Postman) oder Code.
- Analysiert die zurückgegebenen JSON-Daten, um die verfügbaren Fahrten und Tarife zu ermitteln.
- zur Kenntnis nehmenAbfahrts- und Zielort müssen den offiziellen Bahnhofsnamen oder -code 12306 verwenden, um die unscharfe Suche zu unterstützen.
2. das Filtern von Zuginformationen
Die Benutzer können die Züge nach ihren Bedürfnissen filtern, z. B. nur Hochgeschwindigkeitszüge oder Nachtzüge anzeigen:
- Beispiel für eine API-Anfrage::
GET /tickets?from=Beijing&to=Shanghai&date=2025-07-22&type=highspeed
- Verfahren::
- Fügen Sie der Anfrage Filterparameter hinzu, wie z. B.
type=highspeed
(Hochgeschwindigkeitszug) odertime=night
(nachts). - Der Server gibt eine Liste der in Frage kommenden Reisen zurück.
- Die Nutzer können außerdem nach Tarif oder Dauer sortieren.
- Fügen Sie der Anfrage Filterparameter hinzu, wie z. B.
3. nach Haltestellen suchen
Erkundigen Sie sich nach den Haltestellen und Haltezeiten eines bestimmten Zuges:
- Beispiel für eine API-Anfrage::
GET /train/stops?trainNo=G123
- Daten zurücksendenJSON-Format mit dem Namen des Durchgangsbahnhofs, der Ankunftszeit und der Zwischenstoppzeit.
- Verfahren::
- Abfrage der Zielzugnummer (z. B. G123).
- Senden Sie eine Anfrage, um eine Liste der Haltestellen zu erhalten.
- Sie können es mit dem Kartentool kombinieren, um Reisetipps zu erstellen und Ihre Reiseroute für die Städte zu planen, durch die Sie reisen.
4. die Durchgangsanfragen
Für Strecken ohne direkten Zugverkehr bietet der Server Umsteigemöglichkeiten:
- Beispiel für eine API-Anfrage::
GET /transfer?from=Xian&to=Zhengzhou&date=2025-07-22
- Daten zurücksendenEmpfohlene Zwischenstopps, Umsteigezeiten und Gesamtfahrtzeit.
- Verfahren::
- Geben Sie den Start- und Zielort sowie das Datum ein.
- Server-Rückreiseprogramm, z. B. bestimmte Anzahl von Zügen und Umsteigezeiten in Wuhan.
- Die Nutzer können die optimale Option auf der Grundlage der Gesamtdauer oder des Preises wählen.
5. unscharfe Suchstationen
Unterstützt die Eingabe unvollständiger Stationsnamen, um vollständige Informationen zu finden:
- Beispiel für eine API-Anfrage::
GET /stations?name=Hang
- Daten zurücksendenHangzhou: Enthält detaillierte Informationen über die Bahnhöfe "Hangzhou" und "Hangzhou Ost".
- Verfahren::
- Geben Sie einen Teil des Bahnhofsnamens in Pinyin oder chinesischen Schriftzeichen ein.
- Der Server gibt eine Liste der passenden Sender zurück.
- Wählen Sie den richtigen Bahnhofscode aus der Liste aus, den Sie für die Fahrkartenabfrage verwenden möchten.
caveat
- Quelle der DatenAlle Ticketdaten kommen von der offiziellen 12306-Schnittstelle, der Server aggregiert und leitet die Daten nur weiter, er speichert sie nicht.
- Risiko der VerwendungHäufige Anfragen können den Anti-Climbing-Mechanismus von 12306 auslösen. Es wird empfohlen, die Anfragenhäufigkeit vernünftig festzulegen.
- Unterstützung der EntwicklungDas Projekt lädt Entwickler ein, neue Funktionen beizusteuern, und Funktionsanfragen können über GitHub eingereicht werden.
Anwendungsszenario
- Integration von AI-Assistenten
12306-mcp kann in KI-Assistenten (z. B. intelligente Chatbots) eingebettet werden, so dass Nutzer per Sprache oder Text "Zugtickets von Shanghai nach Hangzhou morgen" eingeben können. Der Assistent ruft dann die API auf, um Fahrkarteninformationen in Echtzeit zu liefern und schnell die Anzahl der Zugfahrten und die Fahrpreise anzugeben. - Tools zur Reiseplanung
Entwickler können 12306-mcp in ihre Reiseplanungsanwendungen integrieren, um Reisetipps für die Städte zu generieren, durch die sie reisen, und dabei Informationen über die Haltestellen einbeziehen. So werden zum Beispiel bei der Suche nach einem Zug von Peking nach Guangzhou Sehenswürdigkeiten in Wuhan vorgeschlagen. - Automatisierte Fahrkartenabfrage
Unternehmen können mit 12306-mcp automatisierte Tools zur Ticketüberwachung entwickeln, um die verbleibenden Tickets auf einer bestimmten Strecke in Echtzeit zu verfolgen. - Bildung und Forschung
Studenten oder Entwickler können 12306-mcp verwenden, um die Implementierung des MCP-Protokolls zu erlernen und zu untersuchen, wie Daten von Dritten über die API aggregiert werden können, was sich für Computerkurse oder Open-Source-Projekte eignet.
QA
- Fällt für 12306-mcp eine Gebühr an?
Das Projekt ist vollständig quelloffen und kostenlos, wird auf GitHub gehostet und erfordert lediglich die Selbstbereitstellung des Servers. - Unterstützt es Ticketaktualisierungen in Echtzeit?
Ja, der Server erhält Echtzeitdaten über die offizielle Schnittstelle 12306, um genaue Ticketinformationen zu gewährleisten. - Wie kann man vermeiden, dass der Anti-Crawl-Mechanismus von 12306 ausgelöst wird?
Es wird empfohlen, angemessene Abfrageintervalle festzulegen (z. B. nicht mehr als fünfmal pro Minute), um zu vermeiden, dass innerhalb eines kurzen Zeitraums sehr viele Anfragen gestellt werden. - Kann ich es direkt auf meinem Mobiltelefon verwenden?
Sie muss derzeit auf einem Computer oder Server installiert werden, und Mobiltelefone können über einen API-Client darauf zugreifen oder auf eine mögliche zukünftige mobile Anpassung warten. - Welche Programmiersprachen werden für den Aufruf der API unterstützt?
Die API verwendet das Standard-HTTP-Protokoll und kann von jeder Sprache aufgerufen werden, die HTTP-Anfragen unterstützt (z. B. Python, JavaScript).