MCP Server 12306

MCP-сервер для поиска билетов на поезда Китая через 12306: остатки, цены, станции, пересадки и остановки

  • 415 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Расширенный доступ

Почему такой уровень

  • Сервер ходит в официальные интерфейсы 12306 и повторяет запросы при сбоях
  • В HTTP-режиме по умолчанию слушает все интерфейсы, `SERVER_HOST` равен 0.0.0.0, порт 8000
Все причины и проверки

drfccv/mcp-server-12306

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add mcp/mcp-server-12306

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Сервер ходит в официальные интерфейсы 12306 и повторяет запросы при сбоях
  • В HTTP-режиме по умолчанию слушает все интерфейсы, `SERVER_HOST` равен 0.0.0.0, порт 8000

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

MCP-сервер дает агенту поиск по железнодорожным билетам Китая через официальные интерфейсы сервиса 12306. Инструмент `query-tickets` за один запрос возвращает остатки билетов, поезда, классы мест и расписание и принимает фильтр по номеру поезда. `query-ticket-price` выдает актуальные цены по классам мест, от бизнес-класса до мест без сиденья. Станции ищет `search-stations` по китайскому названию, пиньиню, сокращенному пиньиню или трехбуквенному коду, в базе не менее 3 382 станций. `query-transfer` собирает официальные варианты пересадок, постранично загружая их целиком, и возвращает маршрут с временем ожидания. `get-train-route-stations` показывает все остановки поезда с временем прибытия и отправления, `get-train-no-by-train-code` переводит номер поезда в официальный идентификатор поезда, а `get-current-time` помогает с датами: отдает текущее время в любом часовом поясе и считает относительные даты. Сервер запускается как stdio-процесс через uvx, как HTTP-сервис по протоколу Streamable HTTP или в Docker. HTTP-режим слушает порт 8000 и отдает адреса `/mcp`, `/health` и `/schema/tools`.

Для кого. Для тех, кто планирует поездки по Китаю или строит помощника для путешествий и хочет получать расписание, остатки и цены с 12306 прямо в диалоге с агентом.

Подходит, если

  • Планируете поездку по Китаю и просите агента найти поезда и остатки билетов между городами на нужную дату
  • Нужно сравнить цены по классам мест на конкретный поезд: `query-ticket-price`
  • Прямых поездов нет и нужны пересадки: `query-transfer` берет официальные варианты и время ожидания
  • Нужно узнать, где поезд останавливается и когда прибывает: `get-train-route-stations`
  • Название станции известно только в пиньине или по коду: `search-stations` ищет по любому из вариантов

Не подходит, если

  • Нужно купить или забронировать билет: среди инструментов есть только запросы
  • Нужны поезда за пределами Китая: данные берутся из 12306
  • Вы хотите встроить проект в коммерческий сервис: автор запрещает коммерческое использование
  • Среда не поддерживает Python 3.10–3.13 и Docker

Пример запроса к агенту

Найди поезда из Пекина в Шанхай на ближайшую пятницу, покажи остатки и цены по классам мест

MCP

Транспорт
stdio, http
Авторизация
не нужна

Переменные окружения

`SERVER_HOST`
Адрес, на котором слушает HTTP-режим, по умолчанию 0.0.0.0.
`SERVER_PORT`
Порт HTTP-режима, по умолчанию 8000.
`DEBUG`
Режим отладки, по умолчанию выключен.
`LOG_LEVEL`
Уровень журнала: DEBUG, INFO, WARNING или ERROR, по умолчанию INFO.

Ограничения

  • Нужен Python от 3.10 до 3.13 и сетевой доступ к официальным интерфейсам 12306. Доступность сервиса из вашей сети зависит от самого 12306.
  • Инструменты только читают данные: покупки, бронирования и входа в аккаунт нет.
  • Автор разрешает использование для обучения, исследований и технического обмена и запрещает коммерческое. Последствия, включая блокировку аккаунта, ложатся на пользователя.
  • Сервер не хранит и не меняет данные 12306, он лишь собирает и пересылает ответы публичных интерфейсов.
  • Документация проекта написана по-китайски, поэтому описания параметров придется читать в переводе.

Как отключить. Уберите запись 12306 из конфигурации MCP-клиента. Docker-контейнер останавливается командой `docker stop mcp-server-12306` и удаляется командой `docker rm mcp-server-12306`, а пакет с PyPI снимается командой `pip uninstall mcp-server-12306`.

Частые вопросы

Как подключить 12306 MCP к Claude Desktop?

Добавьте в `claude_desktop_config.json` сервер 12306 с командой uvx и аргументом `mcp-server-12306`. Режим stdio не занимает сетевой порт и подходит для Claude Desktop и Cursor. Вместо uvx можно взять pipx или поставить пакет командой `pip install mcp-server-12306`.

Чем stdio отличается от HTTP-режима?

В режиме stdio клиент запускает сервер сам и общается с ним через стандартный ввод и вывод. HTTP-режим запускается командой `mcp-12306` как веб-сервис на порту 8000, клиенту указывают адрес `http://localhost:8000/mcp`. Для настройки есть `SERVER_HOST`, `SERVER_PORT`, `DEBUG` и `LOG_LEVEL`.

Какие параметры нужны для поиска билетов?

Для `query-tickets`, `query-ticket-price` и `query-transfer` нужны станция отправления `from_station`, станция прибытия `to_station` и дата `train_date`. Для `get-train-route-stations` еще `train_no`, номер поезда, который можно получить через `get-train-no-by-train-code`.

Как найти станцию, если я не знаю китайского названия?

Передайте в `search-stations` пиньинь, сокращенный пиньинь или трехбуквенный код станции: поиск нечеткий и охватывает не менее 3 382 станций.

Как запустить сервер в Docker?

Выполните `docker run -d -p 8000:8000 --name mcp-server-12306 drfccv/mcp-server-12306:latest`. Чтобы сменить порт, пробросьте другой внешний порт, например `-p 8080:8000`, и задайте `SERVER_HOST` и `SERVER_PORT` переменными окружения.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

MCP-сервер для поиска железнодорожных билетов на китайском 12306: расписание, фильтры поездов, пересадки и промежуточные станции

MCP-серверРасширенный доступ2,4 тыс.Звезды репозитория

MCP-сервер для Kaiten

mcp_server_for_kaiten

Российский стек

Простой MCP-сервер на Python для CRUD-операций с пространствами, досками и картами Kaiten

MCP-серверШирокий доступ
Российский стек

MCP-сервер для Kaiten: карточки, комментарии, пространства и доски с управлением детализацией ответов

MCP-серверШирокий доступ32Звезды репозитория
Российский стек

Однофайловый MCP-сервер на FastMCP для Kaiten: 22 инструмента для карточек, комментариев, чек-листов и учета времени

MCP-серверШирокий доступ1Звезды репозитория

MCP-сервер Trello на 57 инструментов: карточки, списки, чек-листы, вложения, комментарии, поля и рабочие пространства, плюс выгрузка критериев приемки

MCP-серверШирокий доступ448Звезды репозитория
Российский стек

MCP-сервер Travelpayouts, того же владельца что Aviasales: поиск дешевых авиабилетов, календарь цен и отели

MCP-серверРасширенный доступ

Коротко о README

Страница на китайском: таблица возможностей, три способа запуска (stdio, HTTP, Docker), список инструментов с обязательными параметрами, переменные окружения и структура проекта. В конце идут руководство разработчика и отказ от ответственности.

Бейдж для README

Сообщить о проблеме

Foxx AIMCP Server 12306
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.