Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Read-only Modbus TCP and OPC UA access to PLCs and industrial devices, with connection diagnostics
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"proxus": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/proxusiiotplatform/proxus-mcp:0.1.0-beta.7"
]
}
}
}ターミナルでこれを実行します
claude mcp add proxus -- docker run -i --rm ghcr.io/proxusiiotplatform/proxus-mcp:0.1.0-beta.7プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"proxus": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/proxusiiotplatform/proxus-mcp:0.1.0-beta.7"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"proxus": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/proxusiiotplatform/proxus-mcp:0.1.0-beta.7"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント proxusiiotplatform で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.0-beta.7)がレジストリに届いたのは6 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにDockerも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Recta
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Cheaper cross-chain stablecoin routes for AI agents; 5 % of the verified saving, nothing if none.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Gives AI assistants such as Claude Desktop, Cursor and VS Code read-only access to industrial devices. Supports Modbus TCP and OPC UA (Basic256Sha256, Aes128_Sha256_RsaOaep or Aes256_Sha256_RsaPss with Sign or SignAndEncrypt, or unsecured; anonymous or user-name login).
*Condensed from a real session against simulated devices (docs/demo.json). More at proxus.io/tools/industrial-mcp-server.*
| Tool | What it does |
|---|---|
list_devices | Configured devices, endpoint, ISA-95 path, connection state |
read_address | Raw registers or bits: hr:0, ir:10, coil:5, di:0 or 40001 |
watch_address | Polls a Modbus address for 1–60 s and summarises how it moved, decoded as uint16, int16, uint32, int32 or float32 in any byte order |
decode_registers | Up to 16 registers read every common way: int16/32, uint, float32 in ABCD/CDAB/BADC/DCBA, float64 in both word orders |
browse | Children of an OPC UA node (default: Objects folder) |
read_nodes | Up to 50 OPC UA variables with data type, quality, status code and source timestamp |
watch_nodes | Watches up to 20 OPC UA variables for 1–60 s through a subscription: every change, plus first, last, min, max and average |
diagnose_connection | Why a device can't be reached: name, TCP, protocol handshake, security and certificates, login, a test read, identity and clock, step by step with the next thing to try |
find_device_map | Searches the register map library by vendor, model or alias, e.g. PM5560 |
get_device_map | A map's registers (key, address, type, byte order, unit, scale), filtered by a search word |
read_named | Reads registers by key from the device's map and returns engineering values with units |
verify_device_map | Checks the device's map against the real device and prepares a hardware verification report (read-only) |
Nothing can write to a device.
With a register map the assistant reads voltage_l1_n instead of guessing that hr:0-1 is a word-swapped float. A map lists every register of a device model: address, data type, byte order, scale (fixed, or a SunSpec scale-factor register), unit and the meaning of enumerated values, with the vendor document it comes from. The binaries include the open Modbus Register Maps collection (energy meters, power analysers, drives, inverters); each release also attaches it as register-maps.json.gz.
Give a Modbus device its map in the configuration, by id or as the path of a map's JSON file:
"meter-1": { "protocol": "modbus-tcp", "host": "192.168.10.40", "map": "schneider-electric/pm5500-pm5600-pm5700" }
maps_dir adds maps (or replaces built-in ones with the same id) from a folder of JSON files, as python3 tools/maps.py build in the collection writes them. A map that does not exist stops the server at start-up with the reason. Maps tell the assistant how to read a register, never to write one: read_named only reads.
Most maps are transcribed from vendor documents. Ask your assistant to verify the device's map: verify_device_map reads every register once (read-only), checks that the values are plausible (floats, frequency, voltage, power factor, energy counters, model) and asks you to compare two values with the device's display. The result is a report and a link that opens a prefilled issue in the map collection; you submit it under your own GitHub account, and a bot adds you to the map's verified list. Nothing is sent without you, and the report holds check results only, no addresses, host names or serial numbers.
Set security_mode (sign_and_encrypt, sign or none) and security_policy (Basic256Sha256, Aes128_Sha256_RsaOaep or Aes256_Sha256_RsaPss) per device. Certificates live in pki_dir (default pki/ next to the configuration file), in the layout most OPC UA tools use:
| Folder | Holds |
|---|---|
own/ | This server's application certificate, created on first use (private key readable only by you) |
trusted/ | Server certificates you approved |
rejected/ | Server certificates seen but not approved |
Trust is never automatic, in either direction:
rejected/ and the tool answers with its SHA-256 thumbprint. Confirm the thumbprint with the server's administrator, then move the file to trusted/.BadCertificateUntrusted or BadSecurityChecksFailed, it has not trusted this client yet. proxus-mcp certificate --config prints this server's certificate file and thumbprint to trust on the server.Passwords never go in the configuration file: password_env names the environment variable that holds them. Errors carry the OPC UA StatusCode name, the specification's description and a suggested next step.
Download the archive for your platform from the releases page, unpack it, and point your MCP client at the proxus-mcp binary (see Claude Desktop below). Each archive has a .sha256 file next to it. The binaries are not code-signed yet: on macOS run xattr -d com.apple.quarantine proxus-mcp once after unpacking, and on Windows choose "More info, Run anyway" the first time.
proxus-mcp --version prints the version.
docker run -i --rm -v "$PWD:/config" ghcr.io/proxus-io/proxus-mcp:<version>
The image reads /config/proxus-mcp.json and speaks MCP over stdin/stdout, so an MCP client starts it with docker as the command and run -i --rm -v :/config ghcr.io/proxus-io/proxus-mcp: as the arguments. Devices on the host are reachable as host.docker.internal; on Linux add --network host to reach the plant network directly. Images are published for linux/amd64 and linux/arm64.
Needs the .NET 10 SDK. The protocol drivers come from the Proxus.Drivers NuGet packages (Apache-2.0).
dotnet publish src/Proxus.Mcp.Server -c Release -r osx-arm64 -o artifacts/osx-arm64
The result is one native file, artifacts/osx-arm64/proxus-mcp (about 10 MB).
Add to claude_desktop_config.json:
{
"mcpServers": { "proxus": { "command": "/absolute/path/to/proxus-mcp", "args": ["--config", "/absolute/path/to/proxus-mcp.json"] } } }
Copy proxus-mcp.example.json as a starting configuration.
dotnet test tests/Proxus.Mcp.Tests: unit tests, no devices needed.tests/smoke/run_all.sh: the published binary against Modbus and OPC UA simulators (see tests/smoke/README.md)..github/workflows/ci.yml) runs both and publishes Native AOT binaries for linux-x64, linux-arm64, win-x64 and osx-arm64.Apache-2.0, see LICENSE.