プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

JMRI MCP

作者:HO44-PROJECTバージョン 1.0.0rc4i★ –iパソコンで動く
レジストリ名io.github.HO44-PROJECT/jmri-mcp

インストール

概要

作者による説明(英語の原文)

JMRI voice/chat control for DCC model railroads

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: チャット・メール

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • レジストリには、入力が必要なキーは載っていません。

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

作者の .mcpb ファイルをダウンロード

リンク先は作者自身のファイルです。私たちが置いたり再パッケージしたりしたものではありません。ファイルを開くと、Claude Desktopがインストールします。

ターミナルでこれを実行します

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント HO44-PROJECT で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

チャット・メールのほかのサーバーとの比較i

  • このカテゴリのほかの1834件のうち0%よりスターが多い
  • このカテゴリのほかの1834件のうち18%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの1834件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

JMRI MCPは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(1.0.0rc4)がレジストリに届いたのは4 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにMCPBも必要です。

代わりに使えるものは?

同じカテゴリには:Vexa, emailmd, MCP WhatsApp Cloud

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Vexa

作者:Vexa-ai

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

クラウドで動く★ 2,949Apache-2.02 か月前更新
インストール

emailmd

作者:anypost

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

パソコンでもクラウドでも★ 1,385MIT32 日前更新
インストール

MCP WhatsApp Cloud

作者:codespar

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

パソコンで動く★ 277MIT5 か月前更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

MrJ JMRI AI Assistant

*Version française*

License & attribution — please read before reusing this work.

This project is © HO44 PROJECT (MrJ) and licensed under AGPL-3.0-or-later (see LICENSE).

If you redistribute, modify, or republish any part of this project — jmri-core, jmri-cli, jmri-mcp,

the .mcpb/.codex.zip bundles, or the documentation — on this repository or anywhere else (a fork,

another platform, a package registry, a video, a write-up), you must:

- keep the original author credit (MrJ / HO44 PROJECT) and a link back to

this repository, and

- keep the same AGPL-3.0-or-later license on any redistributed or modified version.

Removing or hiding this attribution is not just bad etiquette — under AGPL-3.0 it is a

license violation, and it will be treated as one. See NOTICE.md for details.

Questions or general discussion: use GitHub Discussions.

Bug reports and feature requests: use Issues.

Talk to your model railroad.

Bring AI to your JMRI powered layout. Connect your favorite AI assistant and control your DCC model railroad using natural language through voice or chat.

Drive locomotives, control turnouts, operate signals, manage layout accessories, and more — just by asking.

Compatible with MCP clients such as Claude Desktop, Claude Code, xiaozhi, and other MCP-compatible AI assistants.

Features

MrJ JMRI AI Assistant provides:

  • Ready-to-use package for easy installation
  • Full documentation with setup guides and usage examples
  • A complete MCP (Model Context Protocol) server for JMRI integration
  • A command-line interface (jmri-cli) for direct control, scripting, and automation
  • 52 MCP tools exposing the main JMRI capabilities:
  • Power management
  • Locomotive throttles and functions
  • Roster management
  • Turnouts
  • Sensors
  • Layout lights
  • Signals
  • Blocks
  • Operating modes
  • Layout-wide meta tools (status overview, secure/night/day mode)

See the complete MCP tools reference in mcp-tools.md.

The goal is simple: make advanced JMRI control accessible to every model railroader, from casual operators to automation enthusiasts.

Built on real hardware, not just the JMRI docs

This project was developed against a real DCC++ layout with multiple command stations, and several of its behaviors exist specifically because live hardware doesn't always behave the way the JMRI API documentation implies:

  • Self-healing UNKNOWN power states. Re-sending a command station's *current* power state (a naive "set power ON" when it's already ON) is a known JMRI/DCC++ trap: it knocks the system into an UNKNOWN state instead of being a safe no-op. Every power command re-reads current state first and skips redundant POSTs — and if a genuine ON request still lands in UNKNOWN, it automatically recovers with an OFF → wait → ON retry sequence, rather than leaving the layout stuck.
  • Per-locomotive command station affinity. On a layout with more than one DCC connection, sending a locomotive's throttle commands to the wrong command station doesn't raise an error — it's just silently inaudible to the decoder. Roster entries can declare which connection they normally run on via a DccSystem custom attribute (set in JMRI's own Roster Entry → Edit → Attributes tab, e.g. DccSystem = T), and throttle acquisition reads it automatically to target the right station.
  • DCC connection and hardware address surfaced on every turnout, light, and signal. Listing a turnout, light, or signal reports which DCC connection actually drives it (resolved from its JMRI system name, e.g. OT23 → ohara (turnouts)) alongside its raw hardware address where JMRI exposes one (turnouts and lights; signal masts don't expose theirs via any JMRI API today, so that field is honestly reported as unknown rather than guessed).
  • Every write is confirmed by re-reading real state, never by trusting the response. Power, turnout, light, and signal commands all re-read JMRI's actual state after acting, and report exactly what was observed — including when that doesn't match what was asked for — instead of assuming a 200 response means the layout did what was requested.
  • Throttle state stays live even when driven from elsewhere. JMRI broadcasts every throttle change (speed, direction, functions) to all clients holding that locomotive — including other JMRI panels or a second MCP session — and this project's throttle cache is kept continuously in sync with that stream, not just with its own commands, so it never reports stale state after someone else drives the train.

What can I say?

Pick the page that matches what you want to do — each links to the next. Available in English and French:

  • 🚂 Conductor — just want to drive trains? Start here. English · Français
  • 🔧 Tinkerer — managing power, turnouts, signals, and the whole layout. English · Français
  • 🛠️ Engineer — full tool reference, CLI, scripting, and JMRI internals. English · Français

The conductor/tinkerer/engineer split is borrowed from DCC-EX, who came up with this framing first.

Installation

Getting started is designed to be simple.

See the installation guide for every install combination (CLI, Claude Desktop .mcpb, Kira bridge), configuration, and first commands.

Prefer a step-by-step walkthrough with screenshots? See the community Instructable: Control Your JMRI Railroad by Chatting With Claude.

AI Assistant Setup

  • Claude Desktop and Claude Code
  • Codex (ChatGPT)
  • xiaozhi / Kira

Command Line Interface

jmri-cli is a full-featured command-line client for your layout, talking to JMRI directly with no AI assistant or MCP client required — everything the MCP tools can do, a human can do too, from a terminal.

Run it bare with no arguments to open an interactive shell: a single persistent connection that keeps locomotives moving, lit, and acquired between commands (unlike a one-shot invocation, which releases every throttle the instant it exits). The shell adds real command-line ergonomics on top: up/down arrow command history persisted across sessions (~/.jmri-cli/shell_history), TAB completion across the entire command tree, ;-separated multi-command lines, a wait command to sequence a --hold and a following command, and a friendlier natural-language-ish sentence syntax for speed/direction (speed Autorail at 30 for 30 up 5 down 6 forward, or move Autorail forward at 30 for 30) alongside the regular flag-based form. select picks a locomotive for the rest of the session — the prompt switches to its name, and every command with an otherwise-optional or -mandatory loco argument (stop, speed 40, function-on F0, ...) targets it automatically until clear; a loco named explicitly on a line still overrides the selection for that one command. Exiting always leaves the layout safe: any locomotive still in motion gets a ramp-down-and-release prompt, and active functions (lights) are turned off before the connection closes, rather than being abandoned.

Every command also works one-shot from a plain terminal for scripting, automation, and quick manual checks or troubleshooting against a real layout.

See the CLI reference.

MCP Tools

The MCP server currently exposes 52 tools covering the main JMRI capabilities.

See the complete reference:

  • MCP Tools Reference

Status

v1.0

The project is fully functional and actively maintained.

Future improvements, feature requests, and roadmap items are tracked in the project board and the issues.

Requirements

  • Python ≥ 3.10 (developed on 3.12)
  • A running JMRI Web Server (tested with JMRI 5.4)

See docs/install.md for installation details.

Documentation

Getting started
  • [Installation guide](INSTALL.md) — every install combination (CLI, Claude Desktop .mcpb, Kira bridge), configuration, and first commands
  • [Developing on this repo](docs/install.md) — editable installs from a cloned copy, for working on the code itself
AI assistants
  • [Claude Desktop / Claude Code setup](docs/llm-setup-claude.md) — connect your AI assistant to JMRI
  • [Codex (ChatGPT) setup](docs/llm-setup-codex.md) — register the MCP server with OpenAI Codex
  • [xiaozhi / Kira setup](docs/llm-setup-xiaozhi.md) — expose JMRI control to voice assistants
Advanced users
  • [CLI reference](docs/cli.md) — jmri-cli command reference
  • [Exhibition mode](docs/exhibition.md) — restricted-safety mode for public demos
  • [Architecture](docs/architecture.md) — module design, JMRI clients, WebSocket implementation
  • [Testing](docs/testing.md) — mocked and live test suites, hardware safety configuration
  • [Resources](docs/resources.md) — references for JMRI, MCP, and xiaozhi/Kira
Project
  • [ACKNOWLEDGMENTS.md](ACKNOWLEDGMENTS.md) — thanks to the open-source projects this depends on
  • [CONTRIBUTING.md](CONTRIBUTING.md) — contribution guidelines and project conventions

Configuration

VariableDefaultDescription
JMRI_URLhttp://localhost:12080Base URL of the JMRI Web Server
EXHIBITION_PASSWORDthis is spartaPassword required to exit exhibition mode. See Exhibition mode.
EXHIBITION_ALLOWED_ADDRESSES(none)Comma-separated DCC addresses locomotives are restricted to while exhibition mode is on.
EXHIBITION_START_ON(off)If set to 1/true/yes/on, the server starts already in exhibition mode.

Credits

Built and maintained by [MrJ](https://github.com/HO44-PROJECT).

Questions, bugs, and feature requests are welcome via issues.

License

AGPL-3.0-or-later

Chosen deliberately over a permissive license (MIT/Apache) so that anyone who modifies this project and offers it as a network service (not just redistributes the code) must also publish their modified source.

See the license text for the exact terms, and NOTICE.md for what attribution is required when reusing this project.

Third-party code

xiaozhi_wrapper (part of the jmri-mcp package) is adapted from the MCP pipe example in xiaozhi-esp32 (MIT License, Copyright (c) 2025 Shenzhen Xinzhi Future Technology Co., Ltd.

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く