Skip to main content
Glama
Mzzj114

nt-mcp-server

by Mzzj114

nt-mcp-server

FRC NetworkTables データの読み取り、書き込み、監視を行うスタンドアロン MCP サーバーです。AI エージェントが NetworkTables プロトコルを介してロボットのネットワークテーブルと通信できるようにします。主な対象はローカルの RobotPy シミュレーション(127.0.0.1:5810 上の python -m robotpy sim)です。

依存関係は固定されています(fastmcp==3.4.7pyntcore==2026.2.2)。

サーバーの実行

uv run nt-mcp-server

または、uv のシムを使わずにチェックアウトから実行する場合も同様です:

python -m nt_mcp_server

サーバーは stdio 上で動作します。これは MCP クライアント(opencode など)がサーバーと通信する方法です。

Related MCP server: agent-comm

RobotPy シミュレーションの NetworkTables に接続

サーバーが有用なデータを読み書きできるようにするには、シミュレーションを先に起動しておく必要があります。シミュレーション専用のプロジェクトと venv から起動します:

cd <path-to-try-robotpy> && .venv\Scripts\activate && python -m robotpy sim

サーバーはデフォルトで 127.0.0.1:5810 に接続します。これはシミュレーションが待ち受けているアドレスです。

実機ロボットの NetworkTables に接続

ほとんどの場合、NetworkTables を記録し、MCP を使用して記録を分析するだけで十分です。

実機ロボットの NetworkTables にリアルタイムで接続する場合は、デバイスに 2 つのネットワークアダプターが必要です。1 つはインターネット用、もう 1 つはロボット通信用です。1 つの方法としては、ワイヤレスアダプターで Wi-Fi に接続し、イーサネットケーブルでロボットに接続します。あるいは、USB ネットワークアダプターを 2 つ目のアダプターとして使用します。どちらの場合も、デバイスのネットワークルーティングを設定する必要があるかもしれません。

NetworkTables を NDJSON に記録(オフライン)

nt-recorder CLI はライブの NT4 サーバーに接続し、値のイベントをタイムスタンプ付きの .ndjson ファイルに書き込みます。開発用ラップトップで実行し、シミュレーションまたはロボットから NT を読み取ります。ロボット側の変更は不要です。

uv run nt-recorder --prefixes /SmartDashboard/ --output-dir recordings

オプション:

  • --prefixes — 購読するトピックプレフィックス(デフォルト: /

  • --output-dir — 出力ファイルのディレクトリ(デフォルト: ./recordings

  • --duration — N 秒間記録して終了(デフォルト: Ctrl+C まで実行)

  • --team — サーバー IP/ポートの代わりにチーム番号で接続

  • --server-ip / --server-port — NT4 サーバーのアドレス(デフォルト: 127.0.0.1:5810

  • --identity — クライアントの識別文字列(デフォルト: nt-recorder

  • --quiet — stderr へのステータス出力を抑制

出力ファイルは nt-record-<YYYY-MM-DDTHHMMSSZ>.ndjson という名前になります(コロンなし、Windows 対応)。各行は {"time": float, "topic": str, "value": jsonable} です。終了コード: 0 正常終了、1 接続失敗、2 ディスク/IO エラー。

ツール

サーバーは 17 個のツール(ライブ 13 個 + オフライン 4 個)を公開します。すべてのライブツールの応答には connected フラグが含まれます。

ライブツール

ツール

説明

nt_connect

NT4 クライアントを起動し、ライブ接続を待ちます。{"connected": bool, "status": "connected" | "not connected"} を返します。

nt_disconnect

NT4 クライアントを停止し、永続的な購読を破棄します。{"connected": false, "status": "disconnected"} を返します。

nt_connection_info

接続状態を返します: {"connected": bool, "connections": [...]}

nt_get

1 つのトピックの JSON 正規化された値を返します。応答: {"connected": bool, "value": jsonable | null}

nt_get_multiple

要求されたすべてのトピックを返します。応答: {"connected": bool, "values": {topic: value}}

nt_get_info

トピックのメタデータを返します。応答: {"connected": bool, "info": {name, type_str, properties} | null}

nt_set

値を公開します。応答: {"connected": bool, "ok": bool, "warning": str | null}。型の不一致を拒否するには strict_type_check=True を追加します。

nt_set_multiple

すべての {topic: value} ペアを書き込みます。応答: {"connected": bool, "results": {...}, "warnings": {...}}

nt_list_topics

prefixregexwildcard でフィルタリングされたトピック名を一覧表示します。応答: {"connected": bool, "topics": [...]}

nt_subscribe

duration 秒間、プレフィックス配下の更新をサンプリングします。応答: {"connected": bool, "samples": {topic: [...] | summary}}sample_intervalchange_onlyformat="summary" をサポートします。

nt_start_subscription

永続的な購読を開きます。応答: {"connected": bool, "subscription_id": str, "started": bool}

nt_poll_subscription

永続的な購読からバッファリングされたサンプルを読み取ります。応答: {"connected": bool, "samples": {topic: [...]}}

nt_stop_subscription

永続的な購読を停止します。応答: {"connected": bool, "stopped": bool}

オフライン記録ツール

ツール

説明

nt_list_recordings

記録を一覧表示します。各エントリには idpathsize_bytesmodified(Unix 浮動小数点数)、modified_iso(UTC ISO-8601)が含まれます。

nt_get_recording_info

記録の再生時間、総サンプル数、トピック数、ファイルメタデータを返します。

nt_get_history

1 つのトピックのイベント履歴を返します。last_secondssample_intervalformat="summary" をサポートします。

nt_list_topics_offline

記録内の一意のトピック名を一覧表示します。prefixregexwildcard でフィルタリングできます。

nt_subscribe_offline

プレフィックス配下のすべてのトピックのイベントを返します。last_secondssample_intervalformat="summary" をサポートします。

オフラインツールは、NT_RECORDINGS_DIR 環境変数(デフォルト: ./recordings)で設定されたディレクトリから読み取ります。記録はローカルのみです。レコーダーは開発用ラップトップで実行され、シミュレーション/ロボットから NT を読み取ります。ロボット側の変更は不要です。

任意のエージェントに登録

このサーバーは git から実行可能な uvx パッケージであるため、任意の MCP クライアントがローカルチェックアウトや事前構築済みの venv なしで起動できます。必要に応じて実行します:

uvx --from git+https://github.com/Mzzj114/nt-mcp-server.git nt-mcp-server

または、コンソールスクリプトを一度インストールして、どこでも実行します:

uv tool install "git+https://github.com/Mzzj114/nt-mcp-server.git"
uvx nt-mcp-server

このエントリをエージェントの MCP 設定に追加します(ここでは opencode のプロジェクトレベル opencode.jsonc として示しています):

{
  "mcp": {
    "nt": {
      "type": "local",
      "command": [
        "uvx",
        "--from",
        "git+https://github.com/Mzzj114/nt-mcp-server.git",
        "nt-mcp-server"
      ],
      "enabled": true
    }
  }
}

プロジェクトルートから opencode mcp list で確認します: nt サーバーが接続済みとして表示されるはずです。

開発

  • .venv 内の Python 3.14.0 venv。依存関係は requirements.txt からインストール(fastmcp==3.4.7pyntcore==2026.2.2)。

  • テスト: uv run pytest tests/ -v

ライセンス

このプロジェクトは MIT ライセンスの下で提供されています。

Install Server
A
license - permissive license
B
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables AI agents to interact with the SpaceTraders API, managing agents, fleets, contracts, and trading operations in the SpaceTraders universe.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that enables AI coding agents to communicate, share state, and coordinate work in real time via MCP tools or REST API.
    130
    5
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server that injects verified FTC documentation and code examples into AI assistants, enabling teams to write correct, competition-ready Java robot code through natural language.
    3
    16
    2
    MIT
  • A
    license
    C
    quality
    C
    maintenance
    MCP server for Inductive Automation Ignition, enabling AI assistants to browse and write tags, query history and alarms, manage projects, and deploy Perspective views through natural language.
    43
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • Person-owned, portable AI memory as a remote MCP server, readable and writable by any MCP client.

  • Remote MCP server for The Colony — a social network for AI agents (posts, DMs, search, marketplace).

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mzzj114/nt-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server