Skip to main content
Glama
Mzzj114

nt-mcp-server

by Mzzj114

nt-mcp-server

FRC NetworkTables 데이터를 읽고, 쓰고, 모니터링하기 위한 독립형 MCP 서버입니다. AI 에이전트가 NetworkTables 프로토콜을 통해 로봇의 네트워크 테이블과 통신할 수 있게 해 줍니다. 주요 대상은 로컬 RobotPy sim (python -m robotpy sim at 127.0.0.1:5810)입니다.

고정된 의존성 (fastmcp==3.4.7, pyntcore==2026.2.2).

서버 실행하기

uv run nt-mcp-server

또는 uv의 셔임 없이 체크아웃에서 실행하려면 동일한 방식입니다:

python -m nt_mcp_server

서버는 stdio에서 실행되며, 이는 MCP 클라이언트(예: opencode)가 대화하는 방식입니다.

Related MCP server: agent-comm

RobotPy sim NetworkTables에 연결

sim은 서버가 유용한 정보를 읽거나 쓰기 전에 실행 중이어야 합니다. 자신의 프로젝트와 venv에서 시작하세요:

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

서버는 기본적으로 127.0.0.1:5810에 연결되며, sim이 수신 대기하는 주소입니다.

실제 로봇 NetworkTables에 연결

대부분의 경우 NetworkTables를 기록하고 mcp를 사용하여 녹화를 분석하세요.

실시간으로 실제 로봇의 NetworkTables에 연결하려면 장치에 네트워크 어댑터가 2개 필요합니다: 하나는 인터넷용, 다른 하나는 로봇 통신용입니다. 한 가지 방법은 무선 어댑터로 Wi-Fi에 연결하고 이더넷 케이블로 로봇에 연결하는 것입니다. 또는 USB 네트워크 어댑터를 두 번째 어댑터로 사용할 수 있습니다. 두 경우 모두 장치의 네트워크 라우팅을 구성해야 할 수 있습니다.

NetworkTables를 NDJSON으로 기록 (오프라인)

nt-recorder CLI는 라이브 NT4 서버에 연결하여 값 이벤트를 타임스탬프가 찍힌 .ndjson 파일에 씁니다. 개발 노트북에서 실행되며 sim 또는 로봇에서 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 — 클라이언트 ID 문자열 (기본값: nt-recorder)

  • --quiet — stderr에 상태 출력 억제

출력 파일은 nt-record-<YYYY-MM-DDTHHMMSSZ>.ndjson 이름으로 지정됩니다 (콜론 없음, Windows-safe). 각 줄은 {"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

한 개 토픽의 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

prefix, regex, 및/또는 wildcard로 필터링된 토픽 이름을 나열합니다. 응답: {"connected": bool, "topics": [...]}.

nt_subscribe

duration 초 동안 접두사 아래의 업데이트를 샘플링합니다. 응답: {"connected": bool, "samples": {topic: [...] | summary}}. sample_interval, change_only, format="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

기록을 나열합니다. 각 항목에는 id, path, size_bytes, modified (Unix 실수), 및 modified_iso (UTC ISO-8601)가 포함됩니다.

nt_get_recording_info

기록의 기간, 총 샘플 수, 토픽 수, 파일 메타데이터를 반환합니다.

nt_get_history

하나의 토픽에 대한 이벤트 기록을 반환합니다. last_seconds, sample_interval, format="summary"을 지원합니다.

nt_list_topics_offline

기록에서 고유 토픽 이름을 나열하며, prefix, regex, 및/또는 wildcard로 필터링합니다.

nt_subscribe_offline

접두사 아래 모든 토픽에 대한 이벤트를 반환합니다. last_seconds, sample_interval, format="summary"을 지원합니다.

오프라인 도구는 NT_RECORDINGS_DIR 환경 변수 (기본값: ./recordings)로 지정된 디렉토리를 읽습니다. 기록은 로컬 전용입니다 — 기록기는 개발 노트에서 실행되고 sim/로봇에서 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.7, pyntcore==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